Security

How card data, money and access are handled.

Card data

The card number is typed on Belize Bank's own hosted payment page. It never reaches your servers, and it never reaches ours. We hold the last four digits, the card brand and the expiry, and nothing else.

Because of that, a merchant integrating with us is in scope for PCI SAQ A, the shortest self-assessment questionnaire, rather than one that covers systems which touch card numbers.

Money

Every payment is recorded in a double-entry ledger. A journal must balance before the database will accept it, and nothing can update or delete an entry once it has been posted.

The bank's callback is treated as a hint, not as truth. Money is released only after we ask the bank directly for the order's status, and three independent paths do that, so a payment settles even if the callback never arrives.

Amounts are whole minor units everywhere. No decimal ever crosses a boundary, and a payment priced in US dollars records the exact exchange rate it was settled at.

Access

Dashboard sign-in uses passkeys or an emailed link, with an authenticator app as the second step for anything that moves money or issues credentials. Secret API keys are shown once and stored only as a hash.

Live payments are switched on by hand, after your business has been verified with the bank. A test-mode key can never reach real money.

Every event we send you is signed with a secret only you and we know, and you can rotate it with a 24-hour overlap so nothing is missed in between.

Reporting a concern

If you believe you have found a security issue, email security@secureprocessing.app. We read every report and will tell you what we found.