Design Principles
The ISE Parliament backend is built on the following principles:
Procedural Correctness
All workflows follow the National Assembly Standing Orders. Business logic enforces notice periods, quorum, thresholds, and sequencing as prescribed.
Auditability
Every state-changing action (POST, PUT, PATCH, DELETE) is recorded in an immutable audit log with:
- Who (User ID)
- What (Action & Entity)
- When (Timestamp)
- Source (IP Address, User-Agent)
- Data (Snapshot of changes)
Non-Repudiation
Actions are tied to authenticated users. Digital signatures and audit trails ensure decisions cannot be denied after the fact.
Fairness
Voting rules (e.g. two-thirds threshold for Speaker election) are implemented exactly as specified. No vote manipulation is possible.
Transparency
Public read-only endpoints expose proceedings and records where Standing Orders require it (e.g. S.O. 252 — Public Access).