Trust & safety
Security
How we protect operator data, patron privacy, and platform integrity. Last updated: 3 May 2026.
Encryption
In transit and at rest
In transit — TLS 1.2+
All traffic between operators, patrons, and MYSOVA servers is encrypted using TLS 1.2 or TLS 1.3. HTTP connections are redirected to HTTPS. HSTS is enforced at the CDN edge.
At rest — AES-256
All data stored in our Supabase-hosted Postgres database is encrypted at rest using AES-256. Database backups are encrypted with the same standard. Storage bucket objects (profile photos, lounge attachments) inherit volume-level encryption.
GDPR & ICO Registration
UK data protection compliance
MYSOVA LTD (company number 17154283) is a UK-registered data controller. We have filed our registration with the Information Commissioner's Office (ICO) and comply with the UK GDPR and Data Protection Act 2018.
Venue operator data is processed under the lawful basis of contract performance. Patron data that powers your analytics is received from MYSOVA as anonymised aggregates — no individual patron is identifiable in your dashboard.
Data subjects (operators and patrons) may exercise access, rectification, erasure, restriction, portability, and objection rights by contacting privacy@mysova.co.uk. We respond within one calendar month.
Full details are in our Privacy Policy.
Data Residency
EU-hosted infrastructure
| System | Provider | Region |
|---|---|---|
| Primary database & auth | Supabase (AWS eu-central-1) | EU — Frankfurt |
| Object storage | Supabase Storage | EU — Frankfurt |
| Edge compute & CDN | Vercel | Global edge / EU PoPs |
| Error monitoring | Sentry | US (anonymised payloads) |
| Payment processing | Stripe | US / EU |
| Transactional email | Resend | US |
Transfers outside the UK/EU rely on standard contractual clauses (SCCs) and the UK IDTA. Full subprocessor list available in the Privacy Policy.
Row-Level Security
Database access isolation
All MYSOVA tables use Postgres Row-Level Security (RLS) enforced at the database engine level. Policies are evaluated per-row, per-query — there is no application-layer bypass.
- Venue analytics data is scoped to the authenticated venue owner for that specific venue. An operator cannot query another venue's rows, even with a valid JWT.
- Patron-level data surfaces only in anonymised aggregates. Individual patron identifiers are never accessible to venue owners via the API or dashboard.
- Service-role operations (migrations, admin tasks) run via a separate service key, isolated from public-facing API surfaces.
- All RLS policies are version-controlled and reviewed in the same pull-request workflow as application code.
PCI Compliance & Billing
Stripe-managed, no raw card data stored
All payments are processed by Stripe, a PCI DSS Level 1 certified payment processor. MYSOVA does not store, transmit, or process raw card numbers, CVVs, or full bank details on our servers.
Card data is collected directly by Stripe's hosted elements and tokenised before touching MYSOVA infrastructure. We receive only a Stripe customer ID, payment method token, and subscription status.
Subscription management (upgrades, downgrades, cancellations) is handled via the Stripe customer portal. Invoices and receipts are issued by Stripe and forwarded to your billing email.
Webhook Signature Verification
HMAC-SHA256 on every event
MYSOVA verifies the authenticity of every inbound webhook using HMAC-SHA256 signatures. Requests with invalid or missing signatures are rejected with a 400 before any payload is parsed.
- Stripe events: verified using
stripe.webhooks.constructEvent()with the endpoint-specific signing secret. - Outbound operator webhooks (party/group check-ins, tier events): signed with an HMAC-SHA256 digest in the
X-MYSOVA-Signatureheader. Rotate your signing key from the dashboard at any time.
Refund Policy
30-day money-back on first subscription
Operators who upgrade to any paid tier for the first time can request a full refund within 30 calendar days of the charge. No questions. This matches the Notion-style standard that serious SaaS operators expect.
After 30 days or on subsequent billing cycles, subscriptions may be cancelled at any time. Access continues until the end of the paid period; no partial refunds are issued for unused time. Promotional discounts carry no cash value.
These terms are enforced in the billing system — not just in the Terms of Service. To request a refund, email billing@mysova.co.uk with your invoice number.
Two-Factor Authentication
Planned
TOTP-based two-factor authentication for operator accounts is on the roadmap. When shipped, 2FA will be opt-in initially and may become mandatory for Partner and Marquee tier accounts in a future release. We will communicate timelines with at least 30 days' notice.
Responsible Disclosure
Report a vulnerability
If you discover a security vulnerability in MYSOVA, we ask that you report it to us privately before disclosing publicly. We commit to:
- Acknowledge your report within 5 business days.
- Provide a status update within 30 days of receipt.
- Credit you in our changelog if the issue leads to a fix (unless you prefer anonymity).
- Not take legal action against researchers acting in good faith.
Email: security@mysova.co.uk
MYSOVA and the owl device are trademarks of MYSOVA LTD (UK00004373417 / UK00004373474). This page describes current practices; aspirational items are marked “Planned”.