Privacy Policy
Last updated: November 5, 2026 · KCF LLC · Newport Beach, California, USA
1. Our commitment
Meetings Brief is built by the Kindness Community Foundation (KCF LLC), based in Newport Beach, California, USA. We do not sell your data, we do not share it with advertisers or data brokers, and we do not use your meeting notes to train AI models. Where we rely on another company to run part of the service, that company is named in section 7 rather than described generically.
Meetings Brief’s use and transfer of information received through its Chrome extension comply with the Chrome Web Store User Data Policy, including its Limited Use requirements.
2. What we collect
The minimum needed to run the service: a session identifier for your workspace; the text of a note saved on the Home screen when action items are found in it, kept with those tasks; your Aria conversations and the short facts Aria remembers; and your email address, but only if you choose to add one to sign in on another device, or confirm one to receive meeting briefs from live meeting notes — we email a 6-digit code to check it is yours — in which case we keep it with the status and time of each brief we send to it. To enforce daily limits on confirmation codes, attempts to confirm an address, briefs, emails, AI requests you make (summaries, action items, AI search, Meeting Memory, Catch Me Up and the three text tools in section 4), the app's automatic AI suggestions and Aria messages, we also keep a count of each, filed under your workspace identifier and under one-way keyed hashes of your network address and of the email address involved — never the address itself; these counts are deleted after about two days. The notes and meetings you write are otherwise kept in your browser, not on our servers (section 6). We do not request GPS or precise device location. We process request IP addresses to enforce daily limits and protect the service, storing keyed hashes in the usage records described above. Our hosting and analytics providers also receive network information when handling requests. We do not collect contact lists or build advertising profiles. For online transcription, we also process the audio you choose to submit and keep temporary audio/transcript content in private storage, plus non-content job identifiers, language, file size/format/duration, processing status and reserved usage. These support ownership checks, recovery, cancellation and shared limits. The content and metadata have separate retention rules in section 8.
3. Audio, and where it is processed
Where audio goes depends on the mode and feature you choose. Online transcription sends audio off your device; On this device keeps speech recognition local. Review the processing notice before starting, and submit only audio you are allowed to share with the named processors.
In On this device mode, live meeting notes at /meet-notes listens to the meeting tab you share and, unless you turn it off, your microphone — or to your microphone alone, if you choose that. In Chrome on a computer, for the languages Chrome supports this way, the speech is recognized by Chrome's own on-device speech recognition: Chrome downloads that language once from Google, and the audio is then processed on your machine rather than sent to Google or to us. Otherwise the page runs a Whisper speech model downloaded into your browser, on your own machine. In those local recognition routes, transcription audio is not uploaded. When Online live transcription is available, it sends the microphone or shared-tab audio you select in short batches through private Supabase storage and our server to Groq’s Whisper transcription service. It does not download a speech model into your browser. The first batch covers about five seconds, followed by batches of about twenty seconds with a short overlap; words appear after processing, rather than instantly. A capture can cover up to two hours while shared capacity is available. Processing may pause or stop if capacity or the connection cannot keep up; confirmed words remain available for review. On this device remains a separate local choice. Choosing Online changes where audio is processed, not which conversations you have permission to capture.
The published Chrome extension version 1.0.1 uses Chrome’s on-device speech recognition without uploading audio. Versions that offer Online first disclose Groq audio processing and require your choice before uploading the selected tab and microphone audio. Online capture mixes these sources and does not identify individual speakers. Installing an update does not silently opt a previously local meeting into online processing. When you invoke the extension, it temporarily stores the selected tab’s title, tab ID and the time of that action to identify and manage the capture. It does not read Chrome’s browsing-history database or track unrelated browsing. Visits and interactions on this website are measured separately as described in section 5. The transcript can then pass to the website for a brief, as described below. For recovery after a browser interruption, it keeps one encrypted transcript locally in the extension, up to 400,000 characters, with confirmed local words checkpointed about every two seconds and completed online batches saved before their service result is acknowledged. If recognition ends with an unfinished draft, those words are saved in a clearly marked review section and automatic briefing is paused. New meetings use an encryption key managed automatically in this browser profile. You do not create or enter a recovery key, and saved meetings can reopen after Chrome restarts. The browser stores a non-extractable wrapping key in IndexedDB and uses it to protect the meeting keys. This does not protect against malicious code running with the same permissions, a compromised browser profile or device, or deletion of browser storage. Older meetings saved with a separate recovery key still require that key; they are not silently converted. This contains text, including any marked draft section, not audio. The last unsaved seconds and audio waiting for a language download may be lost. The panel lets you copy, download or explicitly delete this copy. It is removed after live meeting notes confirms a successful local save, or replaced by a new meeting after you keep the previous transcript. When the meeting ends — you press Stop, close the meeting tab, or nobody speaks for 3 minutes and you do not choose to keep listening — and more than about 150 words were transcribed, it opens live meeting notes on this site and passes the transcript to it inside your browser; with fewer words, it does that only when you press Get the brief. Live meeting notes then keeps the transcript and writes the brief as it does for any meeting (sections 4 and 6). If recognition stops before all captured speech has been processed, the extension keeps the words captured so far and asks you to review them; it does not open the brief automatically. Opening that transcript on the website also waits for you to choose to write or email a brief instead of doing either automatically.
File transcription at /transcribe offers separate processing modes. On this device downloads a speech model and runs it locally using WebGPU or WebAssembly; the recording is read into browser memory without uploading it. Online uploads the original recording to private Supabase storage and sends audio to the speech-recognition provider named before upload (Cloudflare Workers AI or Groq), without downloading a speech model to this device. The tool names that processor and displays its accepted formats and current limits before upload. For shorter jobs the selected processor is fixed. Where the long-recording route is offered, the processing notice names both Groq and Cloudflare before upload: Groq is primary and Cloudflare may process a section only when shared Groq capacity refuses it before submission. An uncertain submitted section is not automatically sent to another provider. The result records the processor used for each completed section. Long recordings are uploaded in bounded parts and processed in sections, with confirmed progress saved for continuation. The current file size, duration and shared-capacity limits are shown before upload. Online is a separate choice; it is not an invisible fallback from local processing.
The microphone button in Aria uses Chrome's on-device speech recognition when Chrome has the chosen language on this computer. Otherwise, like live voice capture in the app, it uses the speech recognition built into your browser (the Web Speech API), which by default sends the audio to its maker's online speech service to turn it into text — in Chrome, that is Google; in Safari, Apple — so for those features the audio does leave your device, though it never reaches us; only the resulting text is kept, and no audio file is created.
Audio clips you record on a meeting's Audio tab in the app are saved in your browser's storage on this device and are never uploaded; deleting a clip deletes its audio.
Choosing On this device for file transcription does not send recording content to us. Online audio processing is separate from AI briefing: when you request a brief from a file transcript, or a completed live capture automatically requests one, transcript text goes to Anthropic (section 4). Anthropic does not receive the audio for that brief.
4. AI features and your notes
When you use an AI feature — summaries, action-item detection in a meeting, the app's AI search, Meeting Memory or Catch Me Up — note text is sent to Anthropic's API to generate the response, and the response is returned to you. Some of these send more than the note in front of you: AI search sends your query with your most recent quick notes and meeting notes (or one of the two, if you filter); Meeting Memory sends the current meeting's notes with the notes of your most recent other meetings; Catch Me Up sends the notes of your most recent other meetings. Each of these three sends up to about 8,000 characters in all. Meeting titles go with them, and summaries, action-item detection and Catch Me Up also send the attendee names you entered. When you chat with Aria, what is sent is the message you type, up to 20 of the most recent messages in that conversation (yours and Aria's), up to 30 of the facts Aria saved most recently and — only while you have one attached — a meeting saved in your browser by live meeting notes, its transcript and brief up to about 60,000 characters, which is sent with each question and is not saved in the conversation or in Aria's memory. Aria does not otherwise read your notes. Three features run automatically: while you type a note on the Home screen, it is compared with the opening words of a few recent notes to suggest related ones (the contextual bridge); when you save a note there, its text is sent to pull out action items; and a meeting's notes are summarized automatically as you work on the meeting. It is transient: your notes are not used to train, fine-tune or improve any model, ours or Anthropic's. If a note is sensitive enough that it should not be sent to a model at all, do not type it in the app. The meeting summary generator (/summary-generator), the meeting minutes generator (/meeting-minutes-generator) and the follow-up email generator (/follow-up-email-generator) send the text you paste — or the text of a transcript file you drop, which is read in your browser — up to 400,000 characters, to Anthropic's API in the same way, to write the result. Text over about 8,000 characters is read in sections by the service that writes meeting briefs; the finished result is held temporarily in private Supabase storage so the page can retrieve it again if a response is interrupted (the cleanup schedule is described in section 8), and a record of the request's status and time, without the text, is kept as for a brief. Each tool has daily limits, counted as described in section 2. Transcribing a recording in On this device mode at /transcribe does not upload its audio. Online file mode sends audio to the provider named before upload (Cloudflare Workers AI or Groq) as described in section 3; choosing to generate an AI brief sends transcript text to Anthropic separately. When live meeting notes writes you a brief — on its own when you stop a meeting of more than about 150 words, or when you ask — the transcript text (never the audio) is sent to Anthropic's API to write it, on the same terms; so is a transcript you paste in or pass to it from the extension once it is published, and a transcript from /transcribe, but only after you choose “Get the brief”. Finishing file transcription by itself does not request an AI brief, send the text to Anthropic or navigate away from your exports.
5. Cookies, local storage and analytics
We use browser local storage for your preferences and session. When you confirm an email address with a code, we also set the email-confirmation cookie mb_known. It holds a signed one-way keyed hash of that address, not the address itself; it is sent only to our email-confirmation function, cannot be read by the page's scripts, and lasts a year from the last confirmation. It is used only so this browser can confirm the same address again without a new code, and clearing your cookies removes it.
We also load Google Analytics 4 to see which pages people reach and which they leave, and which features are used — for example starting live notes, getting a brief or using a starter in Aria — counted by name and rough size only, never with the content of your notes, transcripts, messages or email address. It is configured with IP anonymization. We do not run advertising cookies, retargeting pixels or data-broker tags. Optional analytics starts only after you allow it in the cookie banner. A saved refusal, Global Privacy Control or Do Not Track prevents measurement. The Google tag loads after the page has loaded, normally when the browser has idle time; the initial page visit and early feature events may be measured when it starts. If you decline before it starts, those queued events are discarded and the tag is not requested. If it has already started, declining disables further measurement but cannot undo data already sent or cancel every request already in progress. On later page loads, a saved decline prevents the Google tag from being requested. Your choice is kept in this browser's storage: clearing it returns optional analytics to off until you allow it again. You can change your choice from Cookie preferences in the website footer. Declining does not reduce what the product does.
A share link carries the brief inside the link itself, after the # sign, which browsers do not send to our server; anyone who has the link can read the brief. When a shared brief page (/brief) is opened, we count that once in Google Analytics, naming only the page and whether the link could be read, never the brief; nothing else on that page is measured, and nothing is counted unless you allowed analytics. The buttons that send a brief to other people — Gmail, Outlook, your email app, WhatsApp or your phone's Share — open that app or service with the text filled in; we send nothing ourselves, and the text then goes through the service you chose.
If you install the Chrome extension once it is published and later remove it, Chrome opens a page on this site (/extension-feedback) that asks why. The answer you pick is counted in Google Analytics as one of a few fixed labels, like other site events, and is not counted unless you allowed analytics. Anything you type there reaches us only if you choose to email it.
First-party product insights use the same affirmative analytics choice. A random browser identifier is saved for up to a year and a separate browser-session identifier represents activity separated by about 30 minutes. These are browser estimates, not verified people. The service stores keyed hashes and fixed product labels: the known page path, feature starts and outcomes, and bounded foreground-engagement seconds. It does not collect note or recording content, filenames, email addresses, full query strings or URL fragments in these measurements. Admin pages and shared-brief content are excluded. Declining analytics clears these browser identifiers and stops future measurement; it does not remove previously recorded counts. Blocking or losing measurement requests can leave gaps.
Approved staff can sign in to the separate admin console using a one-use email code. Its HttpOnly, Secure, same-site session cookie can keep that browser verified for up to 14 days from verification. Signing out, revocation or expiry ends access sooner; this does not change customer workspace authentication.
6. Where your notes are stored
Notes and meetings you write in the app are kept in your browser's storage on the device you used. They are not uploaded to our database, so they do not appear on another device, and clearing your browser data deletes them. The same goes for transcripts from live meeting notes and their briefs, which are kept in your browser so you can reopen them under “Your meetings on this device”. Meetings received from the Chrome extension are encrypted in local storage, including subsequent saved brief updates. For new extension meetings, the website encrypts its own saved copy using an automatically managed browser key, so it reopens without a password or recovery key. That key stays in this browser profile and does not sync to another device. Older extension meetings saved with a recovery key still need that key after reloading. Older saved meetings, website-only meetings, recording transcripts and other app notes are not covered by this encryption. Encryption protects saved copies, not text displayed in an unlocked page, explicitly downloaded or shared, or sent to generate or email a brief. We cannot restore a new encrypted meeting if its browser key is deleted, or an older protected meeting if every copy of its recovery key is lost. Your browser can also delete them by itself: Safari (on iPhone, iPad and Mac) may clear saved meetings, and the rest of what this site keeps in your browser's storage, after about a week without a visit to the site. That includes the record that your email address was confirmed, so you may be asked to confirm it again. Download anything you want to keep; briefs emailed to you stay in your inbox. What does reach our database — the text of a Home-screen note when action items are found in it, kept with those tasks; your Aria conversations and the facts Aria remembers; and meeting-brief send records (the address, status and time of each brief) — is stored in a Supabase database (PostgreSQL) hosted in the United States, associated with your workspace identifier. Row-level security is enabled so a workspace can read only its own rows. A finished meeting brief is also held in private Supabase storage until this browser confirms it has saved the brief locally, when the server copy is deleted. If that confirmation does not arrive, a daily cleanup removes results older than one day, normally within two days. Long summaries, minutes and follow-up emails from the tools in section 4 are shown on the page and held in the same private storage so an interrupted response can be retrieved again; they follow the same daily cleanup schedule. A service outage or incomplete cleanup can delay deletion (section 8). Online-transcription source files and uncollected transcript results are an exception to device-only storage: they are held temporarily in private Supabase storage with owner checks. After the browser confirms a successful local save, the service attempts to remove its result copy; expired content and failed deletions are handled by scheduled cleanup. Where offered, live online audio passes through Cloudflare for recognition; we do not use the relay as an audio archive. Saved browser transcripts can record the processing mode/provider so a later brief does not incorrectly claim that online audio stayed local.
7. The companies involved
Netlify hosts the site and runs the serverless functions. Supabase provides the database, the storage that briefly holds a finished meeting brief or long text-tool result and keeps the daily-limit counts, and authentication. Anthropic processes text sent to AI features. Resend delivers the 6-digit confirmation code and the meeting brief email from live meeting notes, which carries the brief and the transcript to the address you confirmed. Google provides the analytics described in section 5. Online recording transcription uses the processor named before upload: Cloudflare Workers AI or, where offered, Groq. Online file audio also passes through private Supabase storage and our processing functions. Groq processes Online live audio where that mode is offered. The older Cloudflare streaming route remains a private pilot and is not a promise of public availability. Cloudflare states that standard Workers AI inference does not retain content after processing and delivery and does not use that content to train models. Operational metadata, stateful features or logging, and legal/security obligations have separate exceptions. These processor terms are not a promise of immediate deletion from every system. Separately, Chrome downloads the languages for its on-device speech recognition from Google, and when you use live voice capture in the app or Aria's microphone without on-device recognition, your browser's own speech service receives the audio, as described in section 3. No personal data is sold to or shared with advertisers or data brokers.
Where Groq is offered for online recording transcription, it is named before upload and requires your online-processing choice. Recording or live-batch audio is uploaded to private Supabase storage and sent by our server to Groq’s Whisper transcription service. This route is enabled only after the company’s Free account and zero-data-retention setting are checked. Groq’s usage metadata and legal/security exceptions have their own retention rules; zero data retention is not a promise that all metadata disappears. Choosing a different provider requires the corresponding processing disclosure. The on-device option remains available without uploading recording audio.
8. Retention and deletion
A note you delete in the app is removed from your browser rather than hidden, and clearing your browser data removes all the notes and meetings kept there. Deleting a notebook meeting removes its notes, agenda, audio metadata and recordings from this browser, including any recording in progress. If cleanup cannot finish, the app keeps a retry record and shows Retry deletion. Small markers containing only the meeting's opaque identifier remain in browser storage so another open tab cannot restore deleted content. Downloaded or shared copies and cloud tasks are not removed by this action. The text of a Home-screen note stored with its action items (section 6) stays in our database when you delete the note or save or dismiss the task. Aria conversations and individual Aria memories can be deleted in Aria. If you have not added an email address, clearing your browser data also ends your sign-in, and what is stored in our database can then no longer be reached from the app. On this device transcription at /transcribe does not send audio or transcript content to us while it is made. Completed sections of recording transcripts are saved in this browser using IndexedDB, together with subtitle timings, the filename, file size and modification time used to match a recording for continuation, language, transcription quality and progress. Audio files are not saved there. Saved recording results stay until you explicitly delete them or your browser data is cleared; there is no automatic count-based deletion. Continuing an unfinished recording requires you to select the matching original file again. In On this device mode, only finished sections are saved during transcription, usually about five minutes at a time; an interrupted section must be transcribed again. An online recording instead has a recoverable service job; checking that job does not start another provider request. If saving fails, the result stays on the page with a retry and download option. Browser storage is not a guaranteed backup, so download results you need to keep. Choosing “Get the brief” passes a transcript to live meeting notes, which sends and keeps it as described in section 4. A transcript transferred from file transcription also stays in that tab's session storage until live meeting notes successfully saves its own local copy. An extension transfer keeps only encrypted content there; its decryption key passes through page memory. A failed transfer keeps the source available, and the extension removes its recovery copy only after the website has verified and saved the protected meeting. Closing the tab can remove this waiting copy. The extension’s separate local recovery copy has the limit and deletion controls described in section 3. Online-capable versions also keep the anonymous service authorization encrypted in this browser profile for a bounded recovery period of up to 24 hours, so the same owner can retrieve an unfinished batch after a restart. This is not an administrator login or a saved provider API key. Clearing extension storage can remove that recovery access. Transcripts from live meeting notes stay in your browser until you delete them under “Your meetings on this device”, you clear your browser data, or your browser clears it (Safari may, after about a week without a visit; see section 6). A finished brief held for the page is deleted after the browser confirms a successful local save. A daily cleanup removes unacknowledged briefs and long text-tool results older than one day, normally within two days, and expires the daily-limit counts described in section 2 after about two days. Deletion can take longer if a service is unavailable or a cleanup run cannot finish; the cleanup reports these failures for follow-up. To have an entire workspace removed, including those records, add an email address in the app if you have not already, then email us from that address and we will delete it. If a workspace without an email address has lost its sign-in, we cannot tell which records are yours, so we cannot delete them on request.
Online source audio is removed after processing, failure or cancellation when possible. Audio and held transcript results stop being available through the service after 24 hours. An hourly cleanup removes expired content and retries failed deletions; a source uploaded late through an already-issued upload permission is also subject to cleanup. Removal normally follows on the next scheduled run, but outages or incomplete deletion can extend physical retention. After this browser acknowledges a successful local save, the service attempts earlier deletion of its transcript copy and retries failed deletion. Temporary job-status and usage metadata are retained separately for limits, abuse protection and recovery: job metadata is normally pruned after seven days once content deletion is confirmed, and usage counters after eight days. A failed deletion can retain its non-content cleanup record longer so the service can retry rather than lose track of the copy. The 24-hour limit concerns content access, not deletion of all metadata.
The selected processor’s content-retention terms and separate metadata, operational and legal/security exceptions are described in section 7. Cloudflare’s standard-inference terms and the conditional Groq route have their own requirements; neither is a promise that every record disappears immediately. Cancelling a request cannot undo processing that already occurred. Downloaded files, shared copies, saved browser transcripts and emails follow their own deletion rules.
Business insights keep content-free daily page, feature, operational and capacity aggregates for long-term reporting. Daily pseudonymous browser and page-visitor details are normally retained for 90 days. Browser/session identity records are normally removed after 90 days without activity. Scheduled cleanup removes expired details; outages or incomplete cleanup can delay physical removal. Exact browser deduplication outside that retained window is unavailable, rather than presented as a fabricated count. Compact daily history remains available after those details expire. Event replay receipts normally last two days. Non-content operation receipts may remain for 400 days after their source record disappears so recovery or cleanup cannot count the same operation twice.
A server-verified email confirmation is recorded as a one-way keyed hash for unique-address counts, together with its first and most recent observed confirmation dates. A restored older confirmation can therefore be new to this measurement registry without being a new customer. Historical recipient addresses are not assumed to be verified, and the admin reports expose aggregate counts rather than customer email addresses, notes or recordings. Only approved administrators can read these reports. Security challenges, hashed session credentials and bounded abuse counters are kept separately from product analytics. These reporting records do not extend retention of meeting audio or transcript content.
9. Children's privacy
Meetings Brief is not directed at children under 13 and we do not knowingly collect personal information from them. If you believe a child has provided personal information, contact us and we will delete it.
10. Your rights (CCPA / GDPR)
Depending on where you live you may have the right to access, correct, export or delete the data we hold about you, and to object to certain processing. Contact us at contact@kindnesscommunityfoundation.com to exercise any of these. We respond within 30 days. Because much of what the product does happens on your own device, in many cases the data you are asking about was never in our possession to begin with.
11. Changes to this policy
If we change what we collect or which companies process it, we update this page and the date at the top. Material changes will be surfaced in the product rather than published quietly.
12. Contact
Kindness Community Foundation (KCF LLC) · 4110 San Joaquin Plaza, Newport Beach, CA 92660, USA · Phone: +1 949 996 3051 · Email: contact@kindnesscommunityfoundation.com · Website: kindnesscommunityfoundation.com