Open-source Somali Digital ID Readiness Toolkit for validating and simulating national ID data with privacy-preserving signed tokens. Built to accelerate digital ID adoption in Somalia.
# Somali Digital ID Readiness Toolkit
## Table of Contents
- Features
- Quick Start
- Usage
- API Endpoints
- Design Principles
- Contribution
- Roadmap
- About the Author
- License
A **free and open-source toolkit** for simulating and validating Somali National ID data with privacy-preserving signed verification tokens. Designed to accelerate Somali digital identity adoption by providing developers, NGOs, and government teams a reliable, standards-aligned, offline-first platform for identity verification readiness — no paid APIs or infrastructure needed.
---
## Features
- JSON Schema validation of Somali National ID fields based on official NIRA data
- Persistent SQLite-backed session management storing ID submissions and signed results
- Cryptographic signing of verification results using Ed25519 for trust and tamper-proof tokens
- Multilingual support: English and Somali localized messages
- Deterministic mock verification rules including expiry and encoded ID checksum validation
- Sample Somali realistic test datasets accessible via API
- Lightweight web UI for interactive testing and session management
- Easy to extend with additional flows (biometrics, attestations) and integrations
---
## Quick Start
### Prerequisites
- Python 3.9 or higher
- Git (optional, for cloning)
### Installation
git clone
github.com
cd somali-digital-id-toolkit
python -m venv venv
source venv/bin/activate # On Windows use venv\Scripts\activate
pip install -r requirements.txt
### Run Locally
The app will start on
localhost
Access the interactive API docs at
localhost
---
## Usage
1. Open the web UI at
localhost
2. Click **Start New Session** to generate a session ID
3. Paste Somali National ID JSON data (format example in `/samples` API)
4. Choose language (English or Somali) and submit to validate
5. View validation results and signed tokens
---
## API Endpoints
| Endpo …