Privacy & data use
Privacy Policy: How We Protect Your Data
What personal data CmdBrief collects through cmdbrief.com, the CmdBrief app for Mac and CmdBrief for ChatGPT, why, who receives it, how long we keep it, and your choices.
1. Introduction
This Privacy Policy explains what personal data we collect when you visit cmdbrief.com, use the CmdBrief app for Mac, or use CmdBrief for ChatGPT; why we collect it; who receives it; how long we keep it; and the choices you have. CmdBrief runs on your Mac: your repositories, terminals and agent conversations stay there unless this policy says otherwise.
2. Data Controller
CmdBrief is operated by J&L Serverid OÜ, registry code 11478495 (Estonian Commercial Register), VAT number EE101657514, Haaviku tee 9, 61702 Külitse, Kambja vald, Estonia. Email: [email protected]. J&L Serverid OÜ is the data controller under the GDPR.
3. Information We Collect
At a Glance
The short version; the sections below give the detail.
| Surface | What is sent | To whom | Control |
|---|---|---|---|
| Website | Page views and clicks | Google Analytics; PostHog (EU) | Only after you accept analytics cookies. Global Privacy Control turns them off. |
| Account | Email, device ID and device name, sign-in times | cmdbrief.com; ZeptoMail delivers sign-in codes | Needed for an account. |
| Billing | Email, account ID, subscription and payment identifiers | Stripe | Needed to subscribe. |
| CmdBrief app | Subscription and update checks, crash reports | cmdbrief.com; Sentry (EU) | Always on in release builds. No usage analytics. |
| Feedback and contact | What you write, plus the screenshot, crash log and diagnostics you choose to attach | cmdbrief.com; ZeptoMail | Only when you send a report or message. |
| CmdBrief for ChatGPT | Plans and requests from ChatGPT; CmdBrief's answers about your workspaces and crews | Relayed through cmdbrief.com between ChatGPT (OpenAI) and your Mac | Off until you connect ChatGPT and turn on ChatGPT in the cloud. Disconnect any time. |
| Voice Agent | Your voice and what the agent reads for you | OpenAI Realtime or xAI Grok, with your API key | Only during a voice session you start. |
Account
- Account data: Your email address, account and subscription status, promotional access you redeem, and when you signed up
- Devices: A random device ID and a device name for each Mac or browser you sign in from (the app uses your Mac's name; a browser shows as "Web browser"), when it was added, and when it was last active
- Sign-in: one-time sign-in codes and sign-in tokens. Our email provider receives your email address, the code and the device name to send the sign-in email
Billing and Payment Risk
Stripe receives your email address and account ID to create your customer record, and collects your card, name, billing address and any tax ID itself, under its own privacy policy. We keep Stripe customer, subscription, price, invoice, charge, dispute and event identifiers; subscription status and renewal time; fraud-warning, refund and dispute reason and outcome codes; the Terms version you accepted; and security timestamps. Card details are collected by Stripe; we don't receive full card details.
The CmdBrief App
- Subscription checks: The app checks your subscription with cmdbrief.com at launch and periodically, using its sign-in token
- Updates and release notes: The app checks cmdbrief.com for updates once a day and downloads release notes after an update. These requests carry no account or device identifiers
- Crash reports: When a release build crashes, it sends Sentry (EU region) the error message, stack trace, app version, macOS version and build, Mac model, and the diagnostic messages the app recorded before the crash. We do not add terminal content, prompts, agent responses, or files, but an error message can quote the text the app failed on, such as a file path. Some app versions also include the Mac's name. A crash report can include technical data about the app's state at the time of the crash, which may contain fragments of what the app was handling
- No usage analytics: The app does not track how you use it
Feedback and Contact Messages
- Feedback from the app: The type, area, summary and message you write and whether we may reply, linked to your account and device. If you leave diagnostics on: app version and build, macOS version, chip architecture, renderer, and which agent CLIs are installed. If you choose: one screenshot you pick and the app's latest local crash log
- Contact form: Your name, email address, topic and message. We store it, and ZeptoMail delivers it to our inbox
Voice Agent
Voice Agent runs only while you hold a session. Your Mac connects directly to the provider you choose (OpenAI Realtime or xAI Grok) with your own API key; the conversation does not pass through cmdbrief.com. The provider receives your microphone audio, the session instructions, and what the agent reads for you: screen text of panes, agents' questions, and the files it lists or opens. Transcripts of the last 100 sessions stay on your Mac. Language availability and accuracy vary by provider; each provider requires your API key and bills usage separately.
Your Agents and Accounts
CmdBrief runs agent CLIs such as Claude Code and Codex on your Mac. They send your prompts to their providers under your own accounts and those providers' terms; that traffic does not go through cmdbrief.com. With your local credentials, the app also asks providers for your usage limits, checks npm or Homebrew for agent CLI updates (you can turn this off in Settings), reads pull requests through your GitHub CLI login, and, for the features you set up with your own key, sends dictation audio to OpenAI or OpenRouter, and Jev check text (with data collection denied) and image prompts to OpenRouter. None of this reaches us.
The Website
- Analytics: Only after you accept analytics cookies: page views, clicks on calls to action such as Download, product video plays, and (PostHog) when you leave a page. Google Analytics runs with Google signals and ad personalization off. PostHog runs without autocapture, session recording or person profiles. Global Privacy Control turns analytics off
- Consent records: Your cookie choices, consent version, time, Global Privacy Control status, the page you chose on, a random consent ID stored in your browser, your browser's user agent, and a pseudonymised form of your IP address
- Cookies and local storage: See the Cookie Policy for each one
Server logs
Cloudflare delivers every request to cmdbrief.com. Our servers log requests (time, IP address, the page or API path requested, status, size, referrer and browser user agent) to keep the service running and secure, and log account IDs for some security and billing events.
4. CmdBrief for ChatGPT
CmdBrief for ChatGPT lets you plan a project in ChatGPT and send it to CmdBrief on your Mac. It does nothing until you connect ChatGPT to your CmdBrief account and turn on ChatGPT in the cloud in the app's Settings > Account. ChatGPT is run by OpenAI, which handles your ChatGPT conversations, including CmdBrief's answers, under its own privacy policy.
- From ChatGPT to your Mac: Plans you build or send (title, phases, gates, notes), the workspace or folder you choose, links to images you attach or generate, and your questions about your crews. The app downloads images from those links itself; images do not pass through cmdbrief.com
- From your Mac to ChatGPT: What you ask for: workspace names and project folders (shown from your home folder), project and roadmap titles and progress, plans waiting for your confirmation, runs with their goals and each agent's name, role, status and what it reports doing, what needs you (agents' questions; permission requests with the command, its folder and up to four file paths; the start of a message you held back), which lead agents are installed, and Claude and Codex usage levels. It never sends file contents, terminal output or git history
- What we store: The connection details, plans you send while the app is offline until the app receives them, and a short-lived receipt of each send so a retry is not delivered twice. Other requests and answers are relayed to the app and not kept after delivery
- Your controls: Nothing starts until you confirm a plan in CmdBrief. Turning off ChatGPT in the cloud stops relaying. Disconnecting ChatGPT in Settings > Account revokes its access at once and deletes plans waiting for the app, and so does deleting your account
5. How We Use Your Information
| Purpose | Legal Basis (GDPR) |
|---|---|
| Creating and securing accounts, signing in devices, and providing subscription access | Contract (Art. 6(1)(b)); legitimate interest in security (Art. 6(1)(f)) |
| Processing payments, calculating tax, preventing fraud, handling refunds and disputes, and keeping financial records | Contract, legal obligation, and legitimate interests in fraud prevention and legal claims (Art. 6(1)(b), (c), (f)) |
| Relaying requests between ChatGPT and the CmdBrief app, and holding a plan while the app is offline, when you connect them | Contract (Art. 6(1)(b)) |
| Checking for app updates and showing release notes | Contract (Art. 6(1)(b)) |
| Answering contact messages and feedback reports, and telling you when a reported problem is fixed if you allow replies | Contract and legitimate interest in supporting users (Art. 6(1)(b), (f)) |
| Diagnosing and fixing app crashes | Legitimate interest in keeping the app working (Art. 6(1)(f)) |
| Running and protecting the service: server logs, rate limits, abuse prevention, and internal operations alerts | Legitimate interest in security and reliability (Art. 6(1)(f)) |
| Recording cookie and privacy choices, including Global Privacy Control | Legal obligation and legitimate interest (Art. 6(1)(c), (f)) |
| Measuring website use with Google Analytics and PostHog | Consent (Art. 6(1)(a)) |
| Pre-launch waitlist records and product updates you opted into before launch | Consent (Art. 6(1)(a)) |
7. International Transfers
Our hosting and crash-reporting providers and PostHog store data in the EU. Some recipients, including Stripe, Google, Cloudflare, Zoho (ZeptoMail), internal notification tools, OpenAI and xAI, are based in the United States or elsewhere outside the EEA and may process data there. Those transfers rely on safeguards such as the EU–U.S. Data Privacy Framework or Standard Contractual Clauses.
8. Data Retention
- Account data: while your account is open; after deletion we remove or anonymise it within a reasonable period, except the records below.
- Sign-in and connection data, relayed plans and receipts: only as long as needed to deliver them and keep sign-in secure.
- Contact messages and feedback: as long as needed to handle them, or until you ask us to delete them.
- Crash reports, server logs and analytics: for a limited period, then deleted or aggregated.
- Billing, tax, fraud and dispute records: as long as Estonian accounting and tax law requires and as needed for legal claims.
- Withdrawal requests: the name and email address you sent us, kept as a record of the withdrawal, also after your account is deleted.
- Consent records: as long as needed to show your choice.
9. Your Rights (GDPR)
Access
Request a copy of your personal data
Rectification
Correct inaccurate data
Erasure
Request deletion of your data
Portability
Receive data in machine-readable format
Object
Object to processing based on legitimate interests
Withdraw Consent
Withdraw consent at any time
You can delete your account and sign out devices on the account page. Deleting your account cancels any subscription first, replaces your email address with a placeholder, revokes every session, device and ChatGPT connection, and deletes your sign-in codes, plans waiting for the app and their receipts. You can disconnect ChatGPT on its own in the app's Settings > Account. For anything else, including access, correction, portability, objection, or deleting feedback reports, contact messages or waitlist records, email [email protected].
Deletion rights are not absolute. We may keep the minimum billing, tax, fraud-prevention, security, or legal-claim records required or permitted by law, restrict them from ordinary product use, and explain the exception in our reply.
You can also complain to the Estonian Data Protection Inspectorate (aki.ee) or the data protection authority where you live.
10. Security
We use appropriate technical and organisational measures to protect personal data.
11. Contact Us
For privacy questions and requests:
Email: [email protected]
When this policy changes, we update the date at the top of this page.
Keep reading
Questions about this page? Contact [email protected].