Data privacy
Do you use customer data to train AI models?
No. We do not use your data to train our own models or any third party's models. Where a feature sends your data to a model provider, we use commercial API tiers whose terms prohibit training on submitted data, and we never use free or consumer tiers for customer data.
Which AI providers do you use?
We use more than one provider so each feature runs on the model best suited to it. All are engaged under terms that prohibit training on your data.
- Anthropic — the assistant, and the drafting and analysis pipelines.
- OpenAI — the embeddings that power search, and contact classification.
- Inference.net — routes model requests and records diagnostic traces of them.
Infrastructure and security
What we store
We keep the minimum each feature needs, in two tiers.
- Across your mailbox — message headers, thread and message identifiers, labels, and the short preview snippet Gmail returns. We do not retrieve message bodies at this tier.
- For contacts you accept into your workspace — the full text body of the relevant messages, with quoted replies and signatures removed, held in our database, file storage, and search index.
- From your calendar — the event identifier, the start time, and the email address of the external attendee matched to a prospect. Not event titles, descriptions, locations, or other attendees.
- Integration credentials — OAuth access and refresh tokens, encrypted before they are written.
- Your workspace records, assistant conversations, and settings.
- We never download or store email attachments.
What security measures are in place?
- Encryption in transit — all traffic over modern TLS.
- Encrypted credentials — integration OAuth tokens and any model-provider API keys you supply are encrypted at rest with AES-256-GCM, cryptographically bound to your workspace so a record cannot be read in another workspace's context.
- Access control — workspace membership is revalidated on every request, so removing a member ends their access immediately.
- Data separation — each workspace's data is logically separated and scoped on every query in the application layer.
- Verified integrations — inbound webhooks are checked with constant-time HMAC-SHA256 signature verification, and OAuth authorization flows carry signed, expiring state parameters.
- Controlled schema changes — changes reach shared environments only through reviewed, version-controlled migrations.
How do you access my email and calendar?
Through Google OAuth 2.0. We request only the scopes the features we have built actually need — gmail.readonly, gmail.send and calendar.events — and deliberately not the full mail.google.com scope, which would also grant permanent deletion, drafts and settings access we never use. We never see or store your Google password, and we have no access to accounts you have not connected. You can revoke access at any time from your Google Account settings or by disconnecting in the product.
Google compliance: our use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. We are completing the CASA (Cloud Application Security Assessment) Tier 2 assessment for our use of restricted scopes.
What email authentication applies to messages sent through the product?
Mail sent through a connected Gmail account goes out of that mailbox itself, so it inherits whatever SPF, DKIM and DMARC alignment Google applies to it — we neither add to nor weaken it. For a custom sending domain, the domain must pass DNS verification before we will provision an inbox on it.
What can the assistant do on its own?
No language model in the product can send email. Sending is a deterministic background pass over approved database state, and the recipient address is read from your workspace records at send time — it is never produced by a model. Third-party tools marked as destructive are removed in code before an agent is constructed, so they cannot be called at all.
How do you protect against prompt injection?
Prompt injection is where an attacker hides instructions inside content your assistant reads — an email body, a web page — hoping the model follows them. Our defenses:
- Length limits on every path that admits third-party content into automated processing, bounding how much adversarial text can reach a model.
- Retrieval returns file paths rather than content, so search results alone cannot carry an injected instruction.
- Standing instructions in our analysis and drafting pipelines that third-party content is data and must not be followed as instructions. These are locked and cannot be edited away.
- Consequential actions are not model-driven — see above.
Compliance
What is your security compliance posture?
We are an early-stage company and we would rather be plain about this than imply more than we have. We are completing the CASA Tier 2 assessment covering our use of Google restricted scopes. We do not currently hold a SOC 2 Type II report. Our posture today is the set of controls described on this page, which we review at least annually and will expand as we grow. We will update this page when that changes.
How do you handle a security incident?
We notify affected customers without undue delay, and within 72 hours of becoming aware where our Data Processing Agreement applies. Our response is to contain the incident, investigate its scope and root cause, remediate, and cooperate with customers and any relevant authority. We will tell you what we know, when we know it, including while an investigation is still open.
How do I report a vulnerability?
Email support@revenueoperations.inc with steps to reproduce and the impact you believe it has. We will acknowledge your report and keep you updated. We ask that you give us a reasonable opportunity to fix an issue before disclosing it, that you avoid accessing or modifying data that is not yours, and that you do not degrade the service for others. We will not pursue legal action against researchers who follow this.
Your data control
What control do I have over my data?
- Export — request a copy of your workspace data in a structured, machine-readable format.
- Delete — request deletion of your account and its data, at any time.
- Revoke — disconnect an integration in the product, or revoke our access directly from your Google Account permissions page.
- Correct — ask us to fix inaccurate records we hold about you.
What principles do you hold yourselves to?
- Purpose limitation — data you connect is used to deliver the features you asked for. Account and usage data may also be used to operate, secure and support the service.
- Minimum collection — we sweep your mailbox for headers and previews, and only retrieve message bodies for contacts you have accepted.
- No selling — we do not sell your data, and we do not use it for advertising.
- No training — your data does not train our models or anyone else's.
To exercise any of these, contact support@revenueoperations.inc.
Do you offer a Data Processing Agreement?
Yes. Our standard DPA is published in full and forms part of our Terms of Service. If you need a counter-signed copy, ask us.
Data management
How is data deleted?
When you disconnect an integration
Synchronization stops, the stored credentials are revoked, and the mail and contact data imported through that connection is deleted from our database, file storage and search index.
Within 30 days of a deletion request
Remaining workspace data is removed from our production systems.
On the ordinary backup cycle
Copies held in routine backups age out, and in any event no later than 90 days.
Records we are required to keep by law are retained for as long as the law requires. Content another member of your workspace synchronized from their own mailbox is retained for them until they disconnect.
Subprocessors
These providers process customer data on our behalf, under contractual confidentiality and security obligations, and only to deliver the features described above. We give 30 days' notice before a new subprocessor begins processing, as set out in our DPA.
| Provider | What it processes |
|---|---|
| Supabase | Database and file storage |
| Vercel | Application hosting |
| Hatchet | Background workflow orchestration |
| Turbopuffer | Search index |
| Anthropic | Assistant, drafting and analysis |
| OpenAI | Search embeddings and contact classification |
| Inference.net | Model request routing and diagnostic traces |
| Crustdata | Contact and company enrichment |
| Exa | Web search for account and persona research |
| Firecrawl | Website crawling and page content extraction |
| AgentMail | Sending infrastructure for custom domains |
| Unipile | LinkedIn account connection and message delivery |
| Loops | Account email — invitations, verification and notifications |
| Composio | Authorized third-party tool connections |
We do not use analytics or error-reporting services that receive your connected data. Processing-region details for each provider are available on request.
Resources
Data Processing Agreement
Our standard DPA
Privacy Policy
How we collect, use and protect data
Terms of Service
The terms your use of the product runs under
Have security questions?
We can help with security review, compliance documentation, or anything on this page that needs more detail than we have given.
Contact us