Preread reads a calendar and an inbox. Here is exactly what that means.
This page is written to be read, not to be agreed to. Anything unclear is a bug: security@preread.net.
Permissions, scope by scope
- CalendarEvents in the next 7 days, and your past events with the same guests, going back a year: title, time, guests, description, links. The write scope is used for one thing: appending two plain-text lines to an event's description when you approve a brief, and updating them in place if you promote another version.
calendar.readonly · calendar.events - GmailRecent threads with the guests of an upcoming meeting, and the thread carrying the invite. Send is used only when you are not the organiser and choose to email guests the link yourself; nothing is sent until you press Send on a message you have read. No mailbox-wide index is built.
gmail.readonly · gmail.send - DriveFiles shared with or by the guests of an upcoming meeting, and files whose name or text matches the meeting. Contents are read for docs, slides and sheets; other files are listed by name.
drive.readonly - ProfileTo sign in, to know which attendee is you, and to sign the invite footer with your name.
openid email profile
What happens when a brief is drafted
- Meetings are synced every 15 minutes for the next 7 days.
All-day events, events without other people, events you declined, and titles on your ignore list are skipped and never fetched for. - Context is gathered: the event, recent threads with the guests, files shared between you, prior meetings, and public web pages about the company and attendees.
The list of sources is recorded on every version. The content itself is stored encrypted, so a rerun does not fetch again. - The selector chooses a prompt and states its reason in one line.
The selector sees the event and a summary of what was found (names, domains, whether prior email exists), not message bodies. - The model writes the brief from the gathered context using the chosen prompt, through Google Cloud's Vertex AI.
Which model made each version, and its full output, is recorded with the version. - The draft is stored, encrypted, with your account, along with the private commentary and source list.
- You approve, or edit the prompt and rerun, or skip.
Until approval, the brief has no public page. - On publish, the approved version is served at preread.net/b/<slug> and two plain-text lines are appended to the event description.
Slugs are 32 random characters. Pages are not indexed. Reruns after publishing do not change the public page unless you promote them.
What is stored, and for how long
Kept: briefs (every version), private commentary, source references, prompts, the selector and its log, your settings, and your Google refresh token, all encrypted at rest.
Kept for a while: the gathered email, file and calendar content for each meeting, encrypted, until 30 days after the meeting by default (you can change this in Settings). Then the content is purged; the list of what was used stays.
Never: sold, shared with advertisers, or used to train models. Model providers are used through Vertex AI under Google Cloud's data terms.
What guests can see
The public page shows the brief and a footer. It does not show the private commentary, the sources, the prompt, or your other meetings. Every guest sees the same version. The page sets no cookies and loads no third-party scripts beyond the fonts.
A guest who wants a brief taken down can write to hello@preread.net.
Infrastructure
Hosted on Google Cloud (us-central1). TLS everywhere. Google OAuth tokens and gathered content are encrypted with a key held in Secret Manager and are never logged. Revoking Preread's access from a Google account at myaccount.google.com/permissions stops all drafting immediately, without contacting Preread.