Skip to content

Security

Security questionnaire, answered

The questions a procurement or IT team asks, with the answers that are true today. The Data Processing Addendum covers the same ground contractually; a signed copy is two business days away. Every company that can touch your data is named on the sub-processor page.

Where is the application hosted?
Vercel (application, edge network) and Supabase (PostgreSQL, authentication, file storage), both in United States regions. Backups are copied nightly to Cloudflare R2.
Is data encrypted?
Yes. TLS 1.2 or higher in transit. At rest, the database, stored files and the nightly backup copy are encrypted with AES-256 by the providers that hold them (Supabase, on AWS, and Cloudflare R2); we do not add a second layer of our own.
How are customers separated?
One database with row-level security on every table; a request can only read or write rows of the workspace it is authenticated for. An automated matrix test runs in CI on every schema change, against a fresh schema, and fails if any table leaks between two seeded tenants.
Who at Sitesui can access our data?
Named staff accounts only, and the staff area does not open without two-factor. Support access to a workspace is read-only and is written to that workspace's audit log, which the customer can see.
What roles and permissions exist?
Owner, admin, inspector (member), viewer (read-only) and a billing seat. Members can be scoped to regions so a district manager sees only their district. Two-factor (an authenticator app, with ten single-use recovery codes) is optional for each user; owners and admins can require it for the whole workspace, and see who has it on.
Do you support SSO?
Google sign-in, one-tap email links, and domain-based sign-in rules are available. SAML/OIDC single sign-on is on the roadmap for enterprise agreements; ask.
How are backups handled?
A full nightly copy (database dump and every stored file) to a second provider, Cloudflare R2, which encrypts it at rest, scheduled outside the hosting platform so it does not share its failure mode; backup copies expire after 35 days. The copy is watched rather than assumed: the ten-minute check reads the last backup receipt and raises an alert when none has landed in 26 hours. A restore rehearsal into a clean database leaves its own dated pass/fail receipt. /status shows the date of the last completed copy; ask us and we will tell you the date of the last successful one.
What is your uptime?
Two automated checks. One runs every ten minutes on the hosting platform's own scheduler; the other runs from GitHub Actions, outside our hosting, because a check inside the app cannot notice the app being down — GitHub runs scheduled jobs when it has capacity, so that one is a second opinion rather than a metronome. Both leave a dated pass/fail receipt. We do not publish an uptime percentage yet, and /status says why; ask and we will send you the trailing 7-day figure from those receipts. Service credits and an SLA are available on enterprise agreements.
How do you handle incidents and breaches?
Every server error is written to an internal error log the moment it happens, and the automated checks alert on a change of state through two channels that do not share a failure mode — a push notification to a named administrator and email. We do not contract a response time outside an enterprise agreement. A personal-data breach affecting a customer is notified within 72 hours of confirmation, with updates as the investigation proceeds (DPA §6).
What third parties process our data?
Vercel, Supabase, Stripe, Resend, Twilio, Cloudflare, GitHub, X.AI LLC (xAI), Anthropic, OpenAI, Mapbox, Komoot GmbH (Photon). Each one, what it does, what personal data it can see and where it processes, is published at /legal/subprocessors and summarised in DPA §2. 30 days' notice by email before any addition, and you can ask to be on that notice list.
Where is data stored and can it be kept in-region?
United States. EU/UK customers are covered by the Standard Contractual Clauses in the DPA. In-region hosting is available on enterprise agreements.
How do we get our data out, or delete it?
CSV and ZIP exports from the product at any time; a full export on request from Settings → Danger zone; workspace deletion from the same page removes files, records, logins and any subscription, with deletion from backups as their copies expire (backup copies expire after 35 days).
Do you use customer data to train AI models?
No. Optional model calls (resident-report triage, which a workspace owner or admin can turn off under Settings → Workspace; the summary at the top of our own end-of-day business brief; editorial help on our own blog) send only the text needed for that call; optional voice-note transcription sends the audio clip and gets the words back. We train nothing on it, and the providers' API terms exclude API inputs from training; we keep every provider's opt-in data-sharing programme switched off and check that setting each quarter.
Is there a penetration test or SOC 2 report?
Not yet. Security review is part of every change (automated dependency review, CSP, signed webhooks, rate limits), and the tenant-isolation matrix runs in CI on every schema change. A third-party assessment is planned; ask for the current status.
Who do we contact?
hello@sitesui.app. Security reports to the same address are read by a person, and answered first.

Something your questionnaire asks that isn't here? Send it to hello@sitesui.app; the answer is added to this page.