Last updated: 13 August 2026
This policy covers AdsPilot, an open-source MCP server that connects an AI assistant to a Google Ads account. It applies to the software as published in its repository and to any hosted instance run from unmodified source.
AdsPilot is self-hosted software. Whoever operates an instance is the data controller for that instance; this document describes what the software itself collects, stores and transmits, so both operators and their users know exactly what is at stake.
| Data | Where | Protection | Why |
|---|---|---|---|
| Google OAuth refresh token | Operator's SQLite database | Encrypted at rest (AES-256-GCM, key derived via scrypt) | Calling the Google Ads API on the user's behalf |
| Google account subject ID and email | Operator's SQLite database | Plaintext row data | Binding each session and API key to exactly one user |
| API key | Operator's SQLite database | Stored only as a SHA-256 hash | Authenticating the user's MCP client |
| Per-user settings (budget ceiling, write permission) | Operator's SQLite database | Plaintext row data | Enforcing the user's own guardrails |
In local (stdio) mode there is no database at all: credentials live in the user's own
.env file on their own machine.
AdsPilot accesses Google user data (the adwords OAuth scope) strictly to
execute the requests the authenticated user makes through their own MCP client —
reading reports and managing campaigns in accounts that user already controls. Use of
data received from Google APIs adheres to the
Google API Services User Data Policy,
including its Limited Use requirements.
Users can revoke AdsPilot's access at any time at myaccount.google.com/permissions; revocation immediately invalidates the stored refresh token.
On a hosted instance, disconnecting your account deletes the stored refresh token. Because the software is AGPL-licensed, every hosted instance must offer its users the Corresponding Source, so what an instance does with data is always inspectable.
Questions about this policy or the software: open an issue at github.com/Xaena53/google-ads-mcp or write to bedometom@gmail.com.