What we protect, and what we do not claim.

Each point below describes something Return OS does today. We checked every one against the code before writing it.

Every store is isolated from the others
Stores are separated inside the database with row-level security, forced on the tables that hold store data. A query running for one store cannot read another store's rows, even if the application code has a bug.
Two-step sign-in for owners, admins and finance
Owner, Admin and Finance must enrol in two-step sign-in before they can use the console. The rule is decided by role in code, not by a setting someone could switch off.
Photos stay private
Evidence photos are never public. They are served through signed links that expire after five minutes and work for one person and one photo.
Customer keys are salted and one-way
For repeat-customer analytics we do not store a customer's Shopify ID. We store a keyed one-way hash (HMAC-SHA256 with a secret salt) that includes the store, so the same shopper in two stores has two unrelated keys and the key cannot be turned back into an ID.
We ask for the minimum
The portal asks only for the order number and the email or phone already on the order. Every wrong answer looks the same and takes the same time, and lookups are rate-limited. We do not store card numbers.
Shopify webhooks are verified
Every webhook from Shopify has its signature checked before the content is read.
An audit trail that cannot be edited
Sensitive actions are written to an audit log. The application is not allowed to update or delete its rows, and entries leave out tokens, payout details and full contact data.
A money ledger that only grows
Every money movement is a balanced entry in a ledger the database refuses to edit or delete. A correction is a new, reversing entry.

What we do not claim

  • We make no certification claims: not SOC 2, not ISO 27001, not any other.
  • We do not claim that nothing can go wrong. We claim the specific things above.
  • If you find a security problem, write to us from the contact page and we will answer.

Read the draft privacy policy

Tell us about your store.

Early access is by request. We read every message and reply by email.

Request early access