Public Alpha privacy notice
Measure discovery without building a surveillance profile.
This notice describes the data behavior implemented in CurioBeam's Public Alpha code. Production provider details, infrastructure logging, and a public privacy contact must be confirmed during deployment before external Alpha traffic is invited.
Browsing
No consumer account is required
Normal browsing, search, discovery pages, and app pages do not require a CurioBeam consumer account. Admin authentication is a separate restricted system for CurioBeam editors.
Analytics
A small first-party discovery funnel
Public Alpha analytics measure a limited set of product events: searches, filter use, no-result searches, result opens, app views, and clicks to active official app destinations. Keystrokes, hovers, scrolling, clipboard contents, session replay, and full form payloads are not analytics events.
Accepted analytics events use a random first-party cookie named cb_session for up to 30 minutes so CurioBeam can connect a short search → app → outbound journey. The cookie is HttpOnly, SameSite=Lax, and Secure on HTTPS. It is not derived from an email address, login, IP address, device fingerprint, or user-agent string.
Network data
What product analytics does not store
The analytics database does not store raw IP addresses, hashed IP addresses, user-agent strings, browser or device fingerprints, cross-site identifiers, external tracking IDs, or permanent anonymous visitor profiles.
Request addresses can be transformed with a process-random salt and held briefly in process memory for abuse rate limiting; that value is not inserted into the analytics database. Hosting, CDN, or platform infrastructure may maintain its own temporary network logs, so the active production providers and their logging behavior must be documented at deployment rather than guessed here.
Search text
Sensitive-looking patterns are reduced
Retained search text is bounded to 256 Unicode code points. Obvious email-address patterns and long numeric sequences are replaced with redaction markers before storage. Structured filters are allow-listed and bounded.
Retained raw search text receives a 30-day expiry timestamp. Expired text is excluded from the admin no-result theme view, and the database provides a purge operation to remove expired query text while keeping non-query event metrics. The 30-day value is the current retention target; production operations must run that purge regularly before we make a stronger deletion-timing promise.
Submissions
The Alpha form asks for an app URL
The current public submission flow accepts an app URL without an account or payment. It also contains a hidden anti-bot honeypot field. The Alpha form does not ask for a submitter name, email address, or marketing profile. Submitted product URLs enter CurioBeam's review workflow and may be matched to an existing product to avoid duplicates.
Service providers
Deployment details must match reality
CurioBeam's application is designed to use Supabase for database services and restricted admin authentication when configured. The repository does not choose or prove the final public web hosting/CDN configuration by itself. Before external Public Alpha invitations, the deployment owner must record the active providers, production logging behavior, jurisdiction-relevant privacy contact, and any additional processor details on this notice.
Retention and control
No hidden promise beyond the implementation
Raw search-query text has the 30-day target described above. Other bounded Alpha event fields are retained for product measurement until a production retention schedule or aggregation policy replaces them. CurioBeam will update this notice when account/claim features, new processors, or materially different data flows are enabled.