FOR YOUR IT TEAM
Security & privacy
// Written to be forwarded. Every claim here is checked against the running code.
vernac is a server-side service. It reads mail out of your mailbox through Microsoft Graph, processes it on our servers and with the providers named below, and writes drafts back. Two things follow from that, and we would rather you hear them from us:
- Your data does leave your Microsoft 365 tenant. Anyone claiming otherwise about a service like this is wrong. What we can tell you exactly is where it goes and what is kept — that is what this page is.
- It is not end-to-end encrypted. Content is encrypted in transit and at rest, but we decrypt it to classify and draft. A service that could not read your mail could not write in your voice.
The one that matters: it cannot send
The Microsoft app registration deliberately omits Mail.Send. vernac can read your mail and stage drafts in your Drafts folder; you press send. This is not a setting, a policy or a promise about our conduct — the permission was never requested, so the capability does not exist in the token. You can verify it on the Microsoft consent screen when you connect, and again afterwards in your account's app permissions.
Exactly what is requested
This table is generated from the same list the application requests, so it cannot drift from what Microsoft shows you.
| Delegated scope | What it is for |
|---|---|
| User.Read | Your name and address, so drafts sign off as you |
| Mail.ReadWrite | Read your mail, tag it, and stage drafts |
| MailboxSettings.ReadWrite | Create the category set in your mailbox |
| Calendars.ReadWrite | Your own calendar: availability, and the hold you confirm |
| Calendars.Read.Shared | Free/busy only for people you schedule with — never their event details |
| openid · profile · email · offline_access | Sign-in, and staying signed in |
| Mail.Send | Never requested. |
Calendars.ReadWrite covers the user's own calendar only — it is what writes the hold when a scheduled time converges, and what the user confirms. Calendars.Read.Shared reads free/busy for the people being scheduled with: availability, never event details.
No admin consent is required, and nothing is deployed into the Outlook client. A user grants these with their own sign-in and can revoke them the same way.
What leaves the mailbox, and what we keep
| Data | Goes to | Stored? | At rest |
|---|---|---|---|
| OAuth tokens | our servers | Yes | Encrypted (AES-256-GCM) |
| Inbound email body | our servers, and our AI provider | No — classified, then dropped | Not persisted |
| Inbound email metadata (addresses, subject, timestamps) | our servers | Yes | Plaintext, database access controls |
| Your sent email (the voice corpus) | our servers | Yes | Encrypted |
| Draft vs. sent text (correction pairs) | our servers | Yes | Encrypted |
| Meeting transcripts and notes (read from Zoom, Granola or Meet) | our servers | Yes | Encrypted |
| Documents attached to your mail | our servers, and our embedding provider | Yes | Encrypted |
| Classification labels and metrics | our servers | Yes | Plaintext |
Meeting transcripts
Nothing joins your calls, and vernac does not record them. Meetings are read from transcripts your own tools already produced — Zoom AI Companion, Granola, Google Meet — using the same per-user OAuth grant you can revoke at any time. There is no recording step anywhere in the product, so no meeting audio ever reaches us — not from a bot, not from a device, not at all. The transcription happened inside a tool you were already using before vernac existed, and there is no speech-to-text provider in our sub-processor list because nothing here turns audio into words.
Only the transcript text is stored, encrypted like everything else. The limitation is the honest one: a call your own tools never transcribed is a call vernac cannot write up.
Encryption
TLS in transit. At rest, sensitive content is sealed with authenticated AES-256-GCM: OAuth tokens, your sent-mail corpus, meeting transcripts, indexed documents and correction pairs. Each customer tenant has a randomly generated data key, wrapped by an application master key held outside the database. We do not currently claim KMS-managed keys; the wrapping key is an application secret.
Why there is nothing to train
This is the question we get asked most, and the answer is architectural rather than a policy we could quietly change.
vernac contains no training step. There is no fine-tune, no shared model weights, no central corpus that grows as customers join. What people call "learning your voice" here is two ordinary mechanisms: retrieval over your own sent mail at drafting time, and a handful of imperative rules distilled from your own edits to our drafts. Both are rows in your account, read back by queries scoped to your user id, and both are deleted when the account is.
Two consequences worth stating plainly. Nothing you write can appear in another customer's draft, because no query can reach across accounts. And there is no accumulated model that would survive your deletion — the asset a competitor would describe as getting smarter with every customer does not exist here, deliberately. What makes the drafts good for you is that they are built from you.
Sub-processors
The complete list of third parties that process customer content:
| Who | What they process |
|---|---|
| Microsoft | Graph API — reading mail, tagging it, staging drafts, free/busy |
| Anthropic | Classification, drafting, meeting summarisation and scheduling replies |
| Voyage AI | Embeddings for retrieval over your sent mail, transcripts and documents |
| Postmark | Delivering your brief, and receiving the replies you send back to it |
| Fly.io | Application hosting and the Postgres database (primary region: US West) |
Your writing is used to answer for you and to draft as you — never to train foundation models, and never to serve another customer.
Access, retention and deletion
- Revoke at any time from your Microsoft account. The refresh token dies with the grant and vernac stops immediately.
- Self-service export and deletion. The dashboard lets you download the data associated with your account or permanently delete it. Deletion removes local account data and first makes a best-effort attempt to remove subscriptions, restore messages from folders vernac created, and remove categories it created. Contact shane@redeavorgroup.com if mailbox cleanup reports a warning.
- Non-destructive by default. vernac tags messages with Outlook categories. It does not move or delete mail unless you explicitly turn on filing rules.
- No blanket retention window yet. Stored content persists (encrypted) until you ask us to delete it. We would rather state that plainly than advertise an expiry job that does not exist.
What we are not claiming
We are an early-stage product and it is easier to check us now than later. We do not hold SOC 2, ISO 27001 or a Microsoft 365 certification, we make no data-residency guarantee beyond the hosting region above, and we do not describe ourselves as HIPAA or GDPR "compliant". If any of those are a requirement for your organisation, tell us before you start rather than after.
Questions
Security review, a questionnaire, or an architecture call: shane@redeavorgroup.com. We answer these ourselves.