Privacy promise — version v11

What Grenier does with your data

This is the long version of what you accept when you sign up. Plain language, no dark patterns.

What Grenier reads

If you connect Gmail, Grenier reads your messages in full (the "gmail.readonly" scope from Google) — the sender, the recipients, the date, and the text, not just the subject line. It needs the text to work out how you know someone, what you talk about, and how you usually write to them.

Grenier's Gmail access is read-only. The one exception is optional and separate: if you use “Create draft in Gmail”, Google asks you for a second permission (the "gmail.compose" scope), which Grenier uses only to add that draft to your Gmail drafts — never to send, change or delete a message.

If you connect another mailbox — Outlook, or any mailbox over IMAP or POP — Grenier reads each message the same way when it syncs.

If you upload a LinkedIn data export (CSV or ZIP), Grenier reads the full contents of every file you provide.

If you connect Google Contacts (the "contacts.readonly" scope), Grenier reads your saved contacts' names, email addresses, organizations, web links and phone numbers — when you connect it, and again when a Gmail sync starts (at most about once an hour). After a Gmail sync it also asks Google's contacts service for the name behind an address that arrived without one.

If you connect Google Calendar, Grenier reads your events' titles, attendees, and times. Google sends each event's description along with it; Grenier does not use it and does not keep it.

How Grenier uses it

When your mailbox syncs, no AI model reads your mail — with one exception: syncing a single person from their page also rebuilds that person's profile (below). A sync records who wrote to whom, when, and in which direction — that record is what the rest of the product runs on — and does not save the text. While a message is open during the sync, Grenier also picks out a few things with plain rules rather than AI: a phone number someone includes in what they write, the name they sign off with, and, for Gmail, the language a conversation is in; and, from LinkedIn and Facebook notification emails, the job changes and (from Facebook) birthdays of people in your contacts.

Your mail goes to an AI model only when you ask for something built from it: a person's relationship profile (how you know each other, the tone and rhythm of your exchanges, the language and formality you use, their interests, and what each of you owes the other), a draft to them, or a check on what kind of contact someone is (below). A profile is built or refreshed when you press Refresh on it, when you sync that one person from their page, or when you ask for a draft to them. Each time, Grenier fetches that one person's recent Gmail messages again, or reads the LinkedIn text it keeps (below), and strips the quoted replies and removes personal details from that mail before it is sent — never anyone else's mail. A draft request also sends some of the following, depending on the kind of draft and what Grenier has on file: how you know them, the language, formality and tone of your exchanges, and their interests; what they care about and how they like to be written to; any LinkedIn profile or headline you captured; their country; when you last spoke and where; how many email addresses you have for them; the health and rhythm of the relationship and the pattern of your exchanges; the titles, dates and topic tags of up to three recent meetings with them; a recent news item about them or their company; and the start of your notes on them — along with any instruction you type for that draft, any news of your own you include, the tone you pick, their first name, and your own name, pronoun, location and preferred meeting tool as you set them. Outlook, IMAP and POP messages are read once, when they sync, and are never fetched again — so their text is never sent to a model.

“Personal details removed,” here and below, means this: the names and email addresses of the people in your contacts, and your own, are swapped for placeholders, and so is any other email address, phone number or card number found in the text. Where that text is on its way to an AI model, a piece that still looks as if it holds an email address, a phone number or a card number after that is not sent at all. Names of people who are not in your contacts are not recognized and stay in. This applies only to what this page describes as having personal details removed. Everything else it lists goes as written — among them the first names, profile fields and details you set that are listed above, and the title and address of a page you share through the extension.

Looking for people you could bring in

When you ask Grenier to look for people you could bring in, it picks a few of the people you write to most — including people you have never asked it about one by one — and re-reads your recent mail with each of them: up to their 12 most recent messages from the last 12 months, from Gmail and from the LinkedIn text it keeps, with quoted replies stripped and personal details removed. People you only write to through Outlook, IMAP or POP are skipped. That text, with the person's job title and company, goes to an AI model with one question: is this a relationship, a paid service, a recruiter or job lead, a one-off favour, or unclear? This runs only when you ask — never on its own, never during a sync, never on a schedule — and Grenier stops asking for the day after about ten answers.

From each answer Grenier keeps: the kind, how sure the model was, which of those kinds the exchange partly resembles, a short line on how you know each other in the model's own words (at most 120 characters, and only when the model reports that your mail states it — the model is told never to guess one, but that is an instruction, not a guarantee), which model answered, which version of the question it was asked, and two dates. It does not keep the mail it read or the model's reasoning, apart from the opt-in AI log described below. The answer is reused until you and that person have a new back-and-forth; after that, the next time you look, the model is asked about them again. All of it, the how-you-know line included, is stored as written, not encrypted — the way a contact's name and company are. It is deleted with that contact, or with your account, and it is included in your export.

If you turn a suggestion down with “Not for me”, Grenier keeps the date and the reason you picked — a paid service, a recruiter or job lead, a one-off favour, or “I don't know them” — on that contact, stored as written. That person is not suggested again for at least six months, and after that only if you have written to each other since. Once you have given the same reason — other than “I don't know them” — three times, people whose kind-of-contact check points to that kind stop being suggested. Your answers are included in your export and deleted with the contact.

Other things that reach an AI model

Other features use the model under the same rules, each sending only what it needs. The main ones: a voice note you record is sent as audio to be transcribed — audio cannot have personal details removed first — and its transcript, with personal details removed, to be summarized; a private note you save is read, with personal details removed, to pick out dates and follow-ups, unless you turn off “Extract details from notes” in Settings; putting a reminder off with “Not now” may send that person's job title and company, with what you have logged about your conversations, to suggest topics they care about; a LinkedIn profile you capture with the browser extension is sent to it, straight away, to suggest that person's interests; the text of a page you summarize with the extension is sent to it; a page you share with a contact through the extension is sent — its text with personal details removed, and its title and address as written — with what Grenier knows about that contact — their company and title, the pattern of your exchanges and when you last spoke, the dates and direction of up to five recent exchanges, the titles, dates and topic tags of up to three recent meetings, and any LinkedIn profile you captured — together with your first name, to write the message; an introduction you ask for sends each person's company, role and interests and the interests they share, never their names; a referral invitation sends only a fixed request for a one-line pitch, nothing about you or the person you invite; after a sync, once a month, or when you ask for suggestions, Grenier may ask it to suggest a closeness level for some people, sending only their job title and company and counts — how often you exchanged mail and how quickly replies came — never the text of a message; and, on a schedule, when there is news about a company where some of your contacts work, Grenier asks it whether the item matters to someone in each of their job titles, sending the company name, the headline and its summary, and the job title — not the person's name.

Every AI request goes to an external inference provider based in the United States. We send it what that one request needs and nothing else. Every AI provider Grenier sends your content to operates under zero data retention for our account: your content is not stored after the response is returned, and each is contractually barred from using it to train or fine-tune any model. We name every one of them, and say what each receives, at our sub-processor list — and we do not route your content to an AI provider that is not on that page.

Which provider handles a given request depends on your plan and on the kind of request, and that routing changes as models improve. What does not change is the rule above. There is no fallback provider for one that is down: if the provider handling a request is unavailable, the request fails and can be tried again later — your content is not re-routed to get the job done. One narrow exception stays inside the published list: on the staff accounts that use a second provider for drafts and introductions, a request that provider refuses because of a problem with our own account there (a missing credit or a bad key, for example) is sent to the base provider instead.

We keep a log of the requests Grenier makes to an AI model — all of them except voice transcription, which is not logged: when it happened, what kind of request it was, which model answered, how long it took, internal identifiers such as which contact it concerned, and whether it failed — as a kind of failure, such as “timeout”. The text of the request, of the model's answer, and of the values filled into the request, and the provider's own error message, go into that log only if you turn on “Help improve Grenier's AI” under Settings → Privacy; it is off unless you turn it on. While it is on, that text is kept exactly as it was sent (so with personal details removed only where they were removed before sending): the request, the answer and the filled-in values encrypted under the shared key described below, the error message as written. Our team can read it to improve how Grenier asks the model. Turning the setting off erases the text already kept in the log and reduces each error message there to its kind. Grenier's servers can take up to five minutes to notice the change, so a request in those minutes may still keep its text in the log; that text, like every entry in the log, is deleted by a daily sweep once it is 30 days old. When our team copies logged text out of the log — to look into a problem, or to test a change to how Grenier asks the model — that copy is kept outside the log: on the team's own machine, and in the records of the tools used to read it, which can include the AI coding assistant the team works with (named on the sub-processor page). That copy is not erased when you turn the setting off or after 30 days. Who may read the text is an access-control rule at our admin tools, not a cryptographic guarantee.

Admin-blind (notes)

Encryption tiers and admin-blindness

Apart from private notes, which are described below, what Grenier keeps is protected in one of three ways, and the difference decides who could read it.

A key that belongs to your account alone. The sender and recipient addresses on each message record, your contacts' phone numbers, your Google sign-in tokens, the passwords and sign-in tokens of the Outlook, IMAP and POP mailboxes you connect, the drafts Grenier writes for you and the copy it keeps of an email you send or share through it, subjects included, the reason shown on each reminder Grenier suggests, the transcript of a voice note you keep word for word, the meetings Grenier records from your calendar (their titles, with personal details removed), what you type when you log a conversation, the summaries of voice notes, the title and link of each article you share with a contact from the browser extension, and the title and folder of a LinkedIn conversation, kept with each of its messages, are encrypted at rest under a per-user data encryption key (DEK). That key does not hide who you exchanged mail with, or when: each message record also points to the contact, with its date and direction, as written; the contact's own name and address are stored as written; and the address of someone who wrote to you in a mailbox you connected but is not in your contacts yet is stored as written too (see below). A salted fingerprint of each sender's address, and a keyed fingerprint of each phone number, are kept too, so that records can be matched (a salted fingerprint of the identifier of each message held back from someone not yet in your contacts is kept for the same reason, so a message is counted once); anyone who holds the server's key and the database could check a guessed address or number against them. For email (Gmail, Outlook, IMAP, POP), and outside the opt-in AI log described above, Grenier does not persist a per-message subject line or snippet at all — that content is never written to the database, encrypted or otherwise. Each DEK is wrapped by a master key held in HashiCorp Vault Transit — not in our database and not in our environment variables. This defends against offline threats: a stolen database dump without access to Vault cannot decrypt these fields.

The Grenier app holds a Vault token and can unwrap your DEK on demand to read those fields — there is no email subject or snippet to unwrap, because none is ever written. That access is gated by Vault's audit log — every DEK unwrap is recorded. A 5-minute in-process cache means one Vault call covers roughly 5 minutes of field-level decrypts, so the audit log records unwrap events, not per-field accesses.

One key shared by every account. The LinkedIn message text described below, LinkedIn profiles you capture with the browser extension or upload as a PDF, and the AI log text if you have opted in to it are encrypted at rest with AES-256-GCM under one key that the Grenier app holds for every account. That still protects them in a stolen database dump on its own, but there is no key of your own and no Vault call: an operator who can run the app or read its configuration could decrypt them, and nothing records it when they do.

Not encrypted. Contact names, companies, titles and email addresses; who you exchanged mail with, and when; the address of anyone who wrote to you in a mailbox you connected but is not in your contacts yet, with its domain and how many of their messages were held back, until you add or exclude them — and, if you exclude them, the domain; the relationship profile, open commitments and interests Grenier builds for a person; the reminders and birthdays Grenier picks out of your notes and of notification emails; the topic tags on logged conversations and voice notes; the kind-of-contact label and how-you-know line described above; your “Not for me” answers, are stored as written. Anyone with access to the database could read them.

Your private notes are not encrypted today, and we would rather say so than leave a stronger promise standing. Grenier has a notes tier that seals a note under a key derived from your password — a key the operator cannot open, even with full database access or Vault access. It is built, it works, and it is switched off. So a note you write today is stored the way your contact's name and company are stored: as you typed it, readable by us. Notes that were written while that tier was running stay sealed, and we cannot read those.

Field-level summary:

FieldEncryptionOperator-readable?
Message sender and recipient addressesPer-user DEK — Vault-wrappedYes — under Vault audit
Who you exchanged mail with, and whenNone — stored as writtenYes
Fingerprints of sender addresses and phone numbersKeyed hash — one server key for every accountYes — a guessed address or number can be checked against it
Senders who are not contacts yetNone — stored as writtenYes
Subjects and snippets of mail synced from Gmail, Outlook, IMAP and POPNot stored — none kept today, except in the opt-in AI logOnly through the opt-in AI log
LinkedIn conversation titles and foldersPer-user DEK — Vault-wrappedYes — under Vault audit
Email text (Gmail, Outlook, IMAP, POP)Not stored — none kept today, except in the opt-in AI logOnly through the opt-in AI log
Contact phone numbersPer-user DEK — Vault-wrappedYes — under Vault audit
Google sign-in tokensPer-user DEK — Vault-wrappedYes — under Vault audit
Outlook, IMAP and POP sign-in tokens and passwordsPer-user DEK — Vault-wrappedYes — under Vault audit
Drafts and emails sent through Grenier, with their subjects; suggested-reminder reasons; word-for-word voice notesPer-user DEK — Vault-wrappedYes — under Vault audit
Titles and links of articles you share from the browser extensionPer-user DEK — Vault-wrappedYes — under Vault audit
Meeting titles, logged conversations, voice-note summariesPer-user DEK — Vault-wrappedYes — under Vault audit
LinkedIn message textShared key — the same for every accountYes — no Vault audit
Captured LinkedIn profilesShared key — the same for every accountYes — no Vault audit
AI log text (only if you opt in)Shared key — the same for every accountYes — no Vault audit
AI log error messages (only if you opt in)None — stored as writtenYes
Relationship profiles, commitments, interestsNone — stored as writtenYes
Reminders and birthdays from notes and notification emailsNone — stored as writtenYes
Topic tags on logged conversations and voice notesNone — stored as writtenYes
Kind-of-contact labels and how-you-know linesNone — stored as writtenYes
“Not for me” answersNone — stored as writtenYes
Private notesNone — stored as writtenYes
Contact name, company, title, emailNone — stored as writtenYes

This protection assumes Vault is operated by a different principal than the Grenier app. A single operator controlling both layers could still read DEK-encrypted content. The notes user-key tier would not be subject to this caveat — it requires your password — but it is not switched on, so it protects nothing you write today.

The operational details — threat model, key rotation, Vault audit-log reading, and the graceful-degradation runbook for when Vault is unreachable — live in our public ops doc: docs/security/admin-blind-encryption.md.

What gets stored

Below, “your account's own key” means a key that belongs to your account alone and is opened only through a logged call to a separate key service; “the shared key” means one key the Grenier app holds for every account, with no such log.

  • Contact records: name, email, company, title, LinkedIn URL, and every phone number you or an import give a contact — each with its kind (mobile, work, home) if known and which one is primary. Phone numbers are encrypted under your account's own key; the rest is stored as written.
  • A record of each message: who sent it, who received it, when, and in which direction. For each email we also keep which of your contacts were on it and in what role (sender, To, Cc or Bcc), how many people it went to, whether it was a reply, and a marker that groups it with the rest of its thread; these are stored as written, and the thread marker is a salted fingerprint. The sender and recipient addresses are encrypted under your account's own key; which contact the message was with, its date and its direction are stored as written, and a salted fingerprint of the sender's address is kept for matching. The subject, the snippet and the text are not kept, apart from the opt-in AI log above (LinkedIn is the other exception, below).
  • The address of anyone who wrote to you in a mailbox you connected but is not in your contacts yet, with its domain and how many of their messages were held back, until you add or exclude them — stored as written, not encrypted. If you exclude them, a salted fingerprint of the address and its domain are kept so their mail stays set aside.
  • For a person you have asked about — by refreshing their profile, syncing them, or asking for a draft to them — their relationship profile and the open commitments between you, stored as written, not encrypted.
  • For a person Grenier has checked when you asked it to look for people you could bring in, the kind-of-contact label and how-you-know line described above, and any “Not for me” answer you give, stored as written, not encrypted.
  • Drafts Grenier writes for you and the copy it keeps of an email you send or share through it, subjects included, the reason shown on each reminder Grenier suggests, the transcript of a voice note you keep word for word, meetings from your calendar (the title, with personal details removed), what you type when you log a conversation, the summaries of your voice notes, and the title and link of an article you share from the browser extension — encrypted under your account's own key.
  • Whether a contact opened an email you sent or an article you shared through Grenier. Every email Grenier sends to a contact for you, introductions included, carries a small invisible image; when the recipient's mail app loads it, Grenier records that it was opened, when, and how many times — stored as written, not encrypted. It does not record the recipient's IP address, device or location. A mail app that blocks images never reports an open, and one that loads images by itself can report one nobody made. A draft Grenier puts in your own Gmail carries no such image.
  • Reminders and birthdays Grenier picks out of your notes, birthdays from Facebook notification emails, interests it finds, and topic tags on logged conversations and voice notes — stored as written, not encrypted.
  • LinkedIn profiles you capture with the browser extension or upload as a PDF — encrypted under the shared key.
  • Free-form notes you write — stored as you typed them, not encrypted. The user-held-key tier that would encrypt them is built but switched off; see the correction at the foot of this page.
  • Sign-in tokens for the accounts you connect, and the password for any mailbox you connect with one — encrypted at rest with AES-256-GCM under your account's own key, Google, Outlook, IMAP and POP alike.

We do not store the text of your emails. Gmail messages are fetched again from your mailbox, briefly, only when you ask for something that needs them, and are never written to our database; Outlook, IMAP and POP messages are read once, when they sync. The one place email text can be kept is the AI log described above, and only if you opt in to it. We do not store message attachments. We do not store calendar event descriptions.

LinkedIn is the one deliberate exception, because a LinkedIn export has no equivalent way to be re-fetched later. When you upload one, each message's quote-stripped body is retained — email text is not kept — so Grenier can build a person's relationship profile and answer the kind-of-contact check from it without asking you to re-upload it. It is encrypted with AES-256-GCM, but under a key every Grenier account shares rather than one belonging to your account, so — unlike the per-account protection described above — an operator with server access could technically decrypt it. It is erased when your account is deleted, at the end of the 30-day grace period, and purging a single contact clears it immediately for that contact, ahead of any account-level deletion. A LinkedIn message that could not be matched to a contact waits on the Unmatched list. Its text is held the same way; its sender's name and the conversation's title and folder are kept under your account's own key; and the sender's LinkedIn profile link is stored as written. Matching, adding or dismissing that one message clears its text, name, title and folder straight away (“Dismiss all” clears only the text). Whatever you do, a daily sweep clears all of it, the profile link included, once the message has been on the list for 30 days. What stays after that is its date and direction, LinkedIn's identifier for the conversation, which contact you matched it to, and a fingerprint that stops a re-upload from bringing it back. While an import is running, the uploaded messages file is held the same way as the text, and cleared when the import finishes.

Analytics — what Grenier counts about how you use it

Grenier records that something happened. It never records what was said.

An analytics event may carry: which action you took, when, and — where the action is about a specific person in your graph — which record it concerned, by internal identifier. An analytics event may never carry: message bodies, subjects, note text, draft text, AI prompts or completions, contact names, email addresses, company names, or any free text you typed.

These counts stay in our own database. They are not sent to an advertising network, a data broker, or a third-party analytics vendor. The only third party that sees anything is our hosting provider's pageview counter, and it is scoped to the public marketing pages — it never sees a page you visit while signed in.

We also keep a record of each visit: roughly when it happened (rounded down, never to the minute), how long it lasted, how many steps it contained, which screen you entered on, and the ordered list of screens you moved through. Those records carry no account identifier at all — there is no column linking a visit to you, by design, so they cannot be queried back to a person. What that costs us is stated plainly below.

Who sees it

You see it. Grenier operators see aggregate metrics and server logs — which can include an email address, such as that of a sender a sync set aside — but do not have routine access to your contacts or to what Grenier has learned about them. That is a policy; how much a breach of it could reveal depends on the field. Opening something encrypted under your account's own key needs a Vault call, and every one is logged. Something under the shared key can be opened by anyone who can run the app, with no log. Something stored as written — contact names, who you exchanged mail with and when, the relationship profile, commitments, interests, reminders picked out of your notes, the kind-of-contact label — is readable to anyone with database access. The list above says which is which. Private notes are not encrypted today, so an operator with database access could read one; the user-held-key tier that would prevent that is built but switched off.

We do not sell, rent, or share your data with advertisers, data brokers, or model training pipelines.

Your controls

  • Export: Download everything we have on you as a ZIP from Settings.
  • Delete: Request deletion from Settings; we hard-delete after a 30-day grace period. Backups keep a copy until it ages out: in production, for our database provider's restore window; on our preview site, where testers sign in, the nightly backups of its database and of the keys that open it are kept for up to 24 months.
  • Disconnect: Revoke Gmail or Calendar access at any time from Settings or your Google account dashboard.
  • Per-contact opt-out: Mark any contact "do not surface" to exclude them from tends.

One exception, and it runs in your favour. The visit records described above are not attached to your account — there is no identifier on them to match, so deleting your account cannot find them, and they survive it. They are instead erased on a clock of their own: every visit record is deleted 30 days after the visit, for everyone, whether or not anyone ever asks. So nothing we hold about how the product is used outlives a month, and none of it was ever labelled with you.

The trade-off we accepted to make that true: because those records carry no account identifier, we genuinely cannot tell you which visits were yours, and we cannot include them in your export. We would have to add the link back to answer either question, and adding it is the thing we are not willing to do.

If you use the free network audit and ask for your report by email, we keep that address for 30 days, only to send you the report once; then it is deleted. Deleting a Grenier account with that same address deletes it sooner.

When this changes

If we ever change what Grenier reads, where it's processed, or what we store, we bump the privacy promise version and ask you to re-accept before any new behavior kicks in. We do not quietly expand scope.

A correction, August 2026

Earlier wording on this page said free-form notes are encrypted at rest with AES-256-GCM, and that private notes are admin-blind. It described a tier Grenier has built but does not have switched on, so it was not true of notes written while it was off. The wording above now matches what the code does.

Nothing about how Grenier handles your data changed when we corrected this — only what the page claimed about it. If we turn note encryption on, this page will say so and the stronger promise will come back with it.