This document is published in English only. The English text is the binding version.
Last updated: 27 October 2026
This policy covers Bugfixer, our AI bug-fixing service at bugfixer.ctoteachings.com, its connector for your AI assistant, and the Bugfixer agent you install on your own computer. It is separate from, and more specific than, the CTO Teachings website privacy policy, which covers our consulting business. CTO Teachings LLC is the controller of the account information described here; for the code and error data you connect, we process it on your behalf to run Bugfixer for you. Your use of Bugfixer is also governed by the Bugfixer Terms of Use.
Bugfixer receives notice of new issues from your Sentry organisation, queues them, and hands each one to the Bugfixer agent running on your machine. The agent runs with your own Claude Code login and your own GitHub login: your code is cloned, read and changed on your computer, and pull requests are opened from your GitHub account. Bugfixer itself runs no AI model and holds no GitHub credentials.
Account information, from Google Sign-In. Signing in uses Google’s identity token only, with no extra permissions. From it we store your email address, your Google account identifier, your display name and the URL of your Google profile picture (we do not copy the picture itself), your roles, and each version of the Terms of Use you accepted and when.
Your organisation and setup. We store your organisation’s name and owner, your onboarding progress and answers, any instructions you write for how the agent should reach your logs (these are added to every investigation prompt), and when you connected an AI assistant.
Your Sentry connection. During setup you paste a Sentry personal token with read access to your organisation; we use it once to list your projects and do not store it. You then create a Sentry integration that sends issue webhooks to Bugfixer and paste its client secret, which we store encrypted with a Google Cloud KMS key that only Bugfixer’s server can use, to verify that each webhook really came from your Sentry. We store your Sentry organisation name, your projects (name, platform, whether you watch it), and for each issue in a watched project: its title, its Sentry link, its state, how often it occurred, and what Bugfixer did about it. Issues from projects you do not watch are counted, not kept.
The agent on your machine. When you install the agent we store its pairing records, the machine name and repository it was installed for, and its version, host name and when it was last seen. For each bug the agent works on, it sends us the transcript of the run — the messages, tool calls and tool results of your local Claude Code session — so you can follow and review it in Bugfixer. That transcript can contain your source code, file contents, log lines and command output the agent read. The agent removes credentials it knows about, such as its GitHub token, before sending, but it cannot recognise every secret or piece of personal information in your code or logs. We also store each run’s result: its diagnosis, evidence, the pull-request link it opened, the model used and its reported cost.
Diagnostic information. When something fails in the Bugfixer website, it reports the error to Sentry, our own error-reporting provider, including the error, the page, the app version, and your account identifier, email address and display name. For a session that hits an error, Sentry’s session-replay feature records a reconstruction of what was on screen, including anything you typed in that session. Ordinary sessions are not recorded. Our servers also keep operational logs, which include your account identifier.
The agent clones your repositories into a folder on your computer, runs your own Claude Code with your own Anthropic account, and pushes branches and opens pull requests with your own GitHub login, which it reads fresh for each run and never sends to us. What Anthropic and GitHub do with that activity is governed by your agreements with them. The agent refuses to push to your main branches or run deploy and release commands.
If you connect an AI assistant (for example Claude or ChatGPT) to Bugfixer, it can read your setup status, your issue queue and the run transcripts described above, through the connector you authorise. That assistant is run by its own provider, and what it does with the information is governed by your agreement with that provider. You can remove the connector at any time in your assistant’s settings.
The Bugfixer website, ctoteachings.com and our other websites use Google Analytics 4, provided by Google, to understand in aggregate how visitors find and use them: which pages are viewed, which links to our products are followed, and whether key steps such as signing up, finishing setup or sending an enquiry succeed. We never send Google your name, email address or account ID. Google Analytics runs in Google’s consent mode: before you click OK on the notice shown on your first visit it sets no analytics cookies and sends Google only cookieless signals. After you click OK it sets first-party cookies (_ga and _ga_*) on ctoteachings.com and its subdomains, and we remember your OK in a cookie named ctot_consent on the same domain for up to two years, so the notice does not appear again on any of our sites in that browser. Google processes this information under its own privacy policy, and you can opt out of Google Analytics on every site with Google’s browser add-on.
Ad measurement: the LinkedIn Insight Tag and the Meta Pixel. Only after you click OK on the notice, our websites may also load the LinkedIn Insight Tag (LinkedIn) and the Meta Pixel (Meta Platforms); neither is loaded before that, and neither is ever loaded inside the LangLearn mobile app. We use them for ad measurement and retargeting: to count how many people who saw or clicked one of our ads went on to visit our sites, follow a link to one of our products, sign up or send an enquiry, and to show our ads again to people who have visited. They record the pages you view and those steps, and may set cookies such as Meta’s _fbp. We never send LinkedIn or Meta your name, email address or account ID, but they may recognise you if you use their services in the same browser, so this measurement is not anonymous to them. They process it under their own privacy policies (LinkedIn, Meta).
The notice offers only OK because our services are free, and to stay that way we rely on this analytics and ad measurement. If you do not want it, please do not continue, or block Google Analytics, the LinkedIn Insight Tag and the Meta Pixel in your browser. No source code, error data or run transcript is ever sent to Google Analytics.
Anonymous notice counter. So we can tell how many visitors leave without clicking OK, each site also tells our own server when the notice is shown, when OK is clicked, and when a page is closed while the notice is still showing, with roughly how long it was shown as a range such as 3–5 seconds; our short links likewise count each click. That message contains only which of these happened, the site’s host name, the page path and, for a visit that arrived through one of our short links, that link’s code and page version: no identifier and no query string, and no cookie is read or stored with it. Like any request it reaches our server with an IP address, which our hosting provider logs for security; we do not combine it with anything else. These counts are kept in our server logs for about 30 days.
Short links and page versions. When you arrive through one of our short links (ctoteachings.com/a/…), the link sets a cookie named ctot_campaign that tells the page which campaign the link belongs to; the page deletes it as soon as it has read it, and it expires after two minutes in any case. If the link compares versions of a page, a cookie named ctot_exp_ plus the test’s name remembers for 30 days which version you were shown, so you see the same one if you return.
Your account and Bugfixer data are stored in Google Cloud Firestore in the United States, in a Google Cloud project we control. Our servers run on Google Cloud Run, the Sentry client secret is encrypted with Google Cloud KMS, and the website is served by Cloudflare. Our own error reports go to Sentry. These providers may process information in countries other than yours; we take reasonable steps to keep it protected in line with this policy.
We use your information only to run Bugfixer for you: to sign you in, to receive and queue your issues, to give the agent and your connected assistant what they need, to show you each run, to keep the service secure, and to find and fix problems. We do not use it for advertising, we do not sell it, and we do not use your code, error data or transcripts to train AI models.
We do not sell your personal information. We share it with the service providers that run Bugfixer — Google (sign-in, Cloud Firestore, Cloud Run, KMS and logging), Cloudflare (website hosting) and Sentry (our error reporting) — each processing it on our instructions. Issue details go to the agent on your machine and to the AI assistant you connect, because you directed it. Beyond that we disclose information only where we are legally required to, where it is necessary to protect our rights or someone’s safety, or to a successor entity in a merger or reorganisation of our business.
We keep your account, issues and run transcripts for as long as your account exists, so you can review past runs. Pairing and authorisation codes expire within minutes. Firestore backups are kept for seven days, so deleted data leaves our backups within a week. Error reports are retained by Sentry, and server logs by Google Cloud, under their own retention schedules, on the order of weeks to months, not indefinitely.
You can disconnect Sentry in Bugfixer at any time, which deletes the stored client secret and stops new issues arriving. To delete your account and all of your Bugfixer data, including issues and run transcripts, email [email protected] from the address you signed in with. We will delete it and confirm when it is done. You can also ask for a copy of what we hold about you, or for a correction. Pull requests the agent opened live in your GitHub repositories and are yours to keep or close.
Depending on where you live, you may have the right to access, correct, update, or delete your personal information, to object to or restrict certain processing, to withdraw consent, and to request a copy of your data. Email [email protected] or use our contact page and we will respond in line with applicable law.
Bugfixer is for people aged 18 and over, and we do not knowingly collect personal information from children.
Sign-in, every request to our servers and every webhook use encrypted connections, and each Sentry webhook is checked against its signature. The Sentry client secret is encrypted at rest with a dedicated Cloud KMS key. Access to production data is limited to the people who need it. No system is perfectly secure, but we work to protect your information and to limit who can reach it. Because error reports and code often contain secrets and personal information, remove what you can before connecting a project.
We may update this policy as Bugfixer changes. When we do, we will revise the "Last updated" date above, and the change takes effect once posted on this page.
Questions about this policy, a request to exercise your rights, or a request to delete your account: email [email protected] or use our contact page. The terms that govern your use of Bugfixer are in the Bugfixer Terms of Use.