Security

How the service is protected, and how to report a vulnerability.

Version
2026-08-25
Effective
2026-08-25
PLACEHOLDER — NOT YET REVIEWED BY A QUALIFIED PERSON. The structure and the factual descriptions below were written from the product's actual code and infrastructure and are accurate as far as they go. The operative legal wording has not been reviewed. Do not rely on this document until that review has happened and this banner is removed.

Reporting a vulnerability

If you have found a security issue, tell us before you tell anyone else. Open a Support ticket describing what you found and how to reproduce it. We will confirm receipt and keep you updated.

Please do not run automated scanners against the production service, access or modify data that is not yours, or degrade the service for other users. Testing that stays within your own account is welcome.

We do not currently run a paid bug-bounty programme.

How your data is protected

  • Tenant isolation is enforced in the database itself, through row-level security, rather than only in application code. Every request runs under an identity scoped to the signed-in account.
  • Passwords are never stored — only hashes, handled by our authentication provider. Card details never reach our servers; Stripe handles payment data.
  • Transport is HTTPS everywhere, with a strict Content Security Policy and the standard protective headers enforced on the web frontend.
  • Rate limiting and input caps are applied per account to limit the damage a compromised credential can do.
  • Uploads are constrained by size and file type, and metadata such as GPS coordinates is stripped from images before storage.
  • Moderation decisions are recorded in an append-only audit table that the application itself cannot edit or empty.

Known gaps

We would rather list these than imply they do not exist:

  • Self-service account deletion and data export are not built yet. Both are available on request through Support.
  • Error monitoring is not yet connected to an alerting destination, so we may learn about a failure later than we should.
  • Database point-in-time recovery is not enabled on the current infrastructure plan.

Contact

Support is the fastest route and creates a tracked ticket.