Book a briefing
Trust centrelast reviewed 13 October 2026

What we hold,
and what we don’t yet.

An election is only as good as the trust of the people who lost it. This page sets out how PollGuard keeps a ballot secret, what it writes down, where your data sits, and, just as plainly, the certifications, guarantees and claims we do not make.

Written to be read by a board, not a sales team.

THE LEDGER

READ 27 OCT 2026, 06:48 EAT · L.01 LIVE · THE REST AS AT 13 OCT 2026
L.01LIVE
PlatformOperatingfrom the live health check (database, cache)
L.02
Open incidentsNone listedat the time of review
L.03
Last incidentJul 2026 · TLScertificate lapse · resolved
L.04
Nightly backup00:30 UTCscheduled nightly · last-run status not published here yet
L.05GAP
HostingOne regionno automatic failover
L.06NONE YET
CertificationsNone yetno ISO 27001, no SOC 2
L.01 can read four ways
OperatingDegradedNot answeringDidn’t answer, which is not “operating”

We publish no uptime percentage. When something goes wrong that members, officers or boards can see, it is entered under Incident history below.

01 · Ballot secrecy

Secret by roles today.
Separated next.

Ballot secrecy on PollGuard is operational, not cryptographic. Today it rests on who may open which screen. It does not yet rest on keeping who you are and what you chose in two places, and we would rather tell you that here than have you find it out.

TodayWhat protects it

Roles and receipts

  • Every action is behind a role permission: members cast, officers run stations, the board runs the election.
  • A second ballot from the same member for the same position is refused by the database itself.
  • The receipt check never returns a choice: only recorded or not found, the position, the time and the status.
  • The ballot payload is stored encrypted, and the official tally runs only after the ballot is closed.
Not yetWhat it does not yet do

The gaps, said plainly

  • The record of a ballot is linked to the voter’s account in the same database, so people with database access could connect a person to a choice.
  • Running per-candidate counts exist while voting is open, and an organisation’s admins can see them before the close.
  • Reads of ballot or identity data are not yet written to the record. Only changes are (see 02).
Being builtWhat we are building

Separation

  • Identity and choice held apart, with no shared key between them.
  • Candidate totals hidden from everyone until the board closes the ballot.
  • Every read of either written to the record, with a name and a reason.
This section will change on the day each one ships, with the date.
Diagram · who can see what, today

Four kinds of people, four questions

Read across a row. Where today falls short of what we are building, the cell says so.

Who can see what on PollGuard today: members, returning officers, organisation admins and PollGuard support, against four questions
PersonThat a member has votedHow a named member votedRunning counts before closeWhat they change
Member
Android app or station
Their own
Their receipt shows their ballot is recorded
No
The receipt check never returns a choice
No
Written
Votes cast are recorded, never the choice
Returning officer
runs a station
Yes
Officers see who has voted
No
Never how
No
Written, by name
Assists go under the officer’s own account
Organisation admin
the board’s side
Yes
Turnout and who has voted
Not on any screen
No PollGuard screen shows it
Yes, today
A gap. Hiding totals until close is being built
Written, by name
Openings, closings, imports
PollGuard support
our own staff
Can reach it
Support staff can reach customer data
Could, today
With database access, because the ballot is linked to the account
Can reach it
The counts exist while voting is open
Written like anyone’s
A support-access log with a reason is on the roadmap
For everyone: reads are not logged yet. Only changes are.The database is reachable only from inside the server itself, never from the internet.
What it protects against

An officer, a candidate’s agent or a member using the app as designed to find out how a named member voted.

What it rests on

Role permissions and a record of every change. It is operational secrecy: not end-to-end cryptography, and not a blockchain.

The risk we still carry

The production database is reachable only from inside the server itself; nobody reaches it from the internet. That lowers the risk above. It does not remove it, and we won’t tell you it does.

02 · The record

Who changed what, and when.

The record is an operational audit log: one row for every change made through PollGuard, written as it happens, carrying the account and role that made it, the action, the time and where it came from.

Written today

Today
R1Roll imports and edits
R2Verification submissions and reviewers’ decisions
R3Election changes, including each opening and closing
R4Station and device changes, and votes cast (never the choice)
R5Every other create, update or delete

Not written yet

Gap
Reads: opening a member’s record or a ballot leaves no row today
Exports, and a reason typed by the person

Who can read it

Being built

There is no board-facing view of the record yet. One is being built, for the electoral board and the auditors or observers it names.

Export

Being built

The full record as CSV and PDF, each export carrying the election, the period and who exported it. Election results already export today.

03 · Data & hosting

One region.
No automatic failover.

We would rather you plan for the risk than discover it on polling day. Here is how PollGuard is hosted today, including the parts a larger provider would leave out.

H.01

Single region

The platform runs on one server, in one hosting region, with one provider. There is no standby copy running in a second region.

H.02

No automatic failover

We raise this with every board in the briefing before a live election.

H.03

Backups nightly

A full database backup every night at 00:30 UTC, the last seven kept. Identity-document images are not yet in it.

H.04

Sentimeter is separate

It works only on public web content. Its analytics data is held in a separate warehouse.

Members’ data
Belongs to the organisation; used to run its elections
SMS
One-time sign-in codes, never a ballot
The app
Android only, distributed directly from pollguard.africa, not through app stores
In transit
All public traffic over HTTPS
04 · Identity checks

Members verify themselves.

On their own phone or computer, with a document and a live selfie. Where a person needs help at a station, an officer can step in, and does so under their own account.

  1. 01

    The document

    The member photographs their identity document in the Android app or on the web. An outside AI document-reading service helps read it.

  2. 02

    A live selfie

    Taken with the camera at that moment, inside the app, not chosen from the gallery. Liveness prompts, then a face match to the document.

  3. 03

    A person decides every one

    Software reads, checks and scores; a named reviewer approves or declines every verification under their own name. Borderline matches get the closest look. A clear mismatch fails the check, and the member can start again.

  4. 04

    Officer help

    At a station, an officer can identify a member. The action is written to the record under the officer’s account.

No government register lookup.

Member verification does not check documents against IPRS or any other government identity database. Eligibility comes from your organisation’s own roll.

At the ballot, and what is kept

Before a ballot is cast: a face re-check against the verified face, or the phone’s own fingerprint or face unlock. Kept: the document images, the selfie, the check results and a numeric face template, for as long as the data-protection notice says. The face model is a widely used open model, not retrained on members. No accuracy figure is published.

How identity checks work
05 · What we do not claim

If you read it elsewhere,
it wasn’t from us.

Six things a board may hear about election software. None of them is true of PollGuard today, and we say so before anyone asks.

Not claimed: ISO 27001 or SOC 2

We hold neither certification yet. If we begin an audit, it will be listed here with its status.

Not claimed: An uptime percentage

We don’t publish one. We list incidents instead, with dates.

Not claimed: End-to-end verifiability, or a blockchain

Secrecy is operational. The receipt shows a ballot is on record; it is not a cryptographic proof of the whole tally.

Not claimed: Any link to the IEBC

PollGuard is independent of the IEBC: not affiliated, not endorsed, not integrated. Only the IEBC declares national results.

Not claimed: “Tamper-proof” or “military-grade”

Nothing is. We tell you what is logged and who can change it, so a change leaves a trace.

Not claimed: Forecasts

Sentimeter measures what was said in public. It does not predict who will win.

06 · Incident history

What went wrong,
with the date.

An entry goes here when members, officers, boards or visitors could see the problem. Entries are not removed when they become old or awkward.

July 2026
INC-2026-01INCIDENTRESOLVED

TLS certificate lapse

The TLS certificate that secures the PollGuard website expired before it was renewed. While it was expired, browsers showed a security warning in place of the site, and most visitors could not get through. A new certificate was issued and the site returned to normal.

What people sawA browser warning instead of the site
CauseCertificate not renewed before expiry
StatusResolved · new certificate issued

No open incidents at the time this page was reviewed, 13 October 2026.

07 · Accessibility

Target: WCAG 2.1 AA.

It is the standard we design and test against. It is a target, not a claim of conformance, and no independent audit has been done.

No text under 12px

On our redesigned screens, nothing smaller than 12px.

Buttons at least 44px tall

For thumbs at a crowded station.

Colour never carries meaning alone

A green chip also says what it means, in words and with a shape.

Found a barrier? Tell us at manage@pollguard.africa and say which page and device.

08 · Responsible disclosure

Found a security problem?
Tell us first.

  1. 1Write “Security” in the subject. Say what you found, where, and the steps to see it again.
  2. 2Use the free sandbox or your own test data. Don’t touch other people’s records or a live election.
  3. 3No load or denial-of-service testing. Give us time to fix it before you publish.
  4. 4We reply from a named person, and say what we did once it is fixed.