← Back to Dashboard
This Privacy Policy explains how Wolf's Whiskey Wall ("we," "us," or "the app") collects, uses, stores, and protects your personal information when you use our service at wolfs-whiskey-wall.vercel.app.
1. Information We Collect
We collect only what is necessary to operate the service:
- Account credentials — username, email address, and password. Your password is hashed with bcrypt before storage and additionally encrypted at rest using AES-256 via a tokenization vault. The plaintext password is never persisted.
- Date of birth — collected at registration to confirm you meet the legal drinking age requirement. It is stored only as an encrypted vault reference (never as a plaintext column). The site-entry age gate asks for month, day, and year to affirm legal drinking age; that affirmation is recorded only as an HttpOnly cookie and the date of birth itself is not stored from the gate.
- Collection data — whiskey names, quantities, purchase prices, purchase dates, and personal notes you voluntarily enter.
- Ratings and reviews — category scores (Value, Taste, Drinkability, Aroma/Nose), a computed Overall score, and review comments you submit for bottles in your collection. Your username, scores, and comments are visible to other signed-in users on the bottle’s public review feed. Collection purchase notes, prices, and quantities are not shown in that feed.
- Bottle photos for identify — if you use Scan bottle’s label photo path, you may upload or capture a label photo. The image is sent to our vision provider (Anthropic) for label text extraction, then discarded. We do not store your photos as a gallery. We may retain short-lived usage counters (per-user daily scan counts) for abuse prevention.
- Barcode / UPC lookup — if you use Scan bottle’s barcode path, barcode decoding happens on your device. We receive only the barcode digits you scan or type, used to look up a catalog match. We do not receive camera frames for barcode lookup.
- Session tokens — a JSON Web Token (JWT) is stored in an
HttpOnly, Secure, SameSite=Strict cookie to maintain your login session. Sessions use a sliding idle window (60 minutes by default) with an absolute lifetime from login (7 days by default). Logging out, changing your password, resetting your password, or using “Log out everywhere” revokes sessions.
- Email confirmation tokens — single-use links sent to confirm a new account, confirm an email change, or reset a password. We store only a hashed form of these tokens with a short expiry.
- Age-gate cookie — an
HttpOnly, Secure, SameSite=Lax cookie (lda_ok) that records that you affirmed legal drinking age for this browser. It does not contain your date of birth.
- Audit logs — internal vault access events (token mint, decrypt, rotate) are logged for security purposes. These logs contain no plaintext personal data.
We do not collect payment information, government IDs, or any financial account data.
2. How We Use Your Information
- Authenticate you, confirm email ownership, and maintain your session
- Send transactional email for account confirmation, email change confirmation, and password reset
- Confirm legal drinking age eligibility (site entry and registration)
- Display and manage your personal whiskey collection
- Show community ratings and review comments on bottle pages to other signed-in users
- Suggest catalog matches when you scan a bottle barcode (on-device decode) or label (via a third-party vision API)
- Calculate portfolio valuations against live market prices
- Detect duplicate catalog entries you submit
- Investigate security incidents via audit logs
We do not use your data for advertising, behavioral profiling, or any purpose beyond operating the app. Date of birth collected at registration is used only for age eligibility and account records, not for marketing.
3. Data Storage & Security
Data is stored in a PostgreSQL database hosted on Supabase (US region). We employ multiple layers of protection:
- Sensitive fields (user ID, password hash, phone, date of birth) are stored only as encrypted vault references — never as plaintext columns.
- The AES-256 encryption passphrase is never stored in the database; it is injected at runtime via environment variables.
- Row-Level Security (RLS) is enforced at the database level. Application code accesses the vault only through
SECURITY DEFINER functions.
- All traffic is served over HTTPS via Vercel's TLS termination.
- Regular API responses avoid exposing internal user IDs where possible. Authorized admin tooling may show internal user IDs to administrators.
4. Third-Party Services
We use the following third-party infrastructure providers:
- Vercel — hosting and serverless deployment (Privacy Policy)
- Supabase — managed PostgreSQL database (Privacy Policy)
- Resend — transactional email delivery for account confirmation and password reset (Privacy Policy)
- Sentry — error monitoring when configured. Request bodies containing passwords are not sent because request body capture is disabled. (Privacy Policy)
- Anthropic — bottle label analysis when you use Scan bottle (Privacy Policy)
We do not sell or rent your personal data. We share data with service providers only as needed to operate and secure the app.
5. Automated Price Scraping
Nightly price data is collected from 13 public-facing online liquor retailers. This scraping process involves no user data — it reads only publicly listed product names and prices. Your collection data is never transmitted to any retailer.
6. Data Retention
Your account, collection data, and ratings/reviews are retained for as long as your account is active. Price history is append-only and retained indefinitely for valuation accuracy. If you request account deletion, we delete your account, collection data, ratings and reviews, and associated vault secrets within 30 days. We may retain security audit logs in anonymized or aggregated form when needed for security purposes.
7. Your Rights
You have the right to:
- Access — view all data associated with your account via the dashboard
- Correction — update your username, email, or password in Account Settings
- Deletion — request account, collection data, ratings/reviews, and associated vault secret deletion by emailing the operator contact at joeyrd03@gmail.com
- Portability — request an export of your collection data and ratings in JSON format
8. Cookies
We use:
- A single
HttpOnly, Secure, SameSite=Strict session cookie for authentication
- An
HttpOnly, Secure, SameSite=Lax age-gate cookie (lda_ok) that records legal-drinking-age affirmation for this browser (no date of birth stored in the cookie)
We do not use tracking cookies, analytics cookies, or third-party advertising cookies.
9. Age Requirement
This app is intended for users aged 21 and older in the United States, or the legal drinking age in your jurisdiction. Visitors must affirm their date of birth (month, day, and year) before entering the app. Registration requires the same affirmation plus acceptance of these Terms and this Privacy Policy. If you are under 13, do not use this service; we do not knowingly collect personal information from children under 13. If we learn that an account belongs to someone under 13, we will delete it.
10. Changes to This Policy
We may update this policy as the app evolves. Significant changes will be noted on this page with an updated effective date.
11. Contact
For privacy-related questions or requests, contact the operator at joeyrd03@gmail.com.