Privacy policy
Last updated 2 November 2026
AceCode is a Mac app that listens to your calls and helps you answer. That makes privacy the first thing to get right, for you and for the people you talk to. This policy says exactly what AceCode keeps on your Mac, what it sends and to whom, and what our server stores.
In short
- Audio is transcribed on your Mac and is never saved or uploaded.
- Transcripts, sessions, answers and debriefs are stored on your Mac, not on our server.
- When you ask for an answer, the text it needs (and a screenshot, for the modes that read the screen) goes to the AI model you chose. With the included model it passes through our server, which doesn't store it. With your own key it goes straight to your provider.
- Our server keeps your account, the Macs you sign in on, and a record of each included-model answer: never its content.
- No ads, no tracking cookies, no analytics on this website, and we never sell data.
This summary is here to help. The full policy below is what applies.
1. Who is responsible
The controller of your personal data is Ihar Litvinovich, a sole trader (jednoosobowa działalność gospodarcza) registered in Poland, Warszawa, Poland, NIP 7011083588, REGON 521736373. For anything about your data, write to support@acecode.app.
2. What stays on your Mac
- Audio. AceCode hears your microphone and your Mac's sound output and turns them into text with Apple's speech recognition, on your Mac. Audio is never saved, and never leaves your Mac.
- Sessions. Transcripts, answers, and the debrief written at the end of a session are stored on your Mac.
- About you. Your résumé, the job description, your stack, seniority and instructions are stored in AceCode's settings on your Mac.
- API keys you add are stored in your Mac's Keychain.
- The app log records what AceCode did (never transcript or screen content), with API keys and tokens removed. It stays on your Mac unless you include it in a problem report.
AceCode only captures your screen when you ask: when you use Assist, Solve, Debug or Design, or type a question, it takes a screenshot and reads its text on your Mac. When the overlay opens or a session starts, it asks macOS for the list of windows and displays so the screenshot is quick, without capturing any pixels.
3. What is sent when you ask for an answer
Nothing is sent to an AI model until you ask for an answer (with a hotkey, a button or a typed question), or until auto-answer replies to a question, if you turned it on. Each request contains:
- the recent transcript of the call (up to the last 60 lines), and your question if you typed one;
- for Assist, Solve, Debug, Design and typed questions, a screenshot of your screen (scaled down) and the text read from it. What to say, Recap and auto-answer never include the screen;
- for a follow-up on the same problem, the problem statement and the latest answer to it, so the new answer builds on them;
- your About you details and your settings for the answer (interview type, style, programming language and answer language).
If session debriefs are on (they are by default, in Settings, General), the whole transcript of a session and your About you details are sent once when the session ends, to write the debrief.
Where it goes depends on the model you chose:
- The included model. The request goes to our server (api.acecode.app, hosted by OVHcloud in Singapore), which checks your sign-in and allowance and passes it to the model provider, currently OpenAI (United States), and streams the answer back. Our server doesn't store the request or the answer; it keeps only the answer record described in section 5. OpenAI processes the request for us under its API terms, which don't let it train its models on this data; it may keep it for a limited time to detect abuse.
- Your own key. The request goes from your Mac straight to the provider you chose (OpenAI, Anthropic, Google Gemini, xAI Grok, Moonshot Kimi or DeepSeek), under your account with them. We never see it. That provider's privacy policy applies.
4. Your AceCode account
An account is optional if you use your own key. Sign-in is run for us by Clerk (Clerk, Inc., United States), which stores your email address and sign-in details as our processor.
For each Mac you sign in on, our database keeps your account's Clerk user ID and email address, a random ID for that Mac, its name as set in macOS, the AceCode and macOS versions, a hash of its access token (never the token itself), when it signed in and was last seen, and, once it's signed out, when. Signing in from the app also creates a one-time code that works for 5 minutes; we keep only its hash, with your user ID, email address, the Mac's name and the values that tie it to that Mac. A signed-in Mac checks its account from time to time, sending its random ID, its versions and the IDs of the signing keys it trusts.
You can sign a Mac out at any time on your account page.
5. Answer records for your allowance
For each answer from the included model, our server records your user ID, the Mac's random ID, a random ID for the request, the mode, whether it was quick or full, the model, the number of tokens used, whether it finished, and the time. This is how we count your monthly allowance, keep costs and abuse in check, and answer questions about your usage. It never contains the question, transcript, screenshot, About you details or answer. Answers with your own key leave no record with us.
6. Payments
If you buy Pro, Stripe handles the payment. Card details go to Stripe and never reach us. We keep your Stripe customer ID and subscription ID, your plan, its status and when the current period ends, so the app knows you have Pro. Stripe processes payment data as our processor, and also under its own responsibility for things like fraud prevention and its legal duties. We keep invoices and payment records for as long as tax and accounting law requires (in Poland, generally five years).
7. Problem reports
In Settings, Privacy you can send us a problem report. Nothing is sent until you press Send, and you see the whole report first. It contains what you type, the AceCode and macOS versions, your settings as switches and choices (for free-text fields such as your résumé, only whether they are filled in), the state of the app and its permissions, your plan and, if you leave it ticked, the last 200 lines of the app log with API keys and tokens removed. It never contains transcripts, screenshots, answers or keys. If you are signed in, the report is linked to your account and that Mac so we can help you. We keep reports for 180 days.
8. Usage counts
Usage counts are off unless you turn them on in Settings, Privacy. When on, AceCode sends event names such as “session started” or “answer requested” with a few fixed details (the mode, quick or full, whether you use the included model or your own key, an error code, an onboarding step, or which setting changed), the AceCode version and the time. They are sent without your account token, so they aren't linked to you or your Mac. Never transcripts, screen content, questions or answers. We keep them for 90 days.
9. Abuse protection, logs and backups
To stop abuse, our server counts requests in short time windows. For problem reports, usage counts and the app's sign-in, it counts by a keyed hash of your IP address, never the address itself; for answers, by the Mac's random ID; and for website sign-in codes, by your user ID. These counters are deleted after about two days.
Our servers don't keep access logs of the requests you make. Error logs can contain technical details of a failed request; they are rotated automatically and overwritten after a short time. We back up the database daily and keep backups for up to six months.
10. Updates and downloads
AceCode checks for updates by downloading a small file from acecode.app, and downloads updates and the app itself from our release host, GitHub. These requests carry your IP address and the app version, like any download, and nothing about your account.
11. This website
acecode.app has no analytics, no ads and no tracking cookies. Only the sign-in, sign-up and account pages load Clerk's sign-in script, which sets the cookies it needs to keep you signed in. Checkout and the billing portal are Stripe's own pages. The site's fonts are served from our own server.
12. Other people on your calls
Transcripts contain what the other participants say. AceCode asks you, before each session, to confirm that you have told them or have their consent where the law requires it, and you are responsible for that. When you use the included model, we process their words only to produce your answer, and don't keep them. If you were on a call with someone who used AceCode and want to ask about your data, write to us: we hold no transcripts, but we'll answer.
13. Who processes data for us
- OVHcloud (OVH SAS): hosts our servers and database, in Singapore.
- Clerk, Inc. (United States): sign-in and accounts.
- Stripe (Stripe Payments Europe, Ltd., Ireland, and Stripe, Inc., United States): payments.
- OpenAI (United States): the included model.
- GitHub, Inc. (United States): hosts app downloads and updates.
Where data goes outside the European Economic Area, the transfer is covered by the European Commission's standard contractual clauses or by the EU-US Data Privacy Framework, as applicable. We never sell personal data or share it for advertising.
14. Why we may use your data
- To provide AceCode to you (Article 6(1)(b) GDPR): your account, signing in your Macs, answers from the included model and their allowance, Pro, and support.
- Our legitimate interests (Article 6(1)(f)): keeping the service secure and free of abuse, fixing the problems you report, and keeping backups.
- Your consent (Article 6(1)(a)): usage counts, which you can turn off at any time.
- Legal duties (Article 6(1)(c)): keeping payment and tax records.
We make no automated decisions about you that have legal or similarly significant effects.
15. How long we keep it
| Answer content (transcript, screenshots, questions, About you, answers) | Not stored on our server |
|---|---|
| Sign-in codes | Deleted about a day after they expire (they work for 5 minutes) |
| Rate-limit counters | About 2 days |
| Usage counts | 90 days |
| Problem reports | 180 days |
| Your account, your Macs and answer records | Until you delete your account |
| Subscription records | Until you delete your account; payment and invoice records as long as tax law requires |
| Database backups | Up to 6 months |
To delete your account, write to support@acecode.app from the address you sign in with. We delete your account, your Macs, your answer records and your subscription record within 30 days, except what tax law requires us to keep. Sessions on your Mac stay there until you delete them.
16. Your rights
You can ask us for a copy of your personal data, and to correct it, delete it, restrict its use or send it to you in a portable format. You can object to uses based on our legitimate interests, and withdraw consent at any time. Write to support@acecode.app; we reply within one month. You can also complain to a data protection authority: in Poland, the President of the Personal Data Protection Office (Prezes Urzędu Ochrony Danych Osobowych, ul. Stawki 2, 00-193 Warszawa, uodo.gov.pl), or the authority where you live or work.
AceCode isn't meant for anyone under 16, and we don't knowingly hold their data.
17. Changes and contact
If we change this policy, the new version appears here with a new date. If a change affects how we use data you have already given us, we'll tell you by email before it applies. Questions: support@acecode.app.