Back

Privacy Policy

Last updated: July 25, 2026

Overview

Characters Without Number ("the App") is a free, open-source character creation tool for Stars Without Number. We are committed to protecting your privacy. This policy explains what data we collect, how we use it, and your rights.

Data We Collect

Data stored locally on your device

Character data you create is stored in your browser's local storage (IndexedDB). This data never leaves your device unless you explicitly enable cloud sync.

Cloud Sync (optional)

If you sign in using email, Google, or GitHub, we store the following in our database (hosted on Supabase):

  • Your email address (for authentication)
  • Your character data (so it can sync across devices)
  • Basic account metadata (account creation date, last sign-in)

We never sell your personal data, and we do not share it for advertising. We do rely on a small number of service providers to run the App — our database and authentication host, our email provider, and (only if you subscribe) our payment processor — each of which processes only what it needs to provide that service to us. They are named in the sections below.

Payments (only if you subscribe)

Paid subscriptions are handled entirely by Stripe, Inc., our payment processor. If you subscribe:

  • Your payment details (card number, billing address, and anything else the checkout asks for) go directly to Stripe. They are never sent to, processed by, or stored on our servers — we cannot see your card number.
  • We pass Stripe an internal identifier for your account so the payment can be matched to it. Stripe collects the rest under its own privacy policy, as an independent controller of that data.
  • Stripe returns to us only what we need to run your subscription: your Stripe customer and subscription identifiers, which tier you are on, whether the subscription is active, and when the current period ends. We store these in our database alongside your account.
  • Your name, address and card details are stored by Stripe, not by us. Your receipts and invoices are issued by Stripe and are available from the billing portal linked on the pricing page.

Payment records are retained for as long as required by tax and accounting law, which may be longer than the retention of your other data described below. This also means we may keep a record of a transaction after you delete your account.

Analytics

We use Cloudflare Web Analytics, which collects anonymous, aggregated page view data. It does not use cookies, does not track individual users, and does not store IP addresses.

We also record a small number of our own product events — things like reaching the pricing page, starting a checkout, being shown an upgrade prompt, or completing a step of the character builder. Each event stores the event name, a few non-identifying details about it (for example which tier was viewed, or which page linked you to it), a timestamp, and:

  • a random identifier stored in your browser's local storage, so repeat visits from the same browser can be counted once rather than many times; and
  • your account ID, if you are signed in.

We use this only to understand how the app is used in aggregate — for example, how many people who see a limit go on to look at the tiers. We do not sell it, share it with advertisers, or use it to build a profile of you. It records actions within the App, never your keystrokes, mouse movements, or the contents of your characters and campaigns. Clearing your browser data removes the random identifier and a new one is generated.

Authentication Providers

When you sign in via Google or GitHub, those providers handle authentication on their platforms. We only receive the information necessary to create your account (email address and display name). We do not access your contacts, files, repositories, or other data from these providers.

Communications

Signing in to use the App does not subscribe you to any mailing list. We only send newsletter or update emails (for example, product news, new features, blog posts, or development updates) to people who have explicitly opted in to receive them.

If you opt in, we store your email address and a record of your consent (the date and where you signed up) so we can send these updates. Every email includes a one-click unsubscribe link, and you can opt out at any time — we honor opt-out requests promptly. To deliver these emails we use a reputable third-party email provider, which processes your email address solely to send our messages on our behalf and is not permitted to use it for its own purposes.

We may still send you essential service messages related to your account (such as sign-in links or important changes to the App) regardless of your newsletter preference.

Cookies and Local Storage

The App does not use tracking cookies, and no third party advertises to you here. Browser local storage is used for your characters, your authentication session (managed by Supabase), your display preferences, and the random analytics identifier described above. Clearing your browser data clears all of it — including any characters kept on this device only, so export anything you want to keep first.

Data Retention and Deletion

Local data can be cleared at any time by deleting characters in the app or clearing your browser data. If you use cloud sync, you can delete your characters from the cloud through the app. To request full account deletion, contact us at the email below.

One exception: records of payments you have made are kept for as long as tax and accounting law requires, even after your account is deleted. Those records are held by us and by Stripe and cannot be erased on request.

Children's Privacy

The App is not directed at children under 13. We do not knowingly collect personal information from children under 13.

Changes to This Policy

We may update this policy from time to time. Changes will be posted on this page with an updated date.

Contact

If you have questions about this privacy policy or want to request data deletion, contact us at: privacy@characterwithoutnumber.app