Privacy Policy
Last updated 9 August 2026.
What we store about you
- Account: your email address, and an authentication identifier from Google if you sign in that way. No password — sign-in is by magic link or Google.
- Founder profile, if you fill it in: technical level, available capital band, hours per week, goal, distribution channels, preferred build platforms. Used to scope the specs we write for you. Optional; specs work without it.
- Your work: conversations, generated specs, watchlists, and the credit ledger.
- Billing: a Stripe customer identifier and your plan status. We never see or store card numbers — those go directly to Stripe.
- Product analytics: which pages and features are used. No session recording, and no analytics on the Spec Grader.
Your own API key
If you connect one:
- It is encrypted with AES-256-GCM before it reaches the database. The encryption key lives in the server environment, not in the database — a database dump on its own decrypts nothing.
- It is decrypted in memory only, immediately before a model call.
- It is never written to logs, never attached to error reports, and never returned by the API. The interface only ever shows the last four characters.
- Deleting it from settings removes the stored value immediately.
Source data — what we collect about other people
The engine reads public posts from Hacker News, GitHub, Stack Overflow, Product Hunt and the App Store through their official APIs. We do not log in as anyone, do not access private groups, and do not collect anything behind a login.
- What you see: a derived signal (the problem, in our words), a quote of up to 200 characters with attribution, and a link to the original post.
- What we hold internally: a private copy of the source text, used to re-run extraction when prompts or models change. It is never shown in the product and never republished. This is a processing copy, not a redistribution.
- What we do not do: build profiles of the people who wrote those posts, contact them, or sell any of it.
If you wrote something quoted here and want it removed, email privacy@codekudo.com with the link and we will remove the quote and the stored copy.
What we send to AI providers
Chat messages and the evidence needed to answer them go to OpenRouter, which routes to Anthropic models. Your email address, billing details and account identifiers are not included in model requests. We do not use your conversations to train anything.
Processors
- Supabase — database and authentication (EU region, Stockholm)
- Vercel — application hosting
- Stripe — payments
- OpenRouter — AI model routing
- OpenAI — text embeddings for search
- Resend — transactional email
- PostHog — product analytics
- Sentry — error monitoring, with API keys and credentials scrubbed before events are sent
Retention
- Account and work data: kept while your account exists.
- After deletion: your account, profile, conversations and specs are removed within 30 days. Billing records are kept as long as tax law requires.
- Source records and derived signals are kept indefinitely — the time series is what makes momentum measurable, and deleting it would destroy the product's core function. It contains no personal data about you.
Your rights
You can export or delete your data at any time. Email privacy@codekudo.com and we will respond within 30 days. If you are in the EU or UK, you also have the right to object to processing and to lodge a complaint with your data protection authority.
Cookies and analytics
Two things are stored without asking, because the site cannot work otherwise: a session cookie that keeps you signed in, and a preference for light or dark theme. Neither is used to track you and neither leaves this domain.
Analytics is different and it is off until you allow it. We use PostHog (EU region) to see which pages get used. It does not load, set anything, or send a request until you choose “Allow” on the banner. Choosing “No thanks” costs you nothing — every feature works identically.
No advertising cookies, no cross-site tracking, no session recording. The Spec Grader page is excluded from analytics entirely, because what you paste there is your own document.
Changing this here takes effect immediately: turning it off stops the client and clears what it stored in your browser. To have data already collected deleted, email us.