Code::Core · Visitor Management System · Project Document v0.1Confidential
Code::Core PD-VMS-001 · v0.1
Operation: Get Rid of the Blue Book
Visitor
Management
System
Project Document

A proposal to replace paper visitor books in Ugandan buildings with a verified, configurable and auditable check‑in system.

Packages from UGX 32MDjango · offline-firstData Protection Act 2019
Prepared byCode::Core, Kampala
Date20 October 2026
StatusConfidential · Draft

Document control

DocumentProject Document (PD-VMS-001)
Version0.1 — working draft for discussion
Date20 October 2026
OwnerCode::Core, Kampala
AudienceTechnical team, sales & marketing, prospective clients, funders
StatusFigures and hardware models are planning estimates pending supplier quotes

Revision history

VersionDateAuthorChanges
0.120 Oct 2026Code::CoreFirst working draft for discussion
 
 

Approvals

RoleNameSignatureDate
Project lead
Technical lead
Client owner

Contents

  1. Executive summary
  2. Background and problem
  3. Objectives and success measures
  4. Scope
  5. Stakeholders and users
  6. Solution overview
  7. Functional requirements
  8. Non-functional requirements
  9. System architecture
  10. Hardware
  11. Data model
  12. Security, privacy and compliance
  13. Integrations
  14. Implementation plan
  15. Team and governance
  16. Commercials
  17. Risks
  18. Assumptions and dependencies
  19. Open decisions
  20. Appendices

1. Executive summary

Almost every institutional building in Uganda — regulators such as UCC and CAA, banks, telcos, government offices and multi-tenant commercial blocks — controls visitors with a paper "blue book". The visitor surrenders an ID, writes their name, date, host, reason and times in a book, and receives a reusable visitor card. Some buildings keep one book per tenant; some require the same details in up to three books.

The book gives the appearance of control without the substance. Entries are unverified and often illegible, IDs are held at a desk where they can be lost or copied, and the books are rarely if ever consulted. When an alarm sounds, nobody can say which visitors are still inside.

Code::Core proposes a visitor management system (VMS) built in Uganda for Ugandan conditions. A kiosk at the gate or reception reads the visitor's National ID or passport once, decodes and checks the NIN, runs the organisation's own entry procedure (induction video, safety test, NDA, speaking with the host), notifies the host by SMS, WhatsApp or intercom, prints a time-limited badge, releases the turnstile and records everything for reporting and audit.

The platform is built on Django with an offline-first edge agent on each kiosk, so check-in continues through power and internet outages. It is configurable per organisation and supports many tenants behind one entrance.

115M
The headline offer is a fully kitted reception processing 100 visitors a day for UGX 115M including 18% VAT. Packages scale from UGX 32M (up to 40 visitors a day) to UGX 200M (up to 300 a day), with full ownership of the system at UGX 320M.

The proposal is led by an engineer who has previously built and operated a comparable system in a data centre environment.

2. Background and problem

2.1 Current process

  1. Visitor arrives at the gate; guard requests an ID.
  2. Visitor writes name, date, person to visit, reason and time in in the blue book.
  3. ID is retained; a numbered visitor card is issued.
  4. In multi-tenant buildings, steps 2–3 may repeat at the lobby and again at the tenant's own reception.
  5. On exit, the visitor writes the time out (often skipped) and swaps the card for the ID.

2.2 Problems

ProblemEffect
Unverified entriesAnyone can write any name. No link between the person, the ID and the entry.
ID retentionNational IDs held at an unsecured desk; risk of loss, swapping or copying; visitors leave without their ID.
Never referred toBooks are filed and not searched after incidents or for audits; the data has no operational value.
Duplicate booksOne book per tenant or per checkpoint — up to three entries for one visit, none joined up.
No live occupancyNo roll call during evacuation; overstays and unreturned cards go unnoticed.
Procedures not enforcedSafety inductions, tests or host confirmation depend on the guard remembering and are not evidenced.
Privacy exposurePersonal data sits open on a desk for every later visitor to read, contrary to the spirit of the Data Protection and Privacy Act, 2019.

3. Objectives and success measures

#ObjectiveMeasure (pilot target)
O1Replace every paper book at a siteAll books retired within 30 days of go-live
O2Verify identity at entry100% of visits linked to a scanned ID; NIN format check on every National ID
O3Return IDs immediately0 IDs retained at reception
O4Speed up check-inMedian ≤ 2 min first visit; ≤ 30 s returning or pre-invited
O5Enforce each organisation's procedure100% of required steps evidenced in the audit log
O6Know who is on siteEvacuation roll call available in ≤ 10 s; drill accuracy ≥ 98%
O7Make records usefulAny past visit retrievable in ≤ 30 s by name, NIN, host or date
O8Stay availableCheck-in continues during internet or mains outage; 99.5% kiosk availability

4. Scope

4.1 In scope

  • Visitor self-service kiosk application (gate and reception variants).
  • Reception / security dashboard with live occupancy and evacuation roll call.
  • Organisation admin console: hosts, tenants, visitor types, workflow builder, devices, reports.
  • Host notification and approval by SMS, WhatsApp and SIP intercom.
  • Pre-registration and QR invites sent by hosts.
  • Badge printing (PVC card or sticker) and time-limited access credentials.
  • Integration with turnstiles and door controllers via relay, Wiegand or OSDP.
  • Multi-tenant operation: many organisations behind one entrance.
  • Reporting, audit logs and data exports.
  • Supply, installation, training and support for the hardware in each package.

4.2 Out of scope (phase 1)

  • Live verification against the NIRA register (planned as phase 2, subject to an agreement with NIRA).
  • Staff time and attendance.
  • Vehicle number-plate recognition.
  • Civil works for new turnstiles or gates (coordinated with the client's contractor).
  • Replacement of an existing access-control system; the VMS integrates with it.

5. Stakeholders and users

RoleNeedsPrimary touchpoint
VisitorFast entry, keep their ID, clear directionsKiosk, SMS/WhatsApp invite
HostKnow when a guest arrives; approve without an appSMS, WhatsApp, desk phone
Guard / receptionistHandle exceptions, see who is waiting, run roll callReception dashboard
Security managerEnforce policy, watchlists, investigationsDashboard, reports, audit log
Organisation adminConfigure procedure, hosts, visitor typesAdmin console
Building manager / landlordOne entrance for all tenants; occupancyBuilding admin console
Auditor / regulatorEvidence that procedures were followedRead-only exports
Code::Core supportMonitor devices, update software, fix faultsDevice fleet console

6. Solution overview

The VMS has three parts: a cloud platform (Django) that holds configuration, records and reports; a kiosk at each entrance running a local edge agent that drives the hardware and keeps working offline; and communications channels that reach hosts wherever they are.

6.1 Visitor journey (example: regulator, meeting visitor)

StepScreenWhat happens
K1AttractVisitor chooses Check in, Check out or "I have a QR invite". Language: English or Swahili.
K2IdentityID placed on reader. MRZ and face photo read; live photo taken. NIN decoded and cross-checked. ID returned.
K3Host & reasonSearch across all tenants; presence shown. Reason chosen (meeting, delivery, interview, contractor).
K4InductionOrganisation's safety video; cannot be skipped; completion valid for a configured period.
K5Safety testOrganisation's questions and pass mark; two attempts, then reception is alerted.
K6Host approvalSMS → WhatsApp → SIP call, in the order the organisation sets. Visitor may speak on the intercom.
K7BadgeBadge printed with photo, host, floor and validity; access credential pushed to the turnstile.
—ExitBadge tapped at exit turnstile or kiosk; visit closed; card recovered for re-encoding.

6.2 Configurable steps

Each organisation assembles its own workflow per visitor type from: ID scan, live photo, host lookup, induction video, safety test, NDA / e-signature, speak with host, host approval, badge print, turnstile release and check-out. A contractor flow can require induction and a test; a delivery flow may need only an ID scan and a sticker badge.

7. Functional requirements

Priority: M must have for go-live, S should have, C could have (later phase).

IDRequirementPri.
Check-in
FR-01Read Uganda National ID and passports via MRZ; capture document photo where available.M
FR-02Validate NIN format (Appendix A) and cross-check sex and birth year against the document; flag mismatches to reception.M
FR-03Capture a live photo and attach it to the visit.M
FR-04Recognise returning visitors and pre-fill details; skip steps still valid (e.g. induction within 90 days).M
FR-05Search hosts across all tenants at the site, with presence status.M
FR-06Run the organisation's workflow for the selected visitor type, in order, recording a result for each step.M
FR-07Play induction video with skipping disabled; record completion and version.M
FR-08Run configurable safety test with pass mark and attempt limit.M
FR-09Capture NDA or site-rules acceptance with on-screen signature.S
FR-10Accept QR invites issued by hosts and skip pre-completed steps.M
FR-11Show consent notice and capture consent before storing personal data.M
FR-12Support English and Swahili on the kiosk; further languages configurable.S
Host communication
FR-13Notify host by SMS and WhatsApp with visitor name, photo, reason and approve / coming down / decline actions.M
FR-14Escalate to SIP call to the host's desk phone, then to reception, after configurable timeouts.M
FR-15Allow two-way intercom between kiosk and host or reception.S
FR-16Accept plain-SMS replies (1 / 2 / 3) for hosts without WhatsApp.M
Badges and access
FR-17Print PVC badge with photo, name, host, floor and validity; encode access credential.M
FR-18Print sticker badge with QR for low-security sites.M
FR-19Push credential validity (zones, start, expiry) to the access controller; revoke on check-out or expiry.M
FR-20Check out by badge tap, kiosk or reception; auto-close at end of day with overstay flag.M
Reception and security
FR-21Live dashboard: on site, waiting for host, overstayed, failed steps.M
FR-22One-tap evacuation roll call (screen, print and SMS to marshals); triggered automatically by fire-panel input.M
FR-23Organisation watchlist (deny or silent alert) matched on NIN, passport or name.S
FR-24Manual check-in by receptionist for exceptions, with reason recorded.M
Administration and reporting
FR-25Admin console for hosts, departments, tenants, visitor types and workflows (drag-to-order).M
FR-26Bulk host import (CSV) and optional directory sync.S
FR-27Reports: daily visits, peak hours, per-host, per-tenant, overstays, failed tests; CSV and PDF export.M
FR-28Search any past visit by name, NIN, host, tenant or date.M
FR-29Immutable audit log of every action by every user and device.M
FR-30Device fleet view: health, printer supplies, last sync, software version.M
FR-31REST API for integration with client systems.C

8. Non-functional requirements

AreaRequirement
PerformanceEach kiosk clears ≥ 30 check-ins per hour; ID read ≤ 3 s; dashboard updates within 2 s of an event.
Availability99.5% kiosk availability; cloud platform 99.5% monthly.
Offline operationKiosk completes check-in, badge print and turnstile release with no internet for at least 72 hours; host notification falls back to local SIP; queued events sync on reconnect.
PowerOnline UPS gives at least 1 hour of full operation on mains failure.
ScalabilityHorizontal scaling to 500 sites and 50,000 visits per day without redesign.
SecurityTLS 1.2+; encryption at rest; per-tenant isolation; role-based access; MFA for admins.
PrivacyConfigurable retention with automatic purge; data minimisation; subject access and erasure supported.
UsabilityFirst-time visitor completes check-in unaided; touch targets ≥ 48 px; readable in bright lobby light.
MaintainabilitySigned over-the-air updates; remote diagnostics; documented runbooks.
DurabilityGate kiosks IP65 front, operating 0–45 °C, dust tolerant.

9. System architecture

The system is split between a central platform and a hardened edge at each entrance. The edge is the source of truth during an outage; the platform is the source of truth for configuration and history.

LayerComponents
Cloud platformDjango 5 and Django REST Framework; PostgreSQL with schema-per-tenant isolation (django-tenants); Celery and Redis for notifications, reports and purges; Django Channels (WebSockets) for live dashboards; object storage for photos and signatures, encrypted.
Web front endsAdmin console and reception dashboard as server-rendered Django templates with HTMX; kiosk UI as a locked full-screen web app served by the edge agent.
Edge agentPython service on each kiosk (Linux, or Windows IoT where vendor drivers require it). Holds a local copy of workflows, hosts and active credentials in SQLite; queues events and syncs over an authenticated API; exposes hardware to the kiosk UI through a local API.
Hardware driversDocument reader SDK (MRZ), camera, card printer and encoder, label printer, relay / Wiegand / OSDP controller, fire-panel dry contact.
CommunicationsSMS through a Ugandan aggregator; WhatsApp Business Platform for interactive approvals; Asterisk / FreePBX for SIP intercom and desk-phone calls; email for invites and reports.
HostingUgandan data centre preferred (data residency); containerised deployment; daily encrypted backups with off-site copy. Own-the-system package deploys the same stack on the client's servers.
OperationsCI/CD with automated tests; monitoring and alerting on kiosk health and queue depth; centralised logs.

9.1 Key flows

  • Online check-in: kiosk → edge agent → platform API; notification jobs queued in Celery; dashboard updated over WebSocket.
  • Offline check-in: edge agent validates against local data, prints the badge and pushes the credential to the local controller; host reached through local SIP; events queued and replayed in order on reconnect.
  • Evacuation: fire-panel contact on the edge agent triggers a local roll-call print and SMS to marshals, independent of the cloud.

10. Hardware

Two kiosk tiers run the same software. Models are suggestions to be confirmed with Kampala suppliers for availability, warranty and local support. Prices are planning estimates in UGX, excluding VAT.

ComponentGate kiosk (industrial)Reception kiosk (tablet)Est. UGX
ComputeFanless industrial panel PC, 15.6", IP65 front, Core i5, 8 GB (e.g. Advantech TPC / UTC series)Rugged tablet in locked stand (e.g. Samsung Galaxy Tab Active)6–8M / 2.5–3.5M
ID readerFull-page document reader, MRZ OCR + UV (e.g. Thales, Regula)Camera MRZ read or compact USB MRZ reader3–6M / 0.8–2M
Badge printerPVC card printer with RFID encoder (e.g. Zebra ZC300)Label printer (e.g. Brother QL series)6–9M / 0.8–1.2M
Access cardsMIFARE DESFire 13.56 MHz reader / writer (e.g. HID Omnikey)QR on sticker badge0.4–0.8M
CameraUSB 1080p with IR for photo and livenessTablet front camera0.3–0.6M
IntercomSIP video door station or handset (e.g. Grandstream, Yealink)Tablet softphone1.2–2.5M
I/ORelay / Wiegand / OSDP controller; fire-panel inputOptional0.8–1.5M
PowerOnline UPS, 1–2 h runtimeSmall UPS for printer1–2M
NetworkWired LAN + 4G LTE failover routerWi-Fi + 4G SIM0.5–1M
EnclosureFloor-standing steel kiosk, lockable, cable-managedDesk stand with security lock2–4M / 0.3–0.6M

11. Data model

EntityPurpose and key fields
OrganisationTenant. Name, branding, retention policy, notification order, data-protection contact.
Site, EntranceBuilding and its gates. One site can host many organisations.
HostStaff member who receives visitors. Phone, WhatsApp, SIP extension, department, floor, presence.
VisitorPerson. Document type, hashed NIN or passport number, decoded sex and birth year, photo reference, consent record.
VisitorTypeMeeting, contractor, delivery, interview, VIP — each linked to a workflow.
Workflow, StepOrdered steps with per-step configuration (video, questions, pass mark, validity).
VisitOne trip. Visitor, host, organisation, entrance, reason, times in and out, status.
StepResultEvidence per step: watched, score, signature, approval channel and time.
Badge, CredentialPrinted badge and access credential: zones, validity window, revocation.
DeviceRegistered kiosk: capabilities, health, software version, last sync.
WatchlistEntryIdentifier, action (deny / alert), reason, owner, expiry.
AuditEventAppend-only record of every action: actor, device, object, before / after, time.

12. Security, privacy and compliance

12.1 Data Protection and Privacy Act, 2019

  • Code::Core and each client register with the Personal Data Protection Office as required; roles of data controller (client) and processor (Code::Core) defined in a data processing agreement.
  • Consent notice shown and recorded at every check-in, stating purpose, retention and contact.
  • Data minimisation: identifiers stored hashed; full document image stored only where the organisation's policy requires it.
  • Retention configurable per organisation (default 90 days for visit records, 30 days for photos), with automatic purge and legal-hold override.
  • Subject access, correction and erasure requests handled through the admin console and logged.
  • Personal data hosted in Uganda by default; any cross-border transfer documented and agreed with the client.

12.2 Security controls

ControlImplementation
Tenant isolationSeparate PostgreSQL schema per organisation; shared-site directory exposes only host names and floors.
EncryptionTLS in transit; AES-256 at rest; per-tenant keys for sensitive fields.
Access controlRoles: guard, receptionist, host, organisation admin, building admin, auditor, Code::Core support. MFA for admin roles.
Device trustEach kiosk enrolled with a unique certificate; revocable remotely.
Kiosk hardeningLocked OS shell, USB storage disabled, BIOS password, tamper switch, remote wipe.
AuditAppend-only audit log; exports signed with a checksum.
TestingIndependent penetration test before first production go-live and annually.
BackupsDaily encrypted backups, 30-day retention, quarterly restore test.

13. Integrations

SystemPurposeMethod
Turnstiles / door controllersRelease on valid badge; revoke on exitRelay, Wiegand 26/34, OSDP
Existing access controlCreate and revoke visitor credentialsVendor API or Wiegand emulation
Fire alarm panelTrigger roll call automaticallyDry-contact input
PBX / desk phonesCall host; intercomSIP trunk to Asterisk / FreePBX
SMS aggregatorHost alerts and visitor invitesHTTP API
WhatsApp Business PlatformInteractive host approvalsCloud API via approved provider
Directory / HR systemKeep host list currentCSV, LDAP / Active Directory, or API
NIRA (phase 2)Verify NIN against the registerSubject to agreement with NIRA

14. Implementation plan

14.1 Product build

MonthsPhaseDeliverables
1–2DiscoveryThree pilot sites surveyed; entry procedures mapped; hardware tier confirmed; data protection impact assessment.
3–5MVP buildID scan and NIN check, host notification, badge printing, reception dashboard, workflow builder, offline edge agent.
6Pilot 1Single-organisation reception live; books retired.
7–9Access and commsTurnstile integration, SIP intercom, inductions and tests; multi-tenant building pilot.
10–12HardeningReports and exports, penetration test, compliance review, support runbooks; first paid contracts.

14.2 Per-site rollout (Reception package, ~8 weeks)

WeekActivity
1Site survey: entrances, network, power, turnstiles, visitor volumes and peak hour.
2–3Workflow design with the client; host list import; induction content and test questions agreed.
4–5Hardware procurement and staging; configuration; acceptance test at Code::Core.
6Installation, cabling and integration on site.
7Training for guards, receptionists and admins; parallel run alongside the book.
8Go-live; book retired; handover to support.

15. Team and governance

RoleResponsibility
Project lead / solution architectEngineer with prior experience building and operating this class of system in a data centre. Owns architecture, hardware selection and client relationships.
Backend engineer (Django)Platform, APIs, multi-tenancy, notifications, reports.
Edge / integration engineerKiosk agent, hardware drivers, access control, SIP.
Front-end engineerKiosk UI, dashboard, admin console.
Field technicianInstallation, cabling, maintenance, consumables.
Client project ownerNamed contact at each client: approves workflow, hosts list, sign-off.

A steering meeting with each client is held fortnightly during rollout and monthly during support. Changes to scope follow a written change request with impact on cost and timeline.

16. Commercials

16.1 Sizing method

Sites are sized for the morning peak, not the daily average. The peak hour is taken as about 25% of daily visitors. One kiosk clears about 30 check-ins an hour (around 2 minutes for a first visit, 30 seconds for returning or pre-invited visitors).

Kiosks required = ⌈ (daily visitors × 0.25) ÷ 30 ⌉

Example: 100 visitors a day → 25 at peak → 1 kiosk, plus a reception tablet as backup and for walk-ups.

16.2 Packages (one-off, UGX, including 18% VAT)

PackageVisitors / dayIncludesEx VATIncl. VAT
Liteup to 40Tablet kiosk, ID scan and NIN check, sticker badges, SMS / WhatsApp host alerts, daily reports27.1M32M
Receptionup to 100Industrial kiosk + reception tablet, PVC card printing, induction video and test, host approval with escalation, evacuation roll call, 12 months support97.5M115M
Gateup to 3003 kiosks across entrances, turnstile and door control, SIP intercom, multi-tenant directory, watchlist, audit exports169.5M200M
Own the systemunlimitedEvery feature, full build, on-premise deployment, source code licence and ownership, access-control and HR integrations, training, 24 months support271.2M320M

16.3 Reception package breakdown (UGX 115M)

ItemUGX
Hardware kit — industrial kiosk, reception tablet, card printer and encoder, ID reader, intercom, UPS, enclosure38.0M
Software licence, configuration and workflows32.0M
Year-1 support, hosting, SMS and WhatsApp messaging15.5M
Installation, integration and staff training12.0M
Subtotal (ex VAT)97.5M
VAT at 18% (URA)17.5M
Total115.0M

16.4 Terms

  • Payment: 50% on signing, 40% on installation, 10% on go-live acceptance.
  • Where the client is a designated withholding agent, 6% withholding tax is deducted at payment and credited to Code::Core with URA; the package price does not change.
  • Support renewal after the included period: 15% of the ex-VAT package price per year, plus VAT. Covers software updates, remote support, next-business-day on-site response in Kampala, and messaging up to the package's visitor volume.
  • Consumables (blank cards, ribbons, labels) supplied at cost after the first year.
  • Final quote follows a site survey. Tax treatment to be confirmed with a tax adviser before quoting.

17. Risks

RiskL / IMitigation
Internet or power outage at the gateH / HOffline-first edge agent; UPS; 4G failover; local SIP for host calls.
Visitors without a National ID or passportM / MReceptionist-assisted manual entry with photo and reason; flagged in reports.
Hardware lead times or availability in UgandaM / HTwo approved models per component; stock one spare kit in Kampala.
Hosts ignore notificationsM / MEscalation to desk phone then reception; per-host response reports.
Guards bypass the systemM / HTurnstile integration; daily book-vs-system reconciliation during parallel run; management reports.
Data protection breachL / HEncryption, tenant isolation, retention limits, penetration test, incident response plan.
Integration with legacy access controlM / MSurvey in week 1; Wiegand emulation fallback; vendor engagement early.
WhatsApp template approval delaysM / LSMS as default channel; templates submitted in discovery.
Price sensitivity of public-sector buyersM / MLite package; phased upgrade path; landlord-funded building model.
Key-person dependencyM / HDocumentation, code review, second engineer trained on every component.

L / I = likelihood / impact: H high, M medium, L low.

18. Assumptions and dependencies

  • Client provides a powered, networked location at each entrance and access for cabling.
  • Client provides an up-to-date host list and a named project owner.
  • Where turnstiles exist, they accept a relay, Wiegand or OSDP input.
  • Uganda National IDs in circulation carry a readable MRZ.
  • Messaging costs are based on current aggregator and WhatsApp rates; large rate changes may be passed through.
  • Prices assume current UGX/USD exchange rates for imported hardware; quotes are valid for 30 days.

19. Open decisions

DecisionOptions
Product nameKeep "Code::Core VMS" · choose a neutral product name
First pilot hardwareIndustrial gate kiosk · tablet reception kiosk
ID verification depthMRZ + NIN format check + photo · add NIRA verification (phase 2)
HostingUgandan data centre · regional cloud with local backup
Who pays in shared buildingsLandlord, tenants included · each tenant separately
Default host channelSMS + WhatsApp first · SIP desk-phone first
Kiosk front-end stackDjango templates + HTMX · separate PWA on DRF API
First target segmentRegulators and agencies · multi-tenant commercial buildings

Appendix A — Uganda NIN format

The National Identification Number issued by NIRA has 14 characters, letters and digits, with no spaces.

PositionExampleMeaning
1CC = citizen; A = lawfully resident alien
2FM = male; F = female
3–492Last two digits of year of birth
5–10018734Unique numeric block
11–14XK4PAlphanumeric block increasing the number range

The system uses these rules to check that a NIN is well formed and that its sex and birth year agree with the document. This is a consistency check, not proof of identity; NIRA has not published a check digit, and confirming that a NIN belongs to the holder requires a lookup with NIRA.

Appendix B — Proposed screens

RefScreenPurpose
K1AttractStart check-in, check-out or QR invite
K2IdentityConfirm details read from ID; NIN decoded
K3Host & reasonChoose host across tenants; reason
K4InductionMandatory safety video
K5Safety testOrganisation's questions
K6Host approvalWaiting / intercom
K7BadgeDirections and badge collection
R1Reception dashboardLive occupancy, exceptions, roll call
A1Workflow builderConfigure steps per visitor type
H1Host notificationApprove from WhatsApp or SMS

Visual mock-ups are in the Project Hub, Screens tab.

Appendix C — Glossary

DRFDjango REST Framework
Edge agentSoftware on the kiosk that drives hardware and works offline
MRZMachine-readable zone on an ID card or passport
NINNational Identification Number
NIRANational Identification and Registration Authority
OSDP / WiegandProtocols between card readers and access controllers
PDPOPersonal Data Protection Office
SIPSession Initiation Protocol, used for voice-over-IP calls
URAUganda Revenue Authority
VAT / WHTValue-added tax (18%) / withholding tax (6%)