LAUNCH PRIVACY NOTE · AUGUST 23, 2026

Small product. Small data footprint.

Entry data

At launch we invite public `.lol` sites, while later cups may admit other public internet products under the published season rule. We store the submitted public hostname, selected category, optional X handle, pitch, optional contact email, review/competition state, and the payment status and provider identifiers needed to reconcile a Stripe payment. Entering a site does not prove ownership. Stripe handles card details; they are not sent to our database.

Voting and device progress

We set a first-party, HttpOnly pseudonymous device cookie so one device can cast at most one vote per matchup and keep its vote streak, predictions, reputation points, cup progress, and badges. The server stores only a keyed HMAC digest of that random identifier. Clearing the cookie resets device-scoped progress. IP address and user-agent signals may be used transiently for rate limits and abuse detection; raw values are not written to vote or analytics records.

Anonymous product analytics and attribution

We use Vercel Web Analytics and bounded first-party events to understand page visits, votes, shares, referrals, Checkout steps, and fulfillment. Events may contain an allowlisted route class, product or price key, cup or match identifier, outcome, and short campaign source. They never contain entrant domains, pitches, email addresses, Stripe identifiers, voter hashes, raw IP addresses, full user agents, secrets, or other free text. Revenue and capacity always come from server payment and reservation records, not analytics. Read Vercel's analytics privacy details.

Payments, sponsors, and reminders

Stripe processes card and customer payment data; we retain provider identifiers, amount, currency, status, and fulfillment facts needed to reconcile a purchase. Sponsor submissions can include a public name, approved HTTPS destination, accessible label, and short copy. Self-serve Checkout does not accept artwork URLs; placements use a text sponsor mark until a server-owned upload can verify stored bytes, media type, size, dimensions, checksum, and storage destination. We do not fetch arbitrary sponsor URLs on the request path. If reminders are offered, they are opt-in, scoped to the requested event, and include confirmation and unsubscribe controls.

Operational data and providers

Neon hosts Postgres, Vercel hosts the application and may process standard request logs, and Stripe processes Checkout. We use those records for reliability, fraud prevention, reconciliation, and support. Their own policies apply to data they process.

Retention and requests

Public competition results and fulfilled promotional placements may remain as the permanent historical record. Bounded analytics events use the server registry's retention window (90 days for ordinary funnel events and 365 days for payment/fulfillment milestones); expired reservations and short-window rate-limit records are cleaned as operations allow. Confirmed reminder destinations are retained for up to 180 days unless unsubscribed sooner, then the address and reusable capabilities are redacted. Pseudonymous voting, progress, attribution, security, payment, refund, and audit records are retained only while needed for the season, dispute handling, fraud prevention, accounting, or legal obligations. Unsubscribed notification destinations are suppressed from future sends. Email support@onegood.lol to request access, correction, or deletion where applicable; include a receipt only for a payment request and never send card numbers or secret retrieval links.