Legal · draft

Privacy Policy

DRAFT – needs lawyer review. This policy has not yet been reviewed by a lawyer and is not final. Items marked [to confirm] need legal advice. Version: draft-2026-10-18. For how Duscode handles code and keys, see Security.

The short version

  • With your own AI provider keys, your code, prompts, AI output and keys stay on your computer and go only to the provider you chose. Duscode Cloud never receives them.
  • With Duscode credits (Pro, Max, Team, or the trial), each request Dus makes passes through Duscode Cloud to the AI provider that answers it, and back. We keep what it cost, not what it said.
  • Duscode Cloud stores only what it needs to run your account: your email and name, your plan and billing status, and security records.
  • Stripe handles payments; we never see your card details.
  • No advertising, no tracking cookies, no selling of data.

Who is responsible

Yiontech Ltd (company number 16519666), registered office 3 Milford Court, Milford Street, Huddersfield, HD1 3DY, England is the controller of the personal data described here. Contact: support@duscode.com. Yiontech Ltd is registered with the Information Commissioner's Office [ICO registration number, to add].

What stays on your computer

The Duscode app keeps your projects, chats, plans, journals, usage and cost records, memories and settings in your project folders and in ~/.duscode, and your AI provider keys in your own environment or ~/.duscode/.env. When Dus works, the app sends prompts and code to the AI provider you chose, directly from your computer with your key. That is between you and the provider, under the provider's terms and privacy policy; Duscode is not part of it.

When you use Duscode credits

On Duscode credits, the app sends each model request (the conversation, the code and files Dus is working on, and its tools) to Duscode Cloud. The cloud forwards it to the AI provider that answers that tier, using our own account with that provider, and streams the answer back to you. We don't store requests or answers: they pass through in memory. For each call we keep the model, the provider, the token counts, what it cost and when it happened. That is enough to bill you, enforce limits and reconcile with the provider. We send the provider a pseudonymous identifier for your account (a one-way hash), so abuse can be traced to an account without naming you. The app always shows which provider and model answer each tier.

What Duscode Cloud stores

  • Account: email address, optional name, role, when you created the account and last used it, the Terms version you accepted and when, and your confirmation that you are 18 or over.
  • Sign-in: sign-in links and sessions, stored only as one-way hashes, with their expiry; app sign-in requests (the device name the app reports, such as "Duscode on my-laptop") while they are pending.
  • Plan and billing: your Stripe customer and subscription identifiers, plan, status and number of seats, and whether you have early access and until when. Card details, billing addresses and invoices are held by Stripe.
  • Credits: your balance and its history (grants, top-ups, usage, refunds, expiries); for each call on credits, the model, provider, token counts, cost and time; auto top-up settings; and, for the one-off free trial, one-way hashes of your email address and of a random identifier the app creates for your computer, so a trial is used once per person and per computer.
  • Teams: which team you belong to and when you joined; the email addresses a team owner invites.
  • Waitlist: email address, and the name, company and "what will you build" answer if you give them; when you confirmed; whether you were invited.
  • Invite codes: the code, who it was issued to, and when it was used.
  • Security records: an audit log of account events (sign-ins, sign-outs, plan changes, team changes, admin actions) with the IP address they came from, and our hosting provider's request logs.

The licence the app receives contains only your account identifier, plan, number of seats and validity times.

Why we use it, and the lawful basis

  • To provide your account, licences, plan and billing: performance of our contract with you.
  • To keep accounts secure, prevent abuse and fraud (including chargebacks), enforce AI providers' usage policies, and give each person one free trial: our legitimate interests.
  • To run requests on Duscode credits and bill them: performance of our contract with you.
  • To send your early-access invite after you join the waitlist and confirm your email: your consent, which you can withdraw at any time.
  • To keep tax and accounting records: legal obligation.

We send account emails (sign-in links, invites, billing notices). We don't send marketing without your consent.

Who processes it for us

  • Stripe (payments, fraud screening with Radar). Stripe is also an independent controller for some payment data; see Stripe's privacy policy.
  • AI providers, only for requests on Duscode credits:
    • OpenAI (OpenAI OpCo, LLC; USA). It doesn't use API data for training by default, and keeps abuse-monitoring logs for up to 30 days.
    • Anthropic (Anthropic Ireland, Limited, for UK customers), once enabled. It doesn't train on API content, and deletes inputs and outputs within 30 days, except content flagged for safety (up to 2 years).
    • Google (Gemini API, paid tier only), if enabled. It doesn't train on paid-tier content, and keeps abuse-monitoring logs for 55 days.
    • Mistral AI (France) or xAI (USA), if enabled. About 30 days [to confirm].

    We ask each provider for zero or reduced data retention where they offer it [to confirm per provider]. DeepSeek is never used for credits; with your own DeepSeek key, your data goes to DeepSeek in China under its own terms.

  • Hosting and database for Duscode Cloud: [provider and region to confirm; see docs/DEPLOY.md for the recommendation, London region].
  • Email delivery for sign-in links and invites: [provider to confirm: Resend, Postmark or Amazon SES].
  • Google Fonts: duscode.com and cloud.duscode.com load their typeface from Google, which receives your IP address when the font loads. [To confirm: self-host the fonts instead.]

Some processors may handle data outside the UK. Where they do, we rely on UK adequacy regulations or the UK International Data Transfer Addendum. [To confirm per processor.]

How long we keep it

  • Account data: while your account exists, then deleted within 30 days of closing it [to confirm].
  • Billing records, including the credits ledger and per-call usage records: 6 years, for HMRC.
  • Requests and answers on Duscode credits: not stored by us. Each provider keeps them as described above.
  • Sign-in links: 15 minutes (24 hours for a new account); web sessions 14 days; app sessions 90 days from last use.
  • Waitlist entries: until you join, ask us to remove you, or 24 months [to confirm].
  • Audit log and request logs: 12 months [to confirm].

Cookies

duscode.com sets no cookies and runs no analytics. cloud.duscode.com sets two cookies, both strictly necessary: a session cookie that keeps you signed in, and a security cookie that protects forms from cross-site forgery. They are not used for tracking or advertising, so there is no cookie banner. Details: Cookie Policy.

Your rights

Under UK data protection law you can ask for a copy of your data, ask us to correct or delete it, to restrict or object to how we use it, or to receive it in a portable format, and you can withdraw consent at any time. Email support@duscode.com; we answer within one month. You can also complain to the Information Commissioner's Office (ico.org.uk).

Security

Duscode Cloud is served only over HTTPS. Sign-in links and session tokens are stored as hashes, licences are signed so they can't be forged, and access to production data is limited to the people who run the service.

Children

Duscode is only for people aged 18 or over.

Changes

We will post changes here and email account holders about material ones.