Security: what Graine does, what you do
The shared-responsibility split for each way of running Graine — shared cloud, a dedicated instance, and your own compute with our control plane — what Graine runs, what stays yours, and the rules on your own calls.
Security on a voice platform is shared. Graine runs the platform and protects the data it holds for you; you decide who may use your workspace, what you send to your agents, and how you call people. Which side holds which control depends on how Graine is deployed for you, so this page gives the split for each of the three deployment models, and then the list of what you do.
Where a control is still being built, this page says so. The Trust Center lists every control with its status, and Security explains how each one works.
The split, by deployment model
| Area | Shared cloud | Dedicated instance | Your compute, our control plane |
|---|---|---|---|
| Servers, networks and the cloud account | Graine | Graine | You |
| Platform software, updates and monitoring | Graine | Graine | You run it; Graine builds and ships it |
| Encryption in transit to the platform | Graine | Graine | You, at your own edge and with your own certificates |
| Encryption at rest | Our database and storage providers; an extra layer for phone numbers is built and being rolled out | The same, in your instance | Your storage and your keys |
| Backups and recovery | Graine, using our database provider's backups | Graine | You |
| Separation between organizations | Graine: every request acts only on the caller's own organization, and an automated test sends a foreign id to every route that takes one | Your instance serves only you | Your installation serves only you |
| Funding, finalization and metering | Graine | Graine | Graine: your install reaches our control plane over HTTPS |
| Who in your workspace may do what | You | You | You |
| API keys, SDK keys and webhook secrets | You keep and rotate them; Graine stores them | You keep and rotate them | You keep and rotate them |
| What you tell your agents and send as variables | You | You | You |
| Calling rules, consent and notices | You | You | You |
| Telling you about a breach | Graine, within 24 hours of confirming a breach that affects your data | Graine, the same | For your environment, you; for our control plane, Graine |
| Certifications | Graine's are in progress: SOC 2 and ISO/IEC 27001. No report or certificate is held yet | The same | The same for Graine's part; your own for your infrastructure |
What Graine does
- Keeps each workspace's data apart from every other's, and answers "not found" to a foreign id.
- Enforces roles on every request, records every change in a hash-chained audit trail you can verify, and logs every security check on your in-app agents.
- Holds the carrier and push credentials you connect in a managed secrets store, never in our databases, and never shows a push credential again once it is saved.
- Signs the webhooks it sends, and refuses to send a webhook or run an agent API tool against a private network address.
- Rate-limits the API and the public routes, and monitors every service.
- Publishes every subprocessor, with what it handles and where, and gives you 30 days' notice before adding or replacing one.
- Offers a data processing agreement, and tells you within 24 hours of confirming a breach that affects your data.
- Takes reports of vulnerabilities at the address on the Trust Center and in
security.txt.
What you do
Your keys
- Keep API keys on your own servers. Never put one in a web page or an app. Revoke a key you no longer use, and rotate one that may have leaked, on the API keys page.
- Use a publishable key only from the websites and apps you allow. For an in-app agent, turn on verified apps and verified users when you are ready: Secure your agent.
- Receive webhooks over HTTPS, check the
X-Graine-Signatureheader and its timestamp, and ignore a delivery you have already handled.
Your workspace
- Give people the least access they need: Admin, Member or View only, a custom role, or access limited to some agents. Team roles has the table.
- Remove people who leave, and review the Activity log and the Security log: Secure your workspace.
- Turn on approvals for changes to live agents and for campaigns that are about to start, so a second person sees them.
Personal data
- Send an agent only the data it needs. Do not put secrets in prompts, variables or user traits.
- Turn on transcript redaction where it fits. It removes email addresses, card numbers, Aadhaar and PAN numbers, phone numbers and IBAN-style numbers by matching patterns, so it does not catch names or free text. It is off by default.
- Turn memory on only for the agents that need it, and use the forget controls when a person asks.
- Keep your own copy of what you need long term: call records stay for the life of your workspace unless you delete them, and the audit trail keeps 400 days by default.
Your calls
- Tell people they are talking to an AI, and whether the call may be recorded. An agent can open with that notice.
- Honour opt-outs and keep a do-not-call list. A workspace list is being built; until it is live, apply your own.
- In India, follow TRAI's rules for commercial calls, including DLT registration, the number series TRAI assigns and Do Not Disturb preferences, and meet your duties as a data fiduciary under the DPDP Act. See Your calls, your rules.
If you run Graine on your own compute
You operate the installation, so the left-hand column of the table becomes yours: the servers, the network, the certificates, the operating system, the backups, the retention of what you store, access to your hosts and the response to an incident in your environment.
Three things leave your network, and you should plan for them:
- Funding checks and metering reach our control plane over HTTPS (TCP port 443). Funding and metering stay with us.
- Model, speech and telephony traffic goes from your network directly to the providers you choose for each agent, so their terms apply and your firewall must allow them.
- Nothing is air-gapped. An installation that cannot reach our control plane cannot place funded calls.
Call audio, transcripts, agent configuration and provider credentials stay inside your network. The Trust Center and the other pages of graine.ai are part of our hosted site, not of the installation.
Questions
Ask your Graine representative for anything on this page in writing, or write to the address on the Trust Center. We will complete a security questionnaire and put the engineers who built the controls on a call.

