canonical: https://jentic.com/apis/googleapis.com/checks

# Google Checks API

Google Checks is a privacy and AI safety compliance platform that scans mobile apps and AI-generated content for policy and regulatory issues, and the Checks API exposes its scan, report, and AI safety classification capabilities programmatically. It supports app privacy reports for Android and iOS bundles, repository scans, AI content classification against safety policies, and management of long-running operations. Product and security teams use it to add automated compliance gates to release pipelines.

## For AI agents

Run privacy and compliance scans on mobile app bundles, classify AI-generated content for safety, and retrieve scan reports through the Google Checks platform.

## Scope

Does not handle runtime device attestation, malware detection, or app distribution - use for privacy scans, AI safety classification, and repository scans only.

## Capabilities

- Upload an app bundle for analysis and trigger a privacy and compliance scan
- Classify text or media content against AI safety policies in real time
- List and retrieve detailed scan reports for an app or repository
- Generate scans against a configured source code repository
- Track long-running scan operations and cancel or wait on them
- Retrieve historical scan results for trend analysis across releases

## Use cases

### Pre-Release Privacy Compliance Gate

Mobile teams add a CI step that uploads each release candidate APK or AAB to Checks via /v1alpha/{parent}/reports:analyzeUpload, waits for the analysis to finish, and fails the build if high-severity privacy or policy issues are detected. This catches issues like undisclosed SDKs and missing data-safety declarations before submission to Google Play. The integration replaces ad hoc manual reviews.

Example prompt: Upload an AAB to /v1alpha/{parent}/reports:analyzeUpload and poll the returned operation until done is true, then return the highest-severity finding.

### Realtime AI Safety Classification

Teams shipping LLM features classify generated text and media against Google's AI safety policies before returning content to end users. The aisafety:classifyContent endpoint returns category labels and severity so the application can block, redact, or surface a warning. This is a synchronous call suitable for inline moderation.

Example prompt: POST to /v1alpha/aisafety:classifyContent with the candidate output and return any policy categories with severity HIGH.

### Repository Scan Automation

Security teams connect a source repository to Checks and trigger scans on demand or on a schedule. The API's scans:generate operation kicks off a scan and the scans.list endpoint enumerates results for dashboards. This lets teams track trend lines for code-level privacy and policy issues across many repos.

Example prompt: POST to /v1alpha/{parent}/scans:generate for the connected repository and list the resulting scans for the account.

### AI Agent Compliance Reviewer via Jentic

An AI agent through Jentic handles compliance triage - running a Checks scan, parsing the highest-severity issues, classifying any AI-generated text returned by another tool, and posting a summary back to the team. Jentic isolates the Google Cloud OAuth credentials so the agent never touches the service account key.

Example prompt: Through Jentic, search checks_classify_content, load schema, and execute it with the candidate response text and return the matched policy categories.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /v1alpha/aisafety:classifyContent | Classify content against AI safety policies |
| POST | /v1alpha/{+parent}/reports:analyzeUpload | Upload an app bundle and start a privacy scan |
| GET | /v1alpha/{+parent}/reports | List app privacy and compliance reports |
| POST | /v1alpha/{+parent}/scans:generate | Generate a new repository scan |
| GET | /v1alpha/{+parent}/scans | List repository scans |
| POST | /v1alpha/{+name}:wait | Wait on a long-running operation |

## Key resources

- **App Reports** — Upload app bundles and retrieve privacy and compliance reports
- **Repository Scans** — Generate and list scans against connected source repositories
- **AI Safety** — Classify text and media content against AI safety policies
- **Operations** — Track, wait on, and cancel long-running scan operations

## Why Jentic

- **Setup:** Wiring the Checks API by hand means setting up Google Cloud service account auth with the cloud-platform scope, minting scoped access tokens, and polling report and scan operations to completion yourself. Through Jentic you install once, import the Checks API from the API Directory, store the service account credential once, and your agent calls it.
- **Permission scoping:** The report and scan operations put the project in the URL path (/v1alpha/{+parent}/reports, /v1alpha/{+parent}/scans:generate), so a rule can pin your agent to one project while it also runs the stateless aisafety classifier. Limit it to the operations it needs, such as classifyContent or analyzeUpload, and other operations are not included unless you add them.
- **Credential handling:** Your Google Cloud service account credential with the cloud-platform scope is stored once, encrypted, by your own Jentic One instance and injected at execution time. The agent receives only short-lived access tokens and the service account JSON never enters its prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'classify generated text for AI safety', and Jentic returns the aisafety classifyContent operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Play Integrity API** — Verify that an app and device are genuine at runtime, complementing Checks' static scans.
- **Google Play Android Publisher API** — Publish the AAB to the Play Store after Checks confirms it passes compliance gates.
- **Safe Browsing API** — Check URLs against Google's threat lists rather than scanning app bundles.

## FAQ

### What authentication does the Checks API use?

It uses OAuth 2.0 with the cloud-platform scope on a Google Cloud project that has Checks enabled. Through Jentic, that credential lives in your Jentic One instance and the agent receives only short-lived scoped access tokens.

### Can I scan an Android AAB through the Checks API?

Yes. POST the bundle to /v1alpha/{parent}/reports:analyzeUpload as a media upload. The call returns a long-running operation; poll the operation under /v1alpha/{+name} until done is true and read the report from the response.

### What are the rate limits for the Checks API?

Checks is in v1alpha with conservative per-project quotas - typically tens of scans per day and hundreds of aisafety:classifyContent calls per minute. Higher quota requires a request through the Google Cloud console.

### How do I classify AI-generated content through Jentic?

Use the Jentic search query "classify content for AI safety" to discover the aisafety.classifyContent operation, load its schema, and execute it with the input content. Run pip install jentic to get started.

### Is the Checks API stable?

The current surface is v1alpha, meaning fields and endpoints can change without long deprecation windows. Pin to a specific spec version and re-validate against new releases before upgrading.

### Is the Checks API free?

Checks offers a free tier covering a fixed number of app scans and AI safety classifications per month, with paid tiers for higher volume. See the Google Checks pricing page for current details.

### Can I limit what my agent is allowed to do with the Google Checks API?

Yes. Because you run Jentic One yourself, your own rules decide which Checks operations and credentials the agent may use, so you can allow only what a task needs, such as aisafety:classifyContent or reports:analyzeUpload, and leave every other operation off unless you add it. Since the report and scan operations carry the project in the URL path (/v1alpha/{+parent}/reports and /v1alpha/{+parent}/scans:generate), a rule can also pin the agent to a single Google Cloud project while it still runs the stateless AI safety classifier. The service account credential stays in your instance, and the agent only ever calls the operations you have granted it.
