安全Reference
The safety model
Adako is an MCP server and REST API that connects Claude, ChatGPT, Cursor and other assistants to Google Ads, Meta Ads, ChatGPT Ads and LinkedIn Ads. An assistant can be wrong. The system around it decides how much that costs.
A write arrives pending. It stays that way until you approve it, or until it expires 48 hours later.
1. Everything is created paused
Whatever Adako creates starts behind a paused switch, always. There is no flag to skip it. A new campaign is created paused. The ad groups, ad sets and ads created with it are active inside that paused campaign, and a paused campaign delivers nothing, so turning the campaign on is the whole launch. An ad set or ad group added to a running campaign is created paused itself, and so is an ad added to a running ad group. You turn on spend in the platform, in Adako’s campaign manager, or by asking for a resume, which is itself a proposal.
LinkedIn has one more case. A creative added to a campaign that is already running is created as a draft, because LinkedIn refuses a paused creative before review, so it too waits for you.
2. Every write becomes a proposal
A write never goes straight to the platform. It goes through five steps:
- Dry run. The exact request is built and checked without changing anything. Google Ads and Meta run it in their own validate-only mode, where the platform applies its rules and creates nothing. On a campaign built in several steps, Meta can only check the parts whose parent already exists, so the rest is checked against Adako’s own copy of the platform’s rules before the first step runs.
- Preview. You get a summary, a field-level diff (before and after), the expected impact and any warnings.
- Approval. Under
directpolicy your confirmation in the chat is the approval. Underinboxthe proposal waits on the Approvals page. - Execution, once. Every proposal carries an idempotency key and is claimed atomically. A retry from a flaky connection, an impatient client or a second tab cannot execute it twice.
- Read-back. Adako re-reads the object and reports what exists, not what it sent.
A pending proposal expires after 48 hours. Expired proposals never run.
Over MCP each platform has two routers. The read router (google_ads) only looks things up and never changes an account. Every change goes through the write router, google_ads_write. An assistant that asks permission per tool can allow the read router once and still ask before each change.
3. Almost nothing deletes
Pausing never routes to a removal. Eight of the 203 tools exist to remove something, and each one refuses to run without an explicit confirmation flag in the call:
google_remove_negative_keywords,google_remove_asset_links,google_remove_search_themes,google_remove_labellinkedin_delete_creative,chatgpt_archive_campaigndelete_monitor, andmanage_scheduled_taskwhen the action is delete. Both are Adako settings; nothing on the ad platform changes.
Three targeting tools can also drop entries, and they need no confirmation flag. google_update_campaign_locations removes the locations you name. google_update_campaign_languages and google_set_ad_schedule replace the whole set, so anything left out of the call is dropped. Their preview lists every entry that goes, and like any change they wait for approval.
Meta Ads has no removal tool at all. Everything else stops by being paused, which keeps the object and its history.
4. Numbers stay in your currency
Money at the tool boundary is a decimal number in the account currency, never micros or cents. IDs are strings, so nothing is mangled by rounding. Dates are exact; a report never silently shifts a window.
5. Free text never reaches a write
Locations, interests and audiences are resolved to platform IDs by a separate read tool before any write can use them. If a name is ambiguous, Adako lists the candidates and stops.
6. Tokens stay on the server
Platform tokens and keys are encrypted with AES-256-GCM under a separate key for each connection, and that key is itself encrypted with a master key. They are stored server-side and decrypted only for the call that needs them. Each decryption leaves an audit row. The MCP server never forwards a platform token to a client, and arguments are redacted before they are logged.
7. One account per change
A read can fan out: one call across several accounts at once, free like every read, at most 20, with the results grouped per account and per currency. A write never does. The write routers take no accounts at all, so a change always names one object in one account. See the tool surface.
8. What a monitor may do
A monitor evaluates once a day against Adako’s own copy of the account. When it fires it emails you, and if it carries an action it creates a proposal: pause that campaign, or lower that budget. It never executes. You approve it like any other write. Monitors, scheduled briefs and generated reports need the Pro plan or above.
9. Every call is on the record
Each tool call is recorded with its tool name, status, duration and cost. You can read the recent ones on Usage, and every proposal keeps its preview, decision, result and read-back.
Account safety
Adako reaches your ad accounts only with access you grant, only through the APIs each platform publishes for apps, and at the pace the platform allows. Every change still goes through the steps above: created paused, previewed, approved by you, sent once, read back and recorded.
Official APIs only
| Platform | API Adako calls | How you grant access |
|---|---|---|
| Google Ads | Google Ads API | Sign in with Google and allow Google Ads access |
| Meta Ads | Marketing API | A token from your own Meta app (token guide) |
| LinkedIn Ads | LinkedIn Marketing API | Sign in with LinkedIn and allow the advertising permissions |
| ChatGPT Ads | ChatGPT Ads advertiser API | An advertiser API key you create and paste |
Adako never asks for a platform password. It does not sign in to an ads manager as you, drive a browser, scrape pages or call private endpoints.
Pacing
- Meta Ads. Every Marketing API answer says how much of the ad account’s usage allowance is spent. At 70%, or as soon as Meta starts blocking, Adako stops calling that account until Meta’s window resets.
- Google Ads. Google gives Adako’s API access a set number of operations a day. Adako counts every one and stops before the allowance runs out. The count resets at midnight UTC.
- Platform rate limits. When a platform says it is rate limiting an account, Adako passes on the wait time, if the platform gave one, and tells your assistant to wait and try once more, never to loop.
- Your calls. One Adako account can make 60 tool calls a minute. A read across several ad accounts runs them one after another, not all at once.
- Background work. Monitors and briefs read Adako’s stored daily history, so they add no platform calls. The daily sync works through accounts one at a time.
Retries
A change is sent once. If it fails on the way, Adako does not send it again, and an identical create on the same day is refused until your assistant has checked what already exists. A read that never reached the platform gets one more try. Nothing else is retried on its own.
When a platform restricts an account
Adako does not work around a platform’s decision. When a platform refuses a call, for example because an account is disabled, a permission is missing or an ad breaks a policy, your assistant gets the platform’s reason and the next step, and Adako does not retry the call.
When a token expires or access is revoked, Adako marks the connection needs re-auth. Calls on it ask you to reconnect, the daily sync skips it, and your other platforms keep working.
What stays with you
- You are the advertiser. Your ads must follow each platform’s advertising policies, and you pay the platform for ad spend. Adako never holds or pays your budget.
- Connect only accounts you own or are allowed to manage.
- Read a proposal before you approve it. Your assistant writes the analysis and the ad copy, and it can be wrong.
- A platform can reject a change or restrict an account for its own reasons. Adako cannot overturn that.
The Terms of Service set this out in full.
Agency data flow
How client data moves when an agency runs client ad accounts through Adako: who grants access, what is kept, and who sees it.
Who grants access
Adako uses the access your platform login already has. The usual setup: the client shares the ad account with the agency on the platform, and the agency connects its own login.
- Google Ads. Link client accounts to your manager account. Adako lists the accounts under it, two levels deep, and calls each one through the manager. The manager account itself cannot be turned on.
- Meta Ads. The client shares the ad account and Page with your business portfolio. Give both to the system user whose token you paste.
- LinkedIn Ads. Adako lists every ad account your LinkedIn login has a role on.
- ChatGPT Ads. One advertiser key is one account. Paste a key for each client account.
Connecting lists every account the login can reach, with its ID, name, currency and time zone. Adako works only on the accounts you turn on. An account you leave off is not read, changed or synced.
Each connection belongs to the one Adako account that made it. A client who wants to hold the connection themselves can open their own Adako account and connect there.
What Adako keeps and who sees it
| Data | Kept | Who sees it |
|---|---|---|
| Platform tokens and keys | Encrypted, until you disconnect | Only Adako’s servers, for the call that needs them. Never your assistant. |
| Account list: ID, name, currency, time zone | Until you delete your Adako account | You and your assistant |
| Daily metrics of the accounts you turned on | 90 days, rolling | You and your assistant, through reports, monitors and briefs |
| Live answers: campaigns, search terms, ad copy, audiences | Not kept, apart from short caches | Your assistant, as the answer to its call |
| Proposals: request, preview, decision, result, read-back | Until you delete your Adako account | You on Approvals, and your assistant |
| Tool-call records: tool, time, status, account, arguments without tokens or email addresses | Until you delete your Adako account | You, on Usage |
| Monitors, briefs and reports | Until you delete them or your Adako account | You, by email and in the app, and your assistant |
| Meta lead form answers | Not stored | Your assistant, when it asks for them |
What your assistant receives is then handled by its provider, under that provider’s own terms. Alerts, briefs and reports go to the email address on your Adako account, not to the client. Adako’s database is in the United States. The Privacy Policy lists every provider and how long each record is kept.
Separation between Adako accounts
Every connection, ad account, proposal and synced record belongs to one Adako account. A tool call reaches only the ad accounts turned on in the Adako account that made it. If two Adako accounts connect the same ad account, each keeps its own connection and history.
Inside one Adako account, your assistant can reach every ad account you turned on, and one read can cover up to 20 of them. A change always names one account. If one client’s data must never appear next to another’s, keep them in separate Adako accounts.
When a client leaves
- Turn their accounts off on Accounts. Adako stops reading, changing and syncing them.
- If the login reaches only that client, disconnect it. Adako erases the stored tokens at once, turns the accounts off and asks Google to revoke its access (Meta too, if you connected with Facebook login). For LinkedIn, a pasted Meta token or a ChatGPT Ads key, also remove the access on the platform.
- Their campaigns stay exactly as they are. Adako changes nothing on the way out.
- The synced history, proposals and records of those accounts stay in your Adako account until you delete it, or until you ask support@adako.ai to remove them.
- Deleting your Adako account in Settings deletes all of it, as the Privacy Policy describes.
For a data processing agreement, write to support@adako.ai.
What Adako will not do
- Change a budget, bid or status without a proposal.
- Invent an account ID, a conversion number or a benchmark.
- Retry a create after a timeout.
- Write ad copy on the server. Your assistant writes it; Adako only checks it against the platform limits.
- Reach an ad account through anything but the platform’s own API.