Privacy & compliance
A list you can defend: explicit consent with evidence, statutory disclosures enforced at publish time, junk kept out, and popups every visitor can use.
Consent, with receipts
- Email and SMS consent are separate. Each syncs to providers only with its own consent; SMS consent fails closed: no checked box (or disclosure) means no SMS marketing, period.
- Evidence per subscriber. Janus snapshots the exact consent text as rendered at signup, plus timestamp and IP, a consent record that can say what was consented to.
- Enforced disclosures. A phone input without an SMS consent disclosure is a publish blocker, not a style suggestion. The email consent line carries your legal name, ToS and privacy links via variables.
- EU targeting helpers. Country conditions include a one-click EU list; a consent-checkbox element and DOB age-gate input are in the element library; Shopify's customer-privacy consent (marketing / analytics / preferences / sale-of-data) is a targeting condition.
GDPR
- Right to erasure: subscriber data is deletable on request, and Shopify's privacy webhooks (customer redact requests) are honored automatically.
- First-party only: visitor state lives in your store's own localStorage; no cross-site tracking, no third-party cookies. See what the widget stores.
List quality & anti-spam
| Layer | What it does |
|---|---|
| Validation | Syntax checks, normalization, and a block on disposable/throwaway email domains ("Please use a permanent email address"). Optional DNS-level (MX) verification. |
| Honeypot | A field humans never see; bots that fill it get a silent fake success and never touch your list. |
| Rate limits | Per-visitor caps on signups and events stop scripted abuse cold. |
| Dedupe | Known emails are recognized (answers/phone merge onto the existing record) and flagged so opt-in metrics count only net-new subscribers. |
Accessibility
- Popups are proper modal dialogs: focus is trapped while open, Escape always closes, and the close button is screen-reader labeled.
- Reduced motion is honored everywhere: entrances lose their travel, games resolve to their result without the ride, nudges never play.
- Games announce outcomes to screen readers and work by keyboard (Enter/Space reveals a scratch card).
- The publish ready check audits your design (low text contrast, missing alt text, unlabeled controls, skipped heading levels), and the brand kit warns on low-contrast color pairs as you pick them.
DisclaimerJanus gives you compliant defaults and hard guardrails, but marketing-law compliance depends on your copy, your flows and your jurisdictions; when in doubt, run the specifics past your counsel.