Electoral Tribunal of Panama
A nation's identity fits inside a kiosk, if the system is not allowed to fail.
- When
- 2018–2022
- With
- XPLOR, CTO, public sector, mission critical, 100 units delivered, 24/7 operation
XPLOR was the technology vendor that built the multiservice kiosks for Panama’s Electoral Tribunal. As its CTO I led the programme from 2018 to 2022: 100 units built and delivered to the institution that guards a country’s identity.
The Tribunal deployed them from Changuinola to eastern Panama — metro stations, supermarkets, shopping centres and regional offices — many running 24/7. Today the institution operates well over a hundred kiosks in service.
What a kiosk actually does
Civil registry, ID and electoral paperwork without a counter: birth, death and marriage certificates, ID card duplicates, political party enrolment and affiliation certificates. Payment is taken on the unit itself by Visa, Mastercard or Clave.
Why this is unlike any other rollout
A government kiosk issues legally valid documents and takes public money on a machine with nobody standing behind it. That changes the rules: identity verification cannot afford false positives, availability is measured in full working days rather than monthly averages, and every transaction has to be auditable. There is no “we’ll fix it next sprint” here.
And it does not ship once: every unit is hardware out on the street, in the hands of citizens in a hurry, that has to keep working when the network drops, the paper runs out or somebody knocks it about.
Where everything else comes from
This is where my work on identification biometrics began. The same discipline — never being wrong about who someone is — lives today inside the facial recognition kiosk of El Empleado Juan, this time in the hands of small businesses.
The trail, in the schema
What turns a kiosk into a government system is not the screen: it is being able to reconstruct, months later, what was issued, to whom and against what.
-- Every procedure keeps its full fingerprint: which unit, which
-- document, which payment and what the civil registry replied, verbatim.
CREATE TABLE issuance (
id uuid PRIMARY KEY,
kiosk_id uuid NOT NULL REFERENCES kiosk(id),
document text NOT NULL, -- birth, death, ID card…
national_id text NOT NULL,
payment_ref text NOT NULL, -- reference from the gateway
registry_ack jsonb NOT NULL, -- raw response from the registry
issued_at timestamptz NOT NULL DEFAULT now()
);
-- The application may insert and read. It may not edit or delete: a
-- correction is a new row, never an edit of the previous one. That is
-- what makes the trail mean something when somebody audits it.
REVOKE UPDATE, DELETE ON issuance FROM application;
The jsonb holding the raw response looks redundant until the day the registry
changes a field and you have to prove exactly what it answered that afternoon.
Sources
Write to me
If you are thinking about building something with AI and want to talk it through with someone who has put it into production, write to me. I answer myself.
hola@giron.ai