Bank-Grade Security for
Your School's Data
Every student record, every financial transaction, every result is protected by enterprise-grade security built into the foundation of Idora. Not bolted on. Built in.
Security Overview
Idora is built on a security-first architecture. We don't treat security as a feature to add later — it's embedded in every layer of the platform, from the database schema to the API layer to the user interface.
Our security model is designed around three core principles:
Data Isolation (Row-Level Security)
Idora uses PostgreSQL Row-Level Security (RLS) to ensure that each school's data is completely isolated from every other school on the platform.
This means that even if someone gains access to our database, they cannot read your school's data without the proper authentication and authorization. RLS policies are enforced at the database engine level — they cannot be bypassed by application code.
- 1. Every table in Idora has RLS enabled
- 2. Every query is automatically filtered by
tenant_idandschool_id - 3. Users can only access data for schools where they have an active role
- 4. Role-based policies restrict operations (e.g., only accountants can manage payments)
- 5. Platform admins require explicit elevation to access any school's data
Encryption
Double-Entry Accounting
Idora implements true double-entry accounting at the database level. Every financial transaction creates balanced debit and credit entries in the ledger.
This isn't just a UI feature — it's enforced by database triggers and constraints:
- Transaction balance enforcement: The database will reject any transaction where debits don't equal credits. It's mathematically impossible for your books to be unbalanced.
- Automatic ledger updates: When a payment is recorded, database triggers automatically create the corresponding ledger entries and update the invoice balance.
- Void and reversal: Transactions can't be deleted. They can only be voided, which creates a reversal transaction that maintains ledger balance.
Immutable Audit Trails
Every action in Idora is logged in an immutable audit trail. This includes:
- Fee payments and invoice generation
- Fee waiver approvals and rejections
- Result entries, modifications, and publications
- Student enrollment changes
- Staff role assignments
- Account and permission changes
Each audit log entry includes:
Access Control
Idora uses role-based access control (RBAC) to ensure users can only access features and data appropriate to their role:
Multi-factor authentication (MFA) is available for all admin-level accounts. Session timeouts automatically log out inactive users.
Infrastructure
Idora runs on enterprise-grade infrastructure:
Vulnerability Reporting
We take security vulnerabilities seriously. If you discover a security issue in Idora, please report it responsibly:
- Email: security@idora.ng
- Include a detailed description of the vulnerability
- Include steps to reproduce (if possible)
- Do not publicly disclose the vulnerability until we've had time to address it
Compliance
Idora is designed to comply with:
Contact
If you have questions about Idora's security practices:
See also our Privacy Policy and Terms of Service.