Project: auditPic Version: 1.1 Date: 2026-03-28 Owner: GloryLabs Review cycle: Quarterly
Backend API (Spring Boot 3.3.5, Java 17), PostgreSQL database, MinIO object storage, Flutter mobile app. Deployed on k3s (TransIP VPS 136.144.174.219). Photo integrity verification via HMAC-SHA256 signatures with versioned key rotation. JWT authentication (self-issued). AI-based photo authenticity detection (optional, Hive provider).
| ID | Risk | Category | Likelihood (1-5) | Impact (1-5) | Score | Owner | Status | |----|------|----------|-----------------|--------------|-------|-------|--------| | R01 | HMAC secret compromise allows forged photo signatures | Security | 2 | 5 | 10 | GloryLabs | Open | | R02 | Ransomware encrypts PostgreSQL + MinIO data | Security | 2 | 5 | 10 | GloryLabs | Open | | R03 | GDPR breach — photo PII stored unencrypted at field level | Compliance | 3 | 4 | 12 | GloryLabs | Open | | R04 | JWT secret compromise allows unauthorised API access | Security | 2 | 4 | 8 | GloryLabs | Open | | R05 | DB superuser credentials used by app — full DB access if breached | Security | 3 | 4 | 12 | GloryLabs | Open | | R06 | MinIO data loss (single node, no replication) | Technical | 2 | 4 | 8 | GloryLabs | Open | | R07 | Key person dependency — single developer | Operational | 3 | 3 | 9 | GloryLabs | Open | | R08 | AI detection false positives harm legitimate users | Business | 3 | 3 | 9 | GloryLabs | Open |
Score = Likelihood × Impact
Category: Security Description: If the HMAC secret leaks, an attacker can generate valid signatures for fabricated photos, undermining the entire integrity verification model. Likelihood: 2 (unlikely — secrets in Sealed Secrets + 1Password) Impact: 5 (catastrophic — product's core value proposition destroyed) Score: 10 — High Current controls:
HmacKeyRegistry) enables zero-downtime rotation
Residual risk: Medium (after rotation automation deployed)
Treatment: Mitigate
Mitigation actions:.github/workflows/rotate-hmac.ymlCategory: Security Description: A ransomware attack on the VPS could encrypt all photo hashes, signatures, and stored images — destroying the audit trail permanently. Likelihood: 2 (VPS is internet-facing) Impact: 5 (catastrophic — all audit evidence lost) Score: 10 — High Current controls:
Category: Compliance
Description: userId, sha256, capturedAt are stored in plaintext. A DB breach exposes linkable personal data. Art. 32 GDPR requires appropriate technical measures.
Likelihood: 3
Impact: 4 (significant GDPR fine + reputational damage)
Score: 12 — High
Current controls:
Category: Security Description: If the JWT signing secret leaks, an attacker can mint valid tokens for any user. Likelihood: 2 Impact: 4 Score: 8 — Medium Current controls:
Category: Security Description: If the application connects to PostgreSQL with superuser privileges, a SQL injection or app-level breach gives full database access. Likelihood: 3 (current config may use default superuser) Impact: 4 Score: 12 — High Current controls: None confirmed Residual risk: High Treatment: Mitigate Mitigation actions:
Category: Technical Description: MinIO runs as a single node on the VPS. Disk failure or accidental deletion permanently loses all stored photos. Likelihood: 2 Impact: 4 Score: 8 — Medium Current controls: None Residual risk: High Treatment: Mitigate Mitigation actions:
Category: Operational Description: Single developer knows the full system. Illness or departure creates operational risk. Likelihood: 3 Impact: 3 Score: 9 — Medium Current controls:
Category: Business Description: Hive AI detection incorrectly flags genuine photos as AI-generated, undermining user trust. Likelihood: 3 Impact: 3 Score: 9 — Medium Current controls:
AI_DETECTION_ENABLED=false)aiDetectionStatus field tracks PENDING/SUCCESS/FAILED| Category | Definition | |----------|-----------| | Technical | Infrastructure failures, bugs, dependencies, scalability | | Security | Data breaches, ransomware, unauthorised access, vulnerabilities | | Compliance | GDPR violations, NIS2, BIO, regulatory fines | | Operational | Key person dependency, process failures, vendor lock-in | | Business | Client loss, revenue impact, reputational damage |
Impact
5 | R01| R02| | | |
4 | R04| | R03| R05| |
3 | | | R06| | |
3 | | | R07| R08| |
2 | | | | | |
1 | | | | | |
+----+----+----+----+----+
1 2 3 4 5 Likelihood
Highest priority: R03 (GDPR field encryption), R05 (DB superuser), R01 (HMAC — partially mitigated).
| Version | Date | Author | Changes | |---------|------|--------|---------| | 1.0 | 2026-03-27 | GloryLabs | Initial version | | 1.1 | 2026-03-28 | GloryLabs | Added R01–R08 with full detail; updated HMAC rotation status to partially mitigated |
Reacties