AfroPin
Security

A gift card is money. We treat it that way.

Everything in AfroPin is built so that a code reaches the customer and nobody else, and so that every business, till and API call is who it says it is.

Codes reach the customer, and nobody else

Never stored readable

We keep a one-way fingerprint of each code, not the code itself. Nobody can look a code up, our own staff included.

Sent straight to the customer

A new code goes from us to the customer by email, or into the app they bought it from. It never passes through the staff who sold it.

Masked everywhere else

Tills, receipts, dashboards and reports show codes masked. A full code is only ever shown to the person who owns it.

Short-lived copies

Where a partner's system has to receive a code, the copy we keep for resending is cleared after 72 hours.

A new code on request

If a code may have been seen by someone else, a new one can be issued. The old code stops working at once and the balance moves across.

Checked on every use

Every redemption is checked against one ledger, so a gift card can't be spent twice, and a retried request returns the original receipt.

Accounts and tills, locked down

Verified businesses only

Every business passes our checks on its registration, directors and address before it can go live.

A code at every sign-in

Signing in to a dashboard needs a one-time code sent to the account's email, with a limit on wrong attempts.

Two-factor on what matters

Changing payout details, API keys, webhooks or tills needs a code from an authenticator app.

Every till signs in on its own

Each terminal has its own login and history, so every sale and redemption is tied to the till and store it came from.

Limits on what a till can do

Tills that sell can require a staff PIN, keep to daily limits and opening hours, and raise alerts on unusual activity.

A record of who did what

Sign-ins and sensitive changes are logged, so you can see who signed in where and what changed.

An API built to be called safely

Signed requests

Every call is signed with your secret, time-stamped and carries a one-time value, so it can't be forged or replayed.

Secrets sealed at rest

API secrets are stored encrypted, and are shown to you only once, when the key is created.

IP allow-lists

Limit each key to the servers you name. Calls from anywhere else are refused.

Idempotency keys

A request retried after a timeout returns the first result instead of charging or issuing twice.

Test mode, kept apart

Test keys and test gift cards can't touch live money, so you can build and train safely.

Signed webhooks

Every webhook we send is signed, so your system can confirm it came from AfroPin.

Your customers' data

The email addresses and phone numbers customers give when they receive a gift card are stored encrypted. We process personal data under the Nigeria Data Protection Act 2023, as our privacy policy explains.

Read the privacy policy

Found a security issue?

Email us with "Security" in the subject and the steps to reproduce it. Please don't test against live accounts or real gift cards.

[email protected]