TrustOS — Compliance intelligence layer for Zimbabwean and Southern African businesses
# TrustOS
TrustOS is a Zimbabwe-first compliance platform built as a small monorepo:
- `apps/web-shell`: Next.js operational console
- `apps/api-kyb`: FastAPI service for live company verification and audit history
- `apps/api-kyc`: FastAPI service for OCR-based document parsing and audit history
- `docker-compose.yml`: production-oriented Traefik, Postgres, Keycloak, and app topology
The current sprint is focused on three outcomes:
1. Fast, reliable KYB responses with cache-backed history and tenant-aware audit logging.
2. Production deployment through Traefik on Vultr without exposing backend containers directly.
3. Kicking off Phase 1c Platform Hardening — bank-grade RBAC, SSO/SCIM, four-eyes approvals, jurisdiction scoping — as the hard prerequisite for the Phase 5 Cross-Border Trust Fabric (SA↔ZW corridor as wedge; SADC-wide as expansion).
See docs/sprints/ for the full sprint log and docs/roadmap.md for the phased plan.
## Current Architecture
- `app.trustos.com` routes to the Next.js shell.
- `auth.trustos.com` routes to Keycloak.
- `
api.trustos.com` routes to the KYB service.
- `
api.trustos.com` routes to the KYC service.
- Backends communicate privately on Docker networks and are not published on host ports.
## Quick Start
### Local frontend development
```bash
cd apps/web-shell
npm install
npm run dev
```
### Local backend development
Run each API independently in its own terminal:
```bash
cd apps/api-kyb
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8002
```
```bash
cd apps/api-kyc
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8001
```
### Containerized stack
```bash
cp .env.example .env
docker compose up --build
```
For a production-like local test, point these hostnames at the Docker host:
- `app.trustos.test`
- `api.trustos.test`
- `auth.trustos.test`
Then override the compose host ru …