Access, actions and limits
HeyMetra asks to connect to accounts you already run your business on. This page says what it can do with them, what it cannot, and where the boundaries are enforced. The limits below are values in our code, not intentions.
Reading and writing are separate decisions
“Read my spend” and “change my spend” are different questions, so they are different authorisations. Each connector has a read connection and, separately, a write connection you grant only if you want approved actions. They look different on the provider’s own consent screen too, because they are different grants — not one connection with a flag on it.
Connect an account read-only and HeyMetra will answer questions about it and never be able to touch it, regardless of what you ask for in chat.
The approval gate
When the agent decides a change would help, it does not make it. It proposes it — the exact edit, the current value, the proposed value, and how to reverse it — and waits. Nothing reaches your account until you approve that specific proposal.
What you approve is recorded as a payload and that payload is what runs. The model does not get a second turn to decide what to call after you click approve, which is the part that makes the gate worth anything: you are approving an action, not approving the agent’s intentions.
Hard limits on a single action
These are checked before an approval is even offered to you, so an action that would exceed one is refused rather than queued.
| Limit | Value | Why |
|---|---|---|
| Budget change in a single action | ±50% | An agent able to triple a budget in one call is one bad inference away from an expensive afternoon, and your only recourse would be a refund request to the ad platform. Larger moves are legitimate — they should just be made by a person. |
| Absolute budget ceiling per change | 10,000 in the account currency | A ratio check alone still allows a large absolute jump on an already-large budget. |
| Campaigns touched per action | 5 | Keeps the blast radius of any single approval small enough to review properly. |
| Write actions per day, per workspace | 20 | A runaway loop stops within a day’s worth of damage. The counter is read from the audit log, not from memory. |
| How long an approval stays valid | 30 minutes | The numbers behind an approval card go stale. An approval left open overnight would apply a decision made against yesterday’s data. |
Budget figures carry no currency symbol on purpose — connected accounts report in their own currency, and printing the wrong symbol is worse than printing none.
Credentials
Where a provider supports OAuth, you sign in on their site and we never see the password. Access tokens and any API key you paste in are stored encrypted, are never displayed back to you, and are never written to logs. You can revoke access from the provider’s side at any time and the connection stops working immediately — nothing about that depends on us.
Your data
HeyMetra does not copy your accounts into a warehouse. Data is read at query time to answer the question in front of it. It is not used to train a model — ours or anyone else’s — and the model providers we route through are contractually bound to the same. The Privacy Policy names every sub-processor involved, including the LLM providers, rather than describing them in the abstract.
Every action is written to an audit log, which is also where the daily write counter is read from, so the record and the enforcement cannot disagree.
Questions this page does not cover
If your evaluation needs something specific — a particular control, a data residency requirement, a compliance questionnaire — send it to us and we will answer it directly rather than guess at it here. Knowing which requirement matters to you is genuinely useful to us.
Frequently asked
Does HeyMetra need write access to my ad accounts?
Not to answer questions. Read access is enough for that, and it is a separate authorisation from write access — you can connect an account read-only and never grant the second one. Write access is only needed if you want the agent to be able to apply changes you approve.
Can HeyMetra change something without asking me?
No. Every write goes through an approval gate, and what you approve is recorded as an exact payload — the model does not get to decide again after you click approve. If the numbers behind the proposal have moved, the approval expires after 30 minutes rather than applying stale intent.
Does HeyMetra store my passwords?
No. Connections that use OAuth are authorised on the provider’s own sign-in screen, so we never see the password. Access tokens and any API key you paste in are stored encrypted, and are never shown back to you or written to logs.
Is my data used to train a model?
No. Your data is read at query time to answer your question and nothing else. The model providers we route through are contractually bound not to train on it. The Privacy Policy names each of them.
What happens if the agent gets something wrong?
For a read, nothing lasting — you re-ask and the mistake evaporates. For a write, the proposal is what you see before anything happens, and it tells you the current value, the new value and how to reverse it. If a proposal would exceed one of the limits above, it is refused before you are ever asked to approve it.
Something here not answered? Ask us — security questions reach a person, not a form.