Briefi
Privacy Policy · v1.0

Your privacy. Plainly.

privacy@briefi.sh

Briefi is built and operated by Trimorph Pty Ltd, an Australian company. We hold a lot of sensitive material on your behalf — calendar invites, email threads, recordings, AI-generated briefs — and we treat that as the load-bearing trust of the relationship. This page describes what we collect, how it's stored, how long we keep it, and what your rights are.

Who we are

Briefi is a product of Trimorph Pty Ltd (ABN to be issued before public launch), a company registered in New South Wales, Australia. The data controller for the purposes of the Australian Privacy Act 1988 and the EU GDPR is Trimorph.

Privacy contact: privacy@briefi.sh. We respond inside 5 business days.

What we collect

We collect only what's necessary to run the product. No advertising trackers, no shadow profiles, no resale.

  • Account data. Email, full name, password (bcrypt-hashed — we never see plaintext), optional MFA factor (TOTP secret, encrypted at rest), profile photo if you upload one, timezone, language preference.
  • Calendar + email data. If you connect Google Calendar / Gmail, we receive the OAuth tokens to read events and read/send mail on your behalf. We store calendar event metadata (title, start, end, attendees, location). We do not store Gmail message bodies — they are fetched on demand each time you open a thread.
  • IMAP / SMTP credentials. If you connect a non-Google mailbox, the username + password is encrypted at rest with the per-tenant data encryption key. We use them only to read and send your email.
  • AI-generated content. Briefs, follow-up drafts, classified inbox categories, voice-profile notes. All encrypted at rest with your tenant's data encryption key.
  • Recording audio + transcripts. Only if you start a browser meeting recording. Audio is stored in Supabase Storage in the AU region and transcribed by AssemblyAI in the US. Default retention is 7 days; you can extend up to 90 in Settings → Workspace → "Recording retention". Transcripts persist on the meeting record (encrypted).
  • Live captions (Pro+, optional). If you turn on live captions during a recording, the audio stream is forked at 16 kHz to Deepgram (US) for real-time transcription. The captions render on screen during the meeting and persist encrypted alongside the transcript. AssemblyAI batch transcription remains the canonical record; Deepgram captions are display-only and ephemeral until the meeting ends.
  • Third-party notetaker payloads. If you connect Fireflies, Fathom, Read.ai or Grain, we receive their post-meeting webhook payloads (transcript + summary + action items) and persist them encrypted on the matching meeting.
  • Scheduling form responses. If a visitor books a meeting through your public scheduling link (briefi.sh/b/<your-slug>), we capture their name, email, the slot they chose, and any custom-question answers you configured. The booking is mirrored to your Google Calendar and to the meeting record in Briefi.
  • CRM data sent on your behalf. When you push a meeting outcome to HubSpot / Salesforce / Pipedrive / Zoho / Dynamics / GHL / Monday / Close / Copper / ActiveCampaign, we transmit the contact, outcome tag, ICP score and follow-up task to that CRM. We do not retain the data afterwards beyond audit-log entries.
  • Billing data. Plan, top-up purchases, invoice history, last-four of card, billing address. Card numbers themselves never touch our servers — they are tokenised by Stripe in the browser.
  • Telemetry. Sentry captures application errors with no PII attached. PostHog captures anonymised product analytics (which pages get used, which buttons get clicked, in aggregate).

How we use it

We use your data to operate Briefi: read your calendar so we can prepare meeting briefs, classify your inbox, draft follow-up emails in your voice, push outcomes to your CRM, send you the digests and security alerts you've enabled, and bill you for the plan you chose.

We do not sell your data, share it with advertising networks, or use customer content to train any AI model — public or private. The Anthropic and AssemblyAI APIs we call are configured to not train on your inputs (zero-retention or explicitly opt-out, as the provider supports).

Where it lives

The full subprocessor list (with purpose and region) is published at /security and updated whenever we add or remove a vendor. In summary:

  • Australia (primary): Supabase Postgres + Storage, Vercel hosting, Stripe billing.
  • US: Anthropic (Claude AI), AssemblyAI (recording transcription), Deepgram (live captions, only if enabled), Resend (email delivery), Fireflies / Fathom / Read.ai / Grain (only if you connect them).
  • EU: Sentry (error monitoring), PostHog (anonymised analytics).
  • Global: Google (your OAuth grant; data residency follows your Google Workspace region).

Cross-border transfers are covered by the standard contractual clauses recognised under the Australian Privacy Act and EU GDPR. We will email you at least 30 days before adding any new subprocessor that handles customer data.

Encryption + access control

Sensitive content (briefs, follow-up drafts, AI replies, OAuth tokens, IMAP passwords, API keys, recording transcripts) is encrypted at rest with AES-256-GCM. Each workspace has its own data encryption key, which is itself wrapped by a global key-encryption key. The keys are held in environment variables on the server and never sent to the browser.

Database row-level security gates every read at the Postgres engine itself — application bugs cannot leak data across workspaces because the database refuses to return rows from tenants the caller is not a member of.

TLS 1.3 with HSTS preload is enforced on every endpoint.

Retention

We retain data for as long as you have a Briefi account, with these exceptions:

  • Recording audio defaults to 7 days. You can extend up to 90 days in Settings → Workspace → "Recording retention". Transcripts persist for the lifetime of the meeting record.
  • Inbox + calendar history is bounded by your plan's sync window (Free 30 days · Solo 60 · Pro 180 · Business 360). Older items are hard-deleted by a daily trim cron.
  • Audit logs retain for 13 months and then roll off.
  • Stripe billing records are retained for 7 years per Australian Tax Office requirements.
  • Account deletion. Requesting deletion (Settings → Data & Export) starts a 30-day grace period during which you can cancel. After 30 days, your account, all workspace data, AI-generated content and recordings are permanently removed.

Your rights

Under the Australian Privacy Act 1988 and the EU GDPR, you have the right to:

  • Access the personal information we hold about you.
  • Correct inaccurate information — most fields are editable directly in Briefi; for fields you can't reach, email us.
  • Delete your account and have all associated personal data removed within 30 days.
  • Export a portable bundle of your data (JSON + CSV) at any time from Settings → Data & Export. Single click. No support ticket required.
  • Withdraw consent for any optional integration (revoke the Google OAuth grant, disconnect a CRM, disable recording) — Briefi loses access cleanly without affecting the rest of your account.
  • Object to processing or request a copy of the standard contractual clauses governing cross-border transfer.
  • Lodge a complaint with the OAIC (Office of the Australian Information Commissioner) at oaic.gov.au or your local data protection authority.

Cookies + analytics

Strictly necessary cookies. We use a single first-party session cookie to keep you signed in, plus localStorage for non-sensitive preferences (selected workspace, theme, text size, your cookie consent choice). These are dropped regardless of consent because the site doesn't function without them.

Aggregate traffic measurement — Google Analytics 4. briefi.sh loads Google Analytics 4 via Google Tag Manager on every page so we can see aggregate traffic patterns (page views, referral sources, country-level geography). GA4 is configured with IP anonymisation enabled and Google Signals disabled. If you'd rather not be measured, install a browser-level blocker (uBlock Origin, Brave's shields, etc.) or use Do Not Track — both successfully suppress the tag.

Product analytics — opt-in. The first time you visit briefi.sh you see a banner offering "Necessary only" or "Accept all". PostHog (pageviews, autocaptured clicks, masked-input session replay) only loads if you choose "Accept all". Decline and PostHog never initialises, no PostHog cookies are dropped, and no requests are sent to PostHog's servers.

If you accept and later change your mind, click Cookie preferences in the footer to reopen the banner and switch to "Necessary only". We immediately call opt_out_capturing() on the live PostHog session and stop sending events.

PostHog is configured with cross-site tracking disabled, IP addresses anonymised at capture, and no third-party cookies. We do not use advertising trackers (Google Ads, Meta Pixel, LinkedIn Insight, etc.) anywhere in the app or on the website.

AI and your content

Briefi uses Anthropic's Claude family of models to generate briefs, follow-ups and inbox classifications. Recording transcripts are produced by AssemblyAI. Live captions, when enabled, are produced by Deepgram. Your content is sent to these providers only for the duration of the request; all are configured to not train on your inputs (Anthropic and AssemblyAI under their commercial zero-retention terms; Deepgram under its enterprise opt-out).

AI output is suggestion-grade. Briefs, drafts, and classifications are starting points for your judgment — you remain responsible for what you send and decide. Verify before acting on critical items.

API + MCP server access

On the Business plan you can mint per-tenant API keys (Settings → API) and use them either via the REST API at app.briefi.sh/help/api or via the hosted Model Context Protocol (MCP) server at mcp.briefi.sh. API keys are stored bcrypt-hashed; we never see the plaintext after creation.

Both transports are scoped to a single workspace, rate-limited at 100 requests per minute per workspace, and bill AI actions against the same credit pool the in-app product uses. Revoking a key from the API tab takes effect on the next request. We log API requests for audit purposes (caller key prefix, endpoint, status, response time) for 13 months; we do not log request or response bodies.

Children

Briefi is not intended for, and we do not knowingly collect data from, anyone under the age of 16. If you are a parent or guardian and believe a minor has signed up, contact us at privacy@briefi.sh and we will delete the account.

Notifiable Data Breaches

If we have reasonable grounds to suspect a data breach has occurred that is likely to result in serious harm, we will notify affected users and the Office of the Australian Information Commissioner within 72 hours of becoming aware, in line with the Notifiable Data Breaches scheme under Part IIIC of the Privacy Act 1988.

The notification will describe what happened, what information was involved, what steps we are taking and what you can do to protect yourself.

Changes + contact

If we make material changes to this Privacy Policy, we will email every workspace owner at least 30 days before they take effect. The effective date at the top of this page reflects the most recent revision.

To exercise any of your rights or to ask a question about this policy, write to privacy@briefi.sh. For postal correspondence: Trimorph Pty Ltd, c/o Privacy Officer, Sydney NSW Australia (full address provided on request).

Ready when you are

Your next meeting deserves a brief.

Connect Google Calendar, see your first brief in 90 seconds. No card on file. Cancel from Billing whenever.