Storage inventory
Current storage and tracking inventory
This page is based on the current codebase rather than vendor boilerplate. It lists the storage and processing surfaces that are actually visible in the app today.
Item
bierdex-admin
Location
Cookie · /admin path
Purpose
Keeps the protected admin review area authenticated.
Retention
8 hours
Consent
Strictly necessary
Item
bierdex:consent
Location
localStorage
Purpose
Stores the visitor’s privacy choices so optional features stay blocked or allowed consistently.
Retention
Until changed or cleared
Consent
Strictly necessary
Item
bierdex:locale
Location
localStorage
Purpose
Remembers language selection across visits when preference storage is allowed.
Retention
Until changed or cleared
Consent
Preferences
Item
Turnstile verification
Location
Third-party request on /contribute
Purpose
Blocks automated abuse on the public submission form.
Retention
Defined by Cloudflare Turnstile processing
Consent
Security / necessary processing
Item
Hashed IP rate limit record
Location
Database row
Purpose
Limits repeat submissions and suppresses abuse without storing a raw IP in the application database.
Retention
Short-lived operational retention
Consent
Security / necessary processing
Item
Data erasure request email
Location
Encrypted database row
Purpose
Lets the operator verify and fulfil a delete-my-data request without exposing the email in plaintext at rest.
Retention
Until the request is completed
Consent
User-requested legal/compliance handling
Item
Submission record
Location
Supabase user_submissions table
Purpose
Persists the reported venue, beer type, serving size, price, moderation status, and anti-abuse metadata needed to review and publish prices.
Retention
Up to 12 months
Consent
Service operation / submission handling
Item
Menu photo
Location
Supabase Storage bucket
Purpose
Optional image uploaded with a price submission, used by the admin to visually verify the reported price against a menu. Not published publicly.
Retention
Up to 12 months, deleted with the linked submission
Consent
Service operation / submission handling
Item
Feedback message
Location
Supabase feedback table
Purpose
Stores the category, message, and optionally an AES-256-GCM encrypted contact email submitted through the feedback form.
Retention
Until reviewed, then deleted or marked spam
Consent
User-initiated contact
Item
Rapid-contact message
Location
Relayed to a Discord channel; not stored by Bierdex
Purpose
Name, subject, reply email and message from the Impressum rapid-contact form, forwarded to the operator's Discord channel so the operator can reply quickly. Discord (Discord Inc., USA) acts as processor under EU Standard Contractual Clauses / the EU–US Data Privacy Framework.
Retention
Not stored by Bierdex; remains in the operator's Discord channel until manually deleted
Consent
User-initiated contact