Legal

Privacy Policy

Published by Flowwi (legal notice) · contact: tristan@flowwi.fr · last updated: 28 October 2026

Keeti is a macOS application built around one rule: the audio of your meetings never leaves your Mac. Recordings, transcripts and meeting notes stay on your Mac. To write the notes, only the text of the transcript goes out: through our relay if you use a Keeti account, or straight to your AI provider if you use your own key. Our relay passes that text on and keeps none of it. This page says exactly what is processed, where, and what we store.

What Keeti handles, and where

DataWhere it livesWhat leaves your Mac
Meeting audio, including the sound of your Mac during a video call On this Mac only, in Keeti's own folder, outside iCloud Never. The file is deleted automatically according to your retention setting (30 days by default).
Transcript (text) On this Mac, in Keeti's own folder, outside iCloud The text is sent to write the notes: through our relay to Anthropic if you use a Keeti account, or directly to the provider you chose if you use your own key. The relay does not store it.
Meeting notes and action items On this Mac, plus a copy in the folder you choose (Documents by default) Only if you send them to a webhook, or let an AI assistant read them (see below).
Google Calendar and contact data Local, in the meeting files (see the dedicated section) Never sent to us. Confirmed attendee names and email addresses may be included in the text sent to write the notes.
Dictation Local only, held in memory while you dictate Never. The audio is discarded once transcribed on your Mac; the text goes only where you are typing.
Voiceprints Local, encrypted (see the dedicated section) Never.
Your own API key, secrets, tokens macOS Keychain (encrypted by the system) Never transmitted to Flowwi. Your own AI key is used only between your Mac and your provider.
Your Keeti account Our relay (see Your Keeti account) Your email address, your signed-in Macs and a usage count. No meeting content.

Your Keeti account and the relay

The Free and Pro plans and the Licence use a Keeti account. You sign in with your email address, confirmed by a code, or with Google. On a Mac managed by an organisation, that organisation may configure Keeti without a Keeti account.

What our relay stores

What the relay does not store

The text of your transcripts and the notes written from it pass through the relay in memory: they are not written to a database, a file or a log. When a note is written successfully, the relay logs nothing about it beyond the usage record above. It never receives any audio.

How long, and where

Who else processes what

ServiceWhat it receivesWhen
Anthropic (Claude) The text of the transcript and the instructions to write the notes When a note is written through your Keeti account
Your AI provider (Anthropic, OpenAI, Mistral or Google) The same text, with your own key, directly from your Mac When you use your own key. Our relay is not involved.
Resend Your email address and the sign-in code When you ask for a sign-in code. Sent from Resend's European region (Ireland).
Google Sign-in: Google shares your verified email address with our relay. Calendar and contacts: read-only, between your Mac and Google. Only if you choose to sign in with Google, or connect your calendar
Link and Stripe Your payment details and billing email, entered on their page. Our relay receives the customer and subscription identifiers and the status, which it keeps, and the payer's email in the payment notification, which it only compares with your account and neither stores nor logs. When you pay for Pro or a Licence
GitHub, Hugging Face Technical requests only: the update check, and the one-time download of the speech models Automatically

Each of these services handles the data under its own policy, which we encourage you to read. Link is the merchant of record for purchases: it handles your payment and your receipt as a seller in its own right.

What leaves your Mac only if you turn it on

  1. Outgoing webhook: if you configure one, the notes and action items are sent to the URL you provide, over HTTPS, signed with HMAC if you set a secret. The destination is your choice.
  2. AI assistants over MCP: Keeti's MCP server runs locally and exposes nothing on the network. If you connect it to the Claude app or Claude Code, the meetings Claude reads to answer you are sent to Anthropic under your own Claude account, when you ask.
  3. Google account connection: read-only, directly between your Mac and Google (section below).

Usage measurement (telemetry)

Since version 1.9, Keeti sends us anonymous usage events, so that we can see where the product fails people: how many installations reach their first meeting notes, where the others stop, which errors happen, on what kind of machine. This is how the product gets better, and this section says exactly what it carries.

What is sent

The measurement is on by default and there is no in-app switch. That is the deal this page makes explicit: we count precisely because the format above cannot carry anything about you.

What is never sent, by construction

No meeting title, no attendee name or email address, no transcript, no notes, no audio, no file name, no dictated text, never the name of the app you dictate into, no API key, no webhook address, and neither an account identifier nor an email address. This is not a promise held by a filter: the event format has no free-text field, and our server rejects any message that does not match that closed format. These measurements are never linked to your Keeti account.

Where it goes, and how long it stays

This design follows the French regulator's (CNIL) framework for consent-exempt audience measurement: strictly anonymous statistics, produced for the publisher's sole use.

Google user data

Connecting a Google account is optional and Keeti works without it. There are two distinct uses.

Signing in to Keeti with Google

If you choose Continue with Google to open your Keeti account, Keeti asks Google only for your identity (openid and your email address). Google gives the app a signed token, which our relay verifies. The relay keeps only your verified email address, exactly as if you had signed in with an email code. Nothing else from your Google account is read or stored for sign-in.

Preparing meetings from your calendar

If you connect your calendar, every permission Keeti requests is read-only, each one can be declined on its own at the consent screen, and the access happens directly between your Mac and Google (OAuth 2.0 with PKCE, loopback on 127.0.0.1). No Keeti server is involved in reading your calendar or your contacts.

What we access, and why

ScopeGoogle data accessedWhy
calendar.events.readonly Title, times, guests (names and email addresses) and recurrence identifier of your upcoming events Pre-fill the meeting title, the attendee list and the number of speakers; offer to record a meeting that is starting. The speaker count is what lets the on-device engine separate voices correctly.
directory.readonly Display name and email addresses of a person in your Google Workspace organisation's directory Turn a colleague's email address into their full name, so the notes credit a person rather than an inbox.
contacts.readonly Display name and email addresses of a contact you saved The same lookup, for clients and partners outside your organisation.
contacts.other.readonly Display name and email addresses of a person you have corresponded with without saving them as a contact The same lookup again. In practice this covers most external attendees.
openid, userinfo.email Your Google account's verified email address Only for Continue with Google: open or sign in to your Keeti account.

How we use it

How we protect it

Retention and deletion

Limited Use

Keeti's use and transfer of information received from Google APIs to any other app adheres to the Google API Services User Data Policy, including the Limited Use requirements. Concretely: Google data is used only to provide the features described above, is not used for advertising, is not sold, and is not accessible to any human being, unless you explicitly consent to share it as part of a support request.

Voiceprints

Keeti can learn your voice in order to recognise you from one meeting to the next and attribute what was said correctly. A voiceprint is biometric data under Article 9 of the GDPR: it gets heightened protection.

Legal framework

Recording a conversation without the knowledge of the people in it is unlawful (Article 226-1 of the French Criminal Code, and equivalent rules in most countries).

Keeti reminds you to make the announcement when you start a recording, but the announcement and obtaining consent remain your responsibility. One sentence at the start of the meeting is usually enough.

Security

In summary: secrets and tokens on your Mac stored in the macOS Keychain · network calls over HTTPS · Google calendar access over PKCE with a local loopback · sign-in codes and device secrets stored hashed on our relay, with short-lived access tokens · webhooks signed with HMAC · voiceprints encrypted with AES-GCM · updates signed with EdDSA. Keeti is distributed signed with an Apple Developer ID and notarised by Apple. Our relay holds no meeting content, so there is no central store of meetings to protect.

This site

Everything above describes the application and its relay. The site you are reading does not track you: no cookies, no analytics, no trackers. Fonts are served from this domain, so reading this page sends a request to nobody else.

Changes

This policy may change along with the application. The date of the last update is at the top of the page. A change that widened what leaves your Mac, or what we store, would be announced in the release notes.

A question about your data? Write to tristan@flowwi.fr.