Google API Disclosure
This page discloses how Talon accesses Google APIs, what data is involved, how that data is handled, and how to revoke access. It is referenced from Google's OAuth consent screen and the Google Ads API Standard access application.
Contents
1. Operator and contact
Talon is operated by Hunyuan Group Co., Limited (混元集團有限公司), a private company limited by shares incorporated in Hong Kong, CR Number 78425977 (incorporated 8 July 2025). The company is registered with the Hong Kong Companies Registry under the Companies Ordinance (Chapter 622 of the Laws of Hong Kong). The registration is publicly verifiable at the Integrated Companies Registry Information System (ICRIS):
- Registry URL: https://www.icris.cr.gov.hk/csci/
- Search by Company Number:
78425977
For any question about this disclosure or about Talon's handling of Google user data, contact:
- Email: google-ads-api@zokedo.com
- Sales / general: info@zokedo.com
- Privacy policy: /privacy.html
- Terms of service: /terms.html
2. Google APIs accessed
Talon uses the following Google APIs on behalf of an authenticated user who has explicitly authorized the connection:
| API | Capability | Used for |
|---|---|---|
| Google Ads API | Read and manage Google Ads entities | Campaigns, ad groups, ads, keywords, assets, audience signals, conversion actions, performance reports |
| Google Analytics 4 Admin API | Manage GA4 properties | Property listing, data streams, key events, Measurement Protocol |
| Google Analytics 4 Data API | Run reports | Cross-account analytics reporting |
| Google Search Console API | Read and submit URLs | Search analytics, URL inspection, sitemaps, Indexing API |
| Google Tag Manager API | Manage containers | Tags, triggers, workspaces, versions, publish |
| PageSpeed Insights API | Read performance metrics | Lighthouse audits, Core Web Vitals |
| Google Site Verification API | Verify domain ownership | Required by some Search Console operations |
| Indexing API | Submit URLs for indexing | Faster indexing for jobs published via Talon |
3. OAuth scopes requested
Talon requests only the scopes needed to call each API. The full set:
| Scope | Granted to |
|---|---|
https://www.googleapis.com/auth/adwords | Google Ads API |
https://www.googleapis.com/auth/analytics.readonly | GA4 read-only reporting (default; Analytics edit is opt-in) |
https://www.googleapis.com/auth/analytics.edit | GA4 admin and write — requested only when the user runs an admin tool |
https://www.googleapis.com/auth/webmasters.readonly | Search Console read |
https://www.googleapis.com/auth/tagmanager.readonly | Tag Manager read |
https://www.googleapis.com/auth/tagmanager.edit.containers | Tag Manager write — opt-in |
https://www.googleapis.com/auth/siteverification | Domain verification |
https://www.googleapis.com/auth/indexing | Submit URLs for indexing |
Talon never requests scopes outside advertising and analytics, including: drive, gmail, calendar, contacts, photos, youtube.
4. Data flow
- The user clicks Connect Google Ads in the Talon dashboard.
- The browser opens Google's OAuth consent screen on
accounts.google.com. - Google returns an authorization code to the configured OAuth redirect URI.
- Talon exchanges the code for an access token and a refresh token, both bound to the user.
- The refresh token is Fernet-encrypted with a per-deployment key and stored in the user's vault row in PostgreSQL.
- On every subsequent API call, Talon decrypts the refresh token, exchanges it for a short-lived access token, and calls the Google API on behalf of the user.
- The access token is never logged. Tokens are never sent to any server other than Google's token endpoint and the Google API being called.
5. Use case for Google user data
Talon accesses Google user data exclusively to operate the documented features of the product: read and write Google Ads entities (campaigns, ad groups, keywords, ads, assets, conversion actions), run analytics reports, inspect URLs in Search Console, manage Tag Manager containers, and submit URLs for indexing. The data is used solely to execute the operation the user initiated through the AI client.
6. Limited Use compliance
Talon accesses Google APIs on behalf of the user who explicitly authorized the connection. Talon's use of data received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. Specifically:
- We do not transfer Google user data to third parties except as necessary to provide the requested feature (e.g., relaying an API response back to the calling MCP client on the user's machine).
- We do not use Google user data for serving advertisements.
- We do not use Google user data for profiling, behavioral analysis, or sale.
- We do not use Google user data outside the scope of the documented Talon features.
- We do not use Google user data to train artificial intelligence or machine-learning models.
- We do not allow humans to read Google user data except when the user explicitly files a support request and consents to inspection of the relevant tool-call logs.
7. Storage and retention
- Refresh tokens are Fernet-encrypted (AES-128-CBC + HMAC-SHA256) with a per-deployment symmetric key. The key is stored outside the database. Plaintext tokens never appear in logs, audit output, or backups.
- Access tokens are not persisted. They are exchanged at call time and discarded after the HTTP request returns.
- API responses are returned to the calling MCP client over the local network. They are not cached on the server beyond the lifetime of the request, except where a feature explicitly caches results (e.g., an LRU cache for credential resolution). Cached responses are scoped per user and evicted within 60 seconds.
- Audit log entries record who called which tool, when, and which Google Ads resource was targeted. They do not record response payloads.
- Retention: refresh tokens live until the user revokes the connection from their Google account, deletes the corresponding vault row, or the encryption key is rotated and re-authorization is forced.
8. Sharing and transfer
Talon does not sell, rent, or otherwise commercially share Google user data with third parties. Google user data is transferred only to:
- The user's MCP client (the AI tool that initiated the call), which lives on the user's own machine.
- The Google API endpoint the user is calling.
- Sub-processors required to operate the service (currently: the cloud provider hosting the Talon server, and the static-site host for
zokedo.com). Sub-processors receive only operational metadata (request log lines), not Google user data.
No cross-tenant aggregation. No cross-customer analytics. No data warehousing. No sale, lease, or trade of Google user data, derived or otherwise.
9. Security measures
- TLS 1.3 at the edge (Caddy + Let's Encrypt). HSTS enabled.
- Fernet (AES-128-CBC + HMAC-SHA256) for token encryption at rest.
- Per-deployment symmetric key stored outside the database (Docker secret, environment variable, or KMS).
- Bearer-authenticated MCP API; per-user API keys (avk_…) resolved by the dashboard-api.
- Rate limiting at the edge; exponential-backoff retries on 429 / 503 from Google APIs.
- Append-only audit log with timestamp, user_id, client_id, target resource, and field diff.
- No public repository. No community edition. Source shipped only to licensed customers under NDA.
10. Use for advertising
Talon does not use Google user data to serve advertisements to the user, to target the user with advertising on any other property, or to build advertising audiences. The tool exists to help the authenticated user manage their own advertising accounts — it does not consume Google user data for ad-tech purposes.
11. How to revoke
You can revoke Talon's access at any time. Either method is sufficient:
- From your Google account: visit myaccount.google.com/permissions, find Talon, and click Remove access. Google invalidates the refresh token; subsequent Talon tool calls will return 401 until the user re-authorizes.
- From the Talon dashboard: Settings → Accounts → Disconnect. Talon deletes the encrypted refresh token from its vault immediately.
Either action is immediate and irreversible from Talon's side. To reconnect, repeat the OAuth flow.
12. Changes to this disclosure
We will update this page when scopes change, when a new Google API is added, or when the data flow changes materially. The effective date at the top of the page reflects the current version.
Effective date: 2026-07-14. Last updated: 2026-07-14.