System context
Status: Accepted · Version: 0.1
Titip is a set of experiences around one authority model. The control plane defines the model. Runtime systems implement it.
Owner (app) ─────────────┐
Trusted contact (web) ───┼──► backend modular monolith ──► data stores
Recipient (web) ─────────┘ │
├── notifications ──► email / SMS providers
Public site (web) ── reads ────────┤
└── audit trail
AI assists the owner only, and never calls life-check or release.
Diagrams: diagrams/.
Experiences
| Surface | Repository | Who | Job |
|---|---|---|---|
| Mobile app | app |
Owner | Onboarding, contacts, inventory, life check, timeline, simulation |
| Public site | web |
Public | How it works, security, what to store, what not to store, FAQ, pricing, privacy, legal |
| verify.titip.id | web |
Trusted contact | Accept, reject, verify channel, manage notifications, read responsibility |
| receive.titip.id | web |
Recipient | Verify, accept disclosure, see only authorised vaults |
app does not embed backend rules. If the clickable prototype has no API yet, it still follows the states and copy in the specs, and it labels simulation as simulation.
Backend modules
| Module | Authority spec |
|---|---|
auth, users |
TITIP-002 |
contacts |
TITIP-003 |
assets |
TITIP-004 |
vaults |
TITIP-005 |
policies, lifecheck |
TITIP-006 |
escalation |
TITIP-007 |
releases |
TITIP-008, TITIP-009 |
notifications |
contracts/events/catalog.md |
audit |
TITIP-010 |
admin |
Reviewer actions and global hold. No plaintext vault browser |
Notification path is fixed:
NotificationRequest → Policy → Template → Provider adapter
Application code must not call Twilio, an email API, or WhatsApp directly.
Prototype runtime shape
Enough to build toward, not a production platform:
- app
- backend
- Postgres
- object storage (encrypted documents, when documents exist)
- email provider
- KMS (development grade is acceptable)
- basic telemetry
Not in the prototype runtime: real recipient delivery, WhatsApp, identity-proofing vendor, death registry, multi-region.
External systems later
Identity verification, SMS, WhatsApp, document signing, legal-service partners, and cloud storage sit behind integrations when that repository exists. Until then, adapters live in backend’s notification and verification modules and still obey these contracts.