Sentinel is built on a zero-trust, service-isolated architecture. Every device communicates independently through its own authenticated channel. No device can observe or influence commands issued to another device on the same account.
Commands are stored server-side and delivered on the device's next poll cycle — typically within 15 seconds on an active connection. This pull-model means the server never holds an open connection to devices, reducing the attack surface.
| Control | Implementation | Status |
|---|---|---|
| Authentication | Flask-Login session auth for dashboard; JWT HS256 tokens for device agents. Token version field enables instant per-device revocation. | Active |
| CSRF Protection | Server-generated CSRF token injected into every page and verified on all state-changing requests (POST/PUT/PATCH/DELETE) via X-CSRF-Token header. | Active |
| Session Security | Server-side session storage with HttpOnly, Secure, SameSite=Lax cookie flags. SESSION_PROTECTION="strong" enabled via Flask-Login. | Active |
| Security Headers | X-Content-Type-Options: nosniff; X-Frame-Options: DENY; Referrer-Policy: strict-origin-when-cross-origin; Permissions-Policy restricts camera/microphone/geolocation to same-origin. | Active |
| Password Hashing | bcrypt via Werkzeug security. Plaintext passwords are never stored or logged. | Active |
| Input Validation | Device type and action whitelists enforced server-side. All API inputs validated before database writes. No eval(), exec(), or shell interpolation of user input. | Active |
| SQL Injection | SQLAlchemy ORM with parameterised queries throughout. No raw SQL concatenation. | Active |
| Rate Limiting | Vercel edge rate limiting on login and token endpoints. | Monitoring |
| Audit Logging | All device commands, authentication events, and admin actions are logged with timestamps and IP addresses. | Active |
| Evidence Chain | Evidence hashes stored per-telemetry entry for chain-of-custody integrity on stolen-device cases. | Active |
| CORS Policy | CORS restricted to explicit allowed origins in production. No wildcard access to authenticated endpoints. | Active |
| 2FA / MFA | Admin accounts support TOTP-based 2FA. Planned for all accounts in Q3 2026. | Roadmap Q3 2026 |
All major API endpoints and authentication flows are subject to regular penetration testing. Testing covers:
Our incident response process follows a 4-stage model:
We welcome security researchers who identify vulnerabilities in Sentinel Security System. To report a vulnerability:
We commit to: acknowledging your report within 48 hours, keeping you informed of our investigation progress, and crediting you in our security acknowledgements (if desired) once the vulnerability is remediated.
We do not pursue legal action against researchers who act in good faith and comply with this policy.
Enterprise customers requiring formal compliance documentation (DPA templates, security questionnaire responses, audit reports) should contact security@sentinelsecurity.io.