WaitRoom

Privacy

Last updated

WaitRoom runs queues for product drops on Shopify stores. It is installed by a merchant and processes data on their behalf: the merchant is the data controller, WaitRoom is the processor. This page describes what is actually processed, which is deliberately less than the app is technically permitted to read.

What is processed

DataWhere it comes fromWhy
Queue identityDerived on our server from IP subnet, browser user agent and language, then HMAC'd with a secretHolds one place per person, and stops one script claiming hundreds of slots. One-way — it identifies a place in a queue, not a person, and cannot be reversed.
Email addressTyped in by the shopper, in the waiting roomTo tell them the drop opened, or that their turn has come. Never read from their Shopify account.
Queue activityGenerated by using the queueThe merchant's funnel: joined, released, checked out, abandoned.
Shopify customer recordShopify Admin APIOnly to evaluate eligibility rules the merchant configured, or to order a loyalty-priority queue. Never written to our database.

What is read from a Shopify customer record

Only when a merchant has configured eligibility rules or chosen priority queueing, and only for shoppers who are signed in. A store using neither never causes a customer record to be read at all.

idcreatedAtnumberOfOrdersamountSpenttagsverifiedEmaildefaultAddress.countryCodeV2

Names, phone numbers, email addresses and full postal addresses are not requested. The record is held in memory for minutes and never written to disk. A test in the codebase fails if a name, phone or email field is added back to that query.

How long it is kept

These periods are enforced by a job that runs hourly. The figures below are read from the same constants that job deletes by, so the published policy and the enforced one are the same numbers.

DataKept forThen
Email addresses given in the waiting room90 days after the drop endsDeleted
Queue entries (position, status, timings)180 days after the drop endsCustomer link removed; anonymous counts kept for your analytics
Shopify customer records used for eligibility rulesNever stored — cached in memory for minutes onlyDiscarded
Stock history365 daysDeleted

Aggregate counts — how many joined, how many bought — survive indefinitely. They identify nobody and are the merchant's own trading record.

Who else processes it

Infrastructure providers only. There are no advertising, analytics or data-broker recipients, and nothing is sold or shared for marketing.

ProviderWhat for
ShopifyThe store, its customer records and the checkout
RailwayRuns the application
NeonPostgreSQL database (encrypted at rest)
UpstashRedis, holding live queue state (encrypted at rest)
ResendSends the notification emails a shopper asked for
Cloudflare TurnstileThe optional anti-bot challenge, when a merchant enables it

Everything is HTTPS-only in transit and encrypted at rest.

Erasure and access

Shoppers should contact the store they queued at — the merchant is the controller, and Shopify's own privacy request flow reaches us. WaitRoom implements Shopify's three mandatory compliance webhooks (customers/data_request, customers/redact, shop/redact), so a request raised through the merchant is actioned automatically.

Uninstalling the app stops all processing. Merchants can also see exactly what has been read for their store, and when, inside the app under Data & privacy.

Contact

Privacy questions: [email protected].


Privacy · Terms · WaitRoom