Security and trust

Card numbers never enter your software.

SwitchKeep takes payments from inside the software a business already uses. Here is how card data is handled, how a payment is checked before it's charged, and what we do and don't claim.

Card data

The card goes straight to the processor.

The processor's own secure fields

The card number, expiry date and security code are typed into fields that the processor hosts. They are sent from those fields to the processor, which returns a one-time token in their place.

Its own payment window

When staff key in a card, the extension opens a separate payment window outside the software's page. The window shows the business, the invoice and the amount from our server, then hosts the processor's fields.

Never in your software, the extension or our servers

Card numbers never reach your software's page, the extension's code or SwitchKeep's servers. We receive the one-time token, the card brand and the last four digits, which is enough to charge and to show a receipt.

PCI DSS, in plain words

What we do, and what we don't claim.

PCI DSS is the card industry's security standard. The less card data a business's systems touch, the smaller the part of that standard it has to cover. We built SwitchKeep so that card numbers stay with the processor.

  • The pages that hold the processor's fields run only our own scripts and the processor's, and only the extension's own pages can frame them.
  • The payment pages we send customers to can't be framed by any other site.
  • Everything travels over HTTPS.

We don't claim a PCI DSS certification, and this page isn't one. Which questionnaire a business completes is for its processor or acquirer to confirm. If yours asks how SwitchKeep handles cards, ask us and we'll answer in writing.

Every payment

Checked on our server, charged once.

Retries never charge twice

Each charge runs under its own key, and its outcome is stored. A retry gets the stored result instead of a second charge. If a charge's outcome is unclear, we ask the processor before trying again, and refuse when it can't say.

Every amount re-checked

Our server works out what's still owed from its own record of the invoice and its payments, and refuses a charge for more. If the amount changes after the customer confirmed it, the charge stops and asks for a new confirmation.

One payment written back

After a payment, the extension records it on the invoice and reads the balance back to confirm it took. It changes nothing else. What the extension reads and writes is listed in full.

Accounts and records

Who did what, kept for good.

Two-step sign-in

Partner and SwitchKeep staff accounts can sign in with a password plus a 6-digit code from an authenticator app. It's set up under Your account in the portal.

An audit log that can't be edited

Payments, declines, refunds, payment plans and changes to accounts and settings are written to an audit log. The database refuses to change or delete its rows, for everyone, including us.

Your data

What the website and the extension collect, what stays on the computer and who it's shared with is in our privacy notice. How long we keep data will be set out in the final policy.

Found a security issue?

Email [email protected] with "Security report" in the subject. Tell us what you found and how to reproduce it. Please don't access other people's data, and give us time to fix it before you share it publicly. We'll reply to every report.