Risk Assessment

Document ID: ISMS-POL-004
Version: 1.0
Assessment Date: December 29, 2025
Next Review: June 29, 2026
Classification: Internal

1. Purpose#

This Risk Assessment identifies, analyzes, and evaluates information security risks to anonym.legal. It provides the basis for risk treatment decisions and security control implementation.

2. Scope#

This assessment covers:

  • Information assets (customer data, system configurations, code)
  • Technical infrastructure (servers, databases, networks)
  • Application security (frontend, backend services)
  • Operational processes (deployment, monitoring, support)

3. Risk Assessment Methodology#

3.1 Risk Calculation#

Risk = Likelihood × Impact

3.2 Likelihood Scale#

RatingDescriptionProbability
1Rare< 1% per year
2Unlikely1-10% per year
3Possible10-50% per year
4Likely50-90% per year
5Almost Certain> 90% per year

3.3 Impact Scale#

RatingDescriptionBusiness Impact
1NegligibleMinimal disruption, no data loss
2MinorLimited disruption, minor data exposure
3ModerateSignificant disruption, moderate data exposure
4MajorSevere disruption, significant data breach
5CriticalBusiness threatening, massive data breach

3.4 Risk Matrix#

Impact 1Impact 2Impact 3Impact 4Impact 5
Likelihood 5MediumMediumHighCriticalCritical
Likelihood 4LowMediumMediumHighCritical
Likelihood 3LowLowMediumMediumHigh
Likelihood 2LowLowLowMediumMedium
Likelihood 1LowLowLowLowMedium

4. Asset Inventory#

4.1 Information Assets#

AssetClassificationOwnerLocation
Customer PIIConfidentialPlatformDatabase (relational database)
User CredentialsConfidentialPlatformDatabase (hashed)
Encryption KeysConfidentialCustomerDatabase (encrypted)
API TokensConfidentialCustomerDatabase (hashed)
Application CodeInternalDevelopmentServer/Repository
System ConfigurationsInternalOperationsServer
LogsInternalOperationsServer

4.2 Technical Assets#

AssetTypeLocationCriticality
Web ServerInfrastructureHetzner CloudHigh
Database ServerInfrastructureHetzner CloudCritical
Presidio ServicesApplicationHetzner CloudHigh
Frontend ApplicationApplicationHetzner CloudHigh

5. Threat Identification#

5.1 External Threats#

ThreatDescription
Cyber AttacksTargeted attacks, hacktivism
DDoSDistributed denial of service
MalwareRansomware, trojans
Social EngineeringPhishing, pretexting
Data TheftIntellectual property theft

5.2 Internal Threats#

ThreatDescription
Insider ThreatMalicious or negligent insiders
Human ErrorMisconfiguration, accidental disclosure
Process FailureInadequate procedures

5.3 Environmental Threats#

ThreatDescription
Hardware FailureServer/storage failure
Network FailureConnectivity issues
Power FailureData center power issues
Natural DisasterFire, flood, earthquake

6. Risk Register#

6.1 Critical Risks#

IDRiskLikelihoodImpactRisk LevelTreatment
R001Customer data breach via SQL injection25MediumMitigate: Secure ORM, parameterized queries
R002Credential theft via brute force34MediumMitigate: Account lockout, 2FA
R003Service outage due to DDoS33MediumMitigate: Rate limiting, Hetzner DDoS protection

6.2 High Risks#

IDRiskLikelihoodImpactRisk LevelTreatment
R004Unauthorized admin access24MediumMitigate: SSH keys, 2FA, audit logging
R005Data exposure via API vulnerability24MediumMitigate: JWT auth, feature gating, rate limiting
R006Encryption key compromise15MediumMitigate: AES-256-GCM, key per user, secure storage

6.3 Medium Risks#

IDRiskLikelihoodImpactRisk LevelTreatment
R007Session hijacking23LowMitigate: Secure cookies, JWT, HTTPS
R008XSS vulnerability23LowMitigate: CSP, frontend framework auto-escaping
R009Dependency vulnerability42MediumMitigate: npm audit, regular updates
R010Data loss due to backup failure24MediumMitigate: Hetzner snapshots, tested recovery

6.4 Low Risks#

IDRiskLikelihoodImpactRisk LevelTreatment
R011Minor service degradation31LowAccept: Monitoring, auto-restart
R012Non-critical feature unavailable31LowAccept: Graceful degradation

7. Risk Treatment#

7.1 Treatment Options#

OptionDescriptionWhen to Use
MitigateImplement controls to reduce riskRisk exceeds tolerance
TransferInsurance, outsourcingCannot fully mitigate
AcceptAcknowledge and monitorRisk within tolerance
AvoidEliminate risk sourceRisk too high, cannot mitigate

7.2 Implemented Controls#

Risk IDControlStatusEffectiveness
R001Secure ORM (parameterized queries)✅ ImplementedHigh
R002Account lockout (5 attempts/30 min)✅ ImplementedHigh
R002Password complexity (12+ chars)✅ ImplementedHigh
R0022FA support (TOTP/Email)✅ ImplementedHigh
R003Rate limiting✅ ImplementedMedium
R004SSH key authentication✅ ImplementedHigh
R004Brute force protection✅ ImplementedHigh
R005JWT authentication✅ ImplementedHigh
R005Feature gating✅ ImplementedHigh
R006AES-256-GCM encryption✅ ImplementedHigh
R007Secure cookies (HttpOnly, Secure)✅ ImplementedHigh
R007HTTPS only (TLS 1.2+)✅ ImplementedHigh
R008Content Security Policy✅ ImplementedHigh
R009npm audit in CI✅ ImplementedMedium
R010Hetzner cloud snapshots✅ ImplementedHigh

8. Residual Risk#

After implementing controls, the following residual risks remain:

Risk IDOriginal LevelResidual LevelNotes
R001MediumLowSecure ORM prevents SQL injection
R002MediumLowMultiple controls in place
R003MediumLowRate limiting + provider protection
R004MediumLowSSH keys + brute force protection
R005MediumLowJWT + feature gating
R006MediumLowStrong encryption, key isolation
R009MediumLowRegular updates, dev deps only

9. Risk Monitoring#

9.1 Key Risk Indicators (KRIs)#

KRIThresholdMonitoring Frequency
Failed login attempts> 100/dayDaily
API error rate> 5%Real-time
Vulnerability count (high/critical)> 0 in prod depsWeekly
Service availability< 99.9%Real-time
Security incidentsAny P1/P2Immediate

9.2 Review Schedule#

ActivityFrequency
Risk register reviewQuarterly
Full risk assessmentAnnually
Control effectiveness reviewBi-annually
Threat landscape reviewQuarterly

10. Document Control#

VersionDateAuthorChanges
1.02025-12-29Security TeamInitial release