Security Model
BlueSentinel's security architecture — data isolation, encryption, authentication, and audit.
Data Sovereignty
BlueSentinel is fully self-hosted. No data ever leaves your infrastructure:
- All alerts, policies, device data stored in YOUR PostgreSQL database
- Recovery keys escrowed on YOUR server
- No cloud dependencies or telemetry
Multi-Tenant Isolation
- Every database query is scoped by
tenant_id - Tenant data is completely isolated — no cross-tenant access
- Super admins can access multiple tenants but must explicitly select one
Authentication Layers
| Layer | Method | Purpose |
|---|---|---|
| Admin Dashboard | JWT HS256 (12h expiry) | Web UI access |
| Admin Dashboard | Flask-Login sessions | Browser sessions |
| Agent API | API Key (SHA-256 hash) | Agent-to-server auth |
| Enrollment | One-time token | New device registration |
Encryption
- Passwords: bcrypt hashing (admin users)
- API Keys: SHA-256 hashing (agent authentication)
- Recovery Keys: AES-256 encryption before storage
- Transport: HTTPS/TLS for all communications
- Disk: BitLocker/FileVault enforcement on endpoints
Audit Trail
Two audit mechanisms:
- Admin Audit Log — All admin actions (create, update, delete) with user, target, and details
- Recovery Key Access Log — Every time a recovery key is viewed
Agent Security
- Agent requires root/Administrator privileges
- Anti-tamper prevents user interference
- OS-level enforcement (USB, firewall, proxy) applied directly via system APIs
- Configuration files encrypted and integrity-checked