Skip to the page

E · Security

Reads first. Acts only with your permission.

A connection reads. Writing to a system is a separate permission a person gives for that connection, and it is refused until then. Each organisation's records are kept apart by the database itself, keys to your systems are sealed, and card numbers are removed before anything is stored. Each of these has an automated test.

Each organisation on its own

  • In the database

    Every table that holds an organisation's records forces row-level security: the database returns only the signed-in organisation's rows.

  • Tested on every table

    A test reads every table as one organisation and finds none of another organisation's rows.

  • Admins of their own

    An organisation's admin manages its own people and no one else's.

  • FourWinds sales staff

    FourWinds' sales staff set an organisation up for its admin and do not become members of it.

Keys to your systems

  • Sealed

    Each key or sign-in token is sealed with AES-256-GCM and bound to the one connection it belongs to. Moved anywhere else, it does not open.

  • Rotated

    The sealing key can be changed. Values sealed under the old key still open, and are resealed under the new one.

  • Read first

    A connection reads. Writing to a system is a separate permission, given for that connection by a person, and refused until then.

  • The narrowest key

    Where a vendor offers restricted keys, only a restricted key is accepted. A Stripe secret key is refused.

  • Disconnected for good

    Disconnecting revokes access at the vendor and deletes the stored credentials.

Try this in a copy of your own, for two hours, with nothing to sign up for.

Open your own copy

Card numbers kept out

  • Removed at the door

    A card number typed into any field of a form is replaced before anything is stored. The record keeps which field it was in, and the check fails.

  • The last four digits

    Payments are kept with the provider's reference and the card's last four digits.

  • Checked on every payment

    Each payment event is read for a full card number.

What comes in, and what goes out

  • Signed requests

    Your website and other systems sign what they send. A bad or missing signature, an old timestamp or an oversized body is refused before anything in it is read.

  • Forgeries noticed

    Repeated forged requests raise an alert. A new secret needs an approver, and the old one then stops working.

  • Your shop's address checked

    Before an organisation's own shop is called, its address is looked up and must be a public internet address, over https. The call goes to exactly the address checked.

  • No repeated writes

    A read that fails is tried again. A write that may have landed is not sent twice.

Want this on your own systems? It starts with an audit of how your business really runs.

Book an audit

Access to your systems

  • Admin access checked

    Each grant of admin or owner access on a connected system is checked: approved by a named person, with two-step sign-in on.

  • Every change recorded

    Each change of access is an event on the record, with its check and its fingerprint.

  • Every night

    Each organisation is copied every night, sealed with the deployment's key, and kept in a private store apart from the database.

  • Opened before it counts

    Each copy is read back and opened before the night counts, and a copy restores into an empty database row for row.

  • A year of copies

    The last 35 nights are kept, and the first night of each month for a year.

  • Read, and nothing else

    The backup reads through a role that sees every organisation and can change nothing. Sign-in sessions and password hashes are left out of it.

Want this on your own systems? It starts with an audit of how your business really runs.

Book an audit

The web app

  • Everything from its own address

    Its pages load scripts, styles, fonts and images from its own address and refuse to be framed by another site.

  • These pages

    The public pages set no cookies and load no tracking.

Start here

See it on a business of your own.

Open your own copy in a few seconds and use it for two hours, with nothing to sign up for. When you want it on your own systems, we start with an audit.