privacy


privacy.

updated 5 September 2026

This is the privacy notice for reprise, an early product for practicing code recognition. It is written in plain English. It describes categories of processing, not a dump of every storage key, cookie name, or host. It is not a sales pitch and it does not claim a security certification we do not hold.

Who we are

reprise is a salon for code muscle memory. The public site is reprise.run. This notice covers the marketing site and the member gym (Floor, Map, Board, Team, Messages, Profile, Account), including the service that keeps you signed in.

The product is early. Member records live on infrastructure we operate. A session cookie in this browser keeps you signed in; practice data is not a substitute map we ask you to store locally. Closing a tab does not delete the gym on the server.

What we collect

If you join, we collect the email address you give us and, if you use GitHub or Google, the identity Logto returns. We keep an account identifier, the languages you say you work in, a description and optional social links you put on Profile, and whether you opted into the Board (identified or ghost, plus a handle if you chose identified).

Practice data is a muscle map: which category and language you last judged, a coarse ring (forgotten, fragile, fine, thriving), and a hold count for consecutive thriving days. On trial, pro, or team, the Map also keeps a short row of judged-day beads per cell — the shape over time, not a streak score. We keep judged attempts: the drill, the outcome, the choice you picked, a short why, and how long the drill took. We do not turn those into a score, a rank, or a public timer. The written drill bodies live in the catalog. If you flag a catalog line as off, we keep that note against your account and the drill until we look. The guest drill cannot flag a line.

If you are on a team, we store the org you joined, your role (lead or member), invites a lead sent, and Ask snapshots (one line from a member to the lead). Asks are not a chat thread and we do not keep a typing history.

If you write to us for help, we keep that correspondence long enough to answer it.

How we use it

We use this data to sign you in, restore your map, honour your entitlement (this build: a fake merchant), show a room map to people in that org, deliver an Ask from a member to Messages, and render a Board row if you opted in. We do not build an advertising profile. We do not sell muscle maps. We do not use your drills to train a public model in this product.

This build is English only. We do not infer personality, seniority, or “skill scores” from your rings.

Why we process it

We process this information to provide the gym you asked to join, to keep sign-in working, to honour a plan you pick, and to operate rooms you belong to. Where the law in your country gives you extra rights — to ask what we hold, to correct it, to delete it, or to object — Account and privacy@reprise.run are the doors. This page does not claim that a particular statute applies to every visitor, and it is not a guarantee of a security outcome.

Cookies and similar storage

We use cookies and similar storage to run the gym, not to advertise. A session cookie keeps you signed in on this browser after you join. Logging out this browser clears that session. The guest drill on the marketing page does not require a session cookie.

The cookie notice explains the categories (necessary, functional, analytics, advertising). We do not currently use analytics or advertising cookies on reprise.run. We do not publish a list of every cookie or storage key. Sign-in is handled by Logto when live; that provider may set its own cookies on its domain under its terms.

Billing

This build uses a fake merchant. Confirming a plan change does not send a card number anywhere. No payment processor receives data from the fake checkout.

When paid plans go live, a payment processor (not reprise) will collect card or invoice details. We will keep entitlement, seat counts, and a short plan log. We do not intend to store full card numbers on reprise hosts. A failed payment (past_due) keeps the room open for a grace month; the Floor stays open and the Board closes. After grace expires — or if the lead cancels, downgrades to free, or refunds the team invoice — the room closes. Ending a trial or downgrading to free does not delete your map.

Board and public profile

The Board is opt-in. You can join identified (a handle you choose) or as a ghost. You can leave in one step. Identified members can change the handle from the wall; it locks for 30 days. The Board is a thin comparison of rings, not a ranked leaderboard, and we do not publish numeric rank.

Your Profile card is shareable at a public URL you can copy. Account public-card switches choose what it shows: description, title, company, room name, social links, held rings, a map slice, and public work plans. It does not include your email, judged attempts, or a recent-runs timeline. Do not put secrets on that card.

Sharing

We share identity events with Logto when live login is on. We will share payment events with a processor when live billing is on. Processors are named by category on the processors page. We share data if the law requires it, or if we must protect someone from ongoing abuse of the gym.

Team leads see the room map for their org. A member may send the lead one waiting Ask. The lead may mark it seen or leave one note. Leads do not send Asks. They do not receive judged attempts as a feed. We do not sell lists of engineers.

Retention and your rights

Your map is yours. Account can export JSON of you, your map, and your work plans. That file does not include attempts, asks, billing rows, or catalog flags. Logging out this browser ends the session; it does not delete the gym on the server. Account also has a real delete: it closes the gym now (session, public card). The map, judged-day beads, and judged attempts are removed after fourteen days. Work plans, asks, catalog flags, board row, room seat, and fake invoices we hold close with the account (a lead delete closes that room). The same inbox can join again as a new gym.

Catalog drill files are product content, not your personal data.

Children

reprise is not directed at children. Do not create an account if you are not old enough to agree to these terms in your country.

Changes and contact

If this notice changes in a way that actually affects you, we will date the page. The member gym is early; we would rather tell you the fake billing honestly than pretend a live processor is on.

Questions about this notice: privacy@reprise.run — or the email on the account if that mailbox is not yet staffed, in which case we will say so.