WineTone

A Pantone for wine — but it calibrates to you.

Privacy policy

Last updated: 2026-05-30

The short version

WineTone is a research demonstration run by an individual. It collects the bare minimum data needed to operate, never sells it, and pseudonymizes everything that doesn't strictly need an identifier. Your sign-in identity is decoupled from your labels at the database level: when you delete your account, every backup of your labels ever taken becomes a permanent orphan with no link back to you.

Please use a pseudonym and don't enter anything you wouldn't post publicly elsewhere — a signed-in adversary is still an adversary.

Your rights

These rights apply to you regardless of where you live; we extend GDPR-level rights worldwide as a matter of policy, not just to EU/UK/EEA residents. Where a specific regulation grants additional rights, those are noted inline.

"Do not sell or share my personal information"

We do not sell your personal information for monetary or other valuable consideration. We do not share it with third parties for cross-context behavioral advertising. There is no opt-out necessary because there is nothing to opt out of. This statement is provided under California Civil Code §1798.135 and equivalent state laws (Colorado CPA, Virginia VCDPA, Connecticut CTDPA, Utah UCPA, etc.). If at some future point we ever begin selling or sharing, we will publish a clear opt-out before doing so.

Lawful bases for processing (GDPR Art 6)

ActivityLawful basis
Authentication via Clerk; storing your label corpus Performance of contract (Art 6(1)(b))
Fitting a personal projection from your labels; re-using labels for shared encoder fine-tunes Performance of contract (the core service) + legitimate interest (Art 6(1)(f)) in improving the model
Server access logs; abuse moderation Legitimate interest (Art 6(1)(f)) in service security and reliability
Cookieless web-analytics summaries Legitimate interest with no identifier persisted
Sending you essential transactional emails (if any) Performance of contract

We do not rely on consent (Art 6(1)(a)) as a primary legal basis for any processing because consent is brittle — every change to processing would re-prompt every user. The activities above are either necessary to provide the service (contract) or balanced against a clear and disclosed legitimate interest. You can still withdraw your overall agreement by deleting your account.

What we collect

Pseudonymization (the GDPR mechanism we rely on)

Internally we generate a random UUID called masked_id for every user at sign-up. Every table that references you (labels, projections, follows, audit log, wine submissions) stores only the masked_id, never the PII-bearing fields. The users table — the single place that maps masked_id → display_name / email / clerk_user_id — is the only join point.

When you delete your account, your users row is removed. Every other row keyed by your masked_id immediately becomes a permanent orphan: no path back to your real identity, ever. This is what makes our backups GDPR-honest: they never carry the user_id or any PII, only the masked_id. The day you delete is the day the link is severed in every snapshot we've ever taken.

Sub-processors

We use the following third-party services to operate WineTone. Each is governed by its own privacy policy; clicking their name takes you to the relevant document.

ProviderRoleData accessedRegion
Hugging Face Compute (Docker Space); private dataset hosting (data / artifacts) Source code, container image, internal data assets USA
Neon Postgres database (live runtime store) All application data including PII USA
Clerk Authentication (sign-in, session JWT issuance, account management) Email, sign-in method, session tokens USA
Anthropic Vision-API OCR for wine-label scan Photos you upload via /wines/scan, only at the moment of upload USA
Cloudflare DNS; cookieless Web Analytics DNS queries, aggregated visit counters (no identifiers) USA / global edge
Sentry Error tracking (server-side) Stack traces, error messages. send_default_pii disabled. USA
GitHub Source repo (public) and private backup repo for pseudonymized data snapshots The pseudonymized snapshots; never PII USA

Cross-border data transfers

All of the sub-processors above are US-based or USA-headquartered with global infrastructure. If you're accessing WineTone from the EU/EEA, UK, Switzerland, Brazil, or another jurisdiction with restrictions on transfers to the US, your data crosses borders.

We rely on the following safeguards as documented by the sub-processors themselves:

Retention

Automated decision-making (GDPR Art 22 / CPRA opt-out)

WineTone's recommendation engine is, by definition, automated: we encode your query, project it through your fitted personalization, and rank wines by similarity. None of these "decisions" produces legally-binding or similarly-significant effects on you (we suggest wines; we do not make hiring, insurance, credit, or housing decisions). Under GDPR Art 22, only the latter category requires special opt-outs.

Even so, you may opt out of having your labels used to train future shared model versions (i.e., the model is calibrated to you, but your labels don't feed back into the global encoder when it retrains) by emailing privacy@tone.wine. We will tag your account accordingly and the next retrain will exclude your labels from the training set.

Deletion (right to be forgotten)

Sign in, go to your dashboard, scroll to the bottom, click Delete my account permanently. We will:

Wine entries you submitted to the catalog via "Add a wine" remain in the catalog after your account deletion — they become attribution-less catalog entries indistinguishable from pipeline-imported wines. This is intentional: deleting the wine would break recommendations for everyone calibrated against it. To request removal of a specific wine, email the privacy contact.

Server logs, analytics aggregates, and error traces are not individually keyed to your username so are not deletable. They contain no personal data beyond the IP from which a request originated, which the hosting providers age out per their own policies.

Breach notification

In the event of a personal-data breach likely to result in a risk to your rights and freedoms, we will:

Children

WineTone is about wine. Don't use it if you're under the legal drinking age in your jurisdiction. We do not verify ages and do not knowingly collect data from minors. We are not directed at children under 13 (COPPA), under 16 (GDPR-K), or any other statutory child-protection threshold. If you believe a minor has provided data to us, email the privacy contact and we will investigate and delete.

Cookies (one and only one)

We set one cookie: __session, by Clerk on sign-in. It's Secure, SameSite-Lax, and contains a short-lived signed JWT that proves you're signed in. Deleting your account removes it; signing out clears it.

Under the EU ePrivacy Directive (and equivalent rules in the UK, California, etc.), consent is required only for cookies that are not strictly necessary for the service the user is requesting. The __session cookie is the mechanism by which we know you're signed in — without it, you couldn't add labels because we'd have no way to know it's you. Under established EU guidance that qualifies as strictly necessary and is exempt from the consent requirement.

We do not use:

Cloudflare Web Analytics (when enabled) uses cookieless beacons — no identifier persisted, no fingerprinting.

Changes to this policy

When this policy changes, the date at the top updates. There is no separate notification — this site is small enough that an email list would itself be PII collection.

Privacy contact

For any privacy request (access, deletion, restriction, portability, objection, complaint, or otherwise): privacy@tone.wine.

WineTone is a small research project; there is no formal Data Protection Officer because we do not meet the GDPR Art 37 thresholds for designation (we are not a public authority, we do not engage in large-scale systematic monitoring of individuals, and we do not process special categories of data at scale). The privacy contact above is the single point of contact for all data-subject requests and responds within 30 days.