Overview
Under GDPR Article 33, SanMarcSoft must notify the supervisory authority (CNIL, since infrastructure is in France) within 72 hours of becoming aware of a personal data breach. If the breach poses a high risk to individuals, affected data subjects must also be notified (Article 34).
Incident Classification
Severity Levels
| Level | Description | Notification Required |
|---|---|---|
| Critical | Personal data exposed to unauthorized parties | CNIL + affected users |
| High | System compromise with potential data access | CNIL + assess user notification |
| Medium | Unauthorized access attempt, no data confirmed exposed | Internal log, assess CNIL notification |
| Low | Configuration error, no data exposure | Internal log only |
Immediate Response (Hour 0-4)
Step 1: Contain the Breach
- Identify the affected system(s)
- Isolate compromised services:
1 2 3 4 5 6 7# Disable a Scaleway container scw container container update <container-id> --min-scale 0 --max-scale 0 # Disable a Cloudflare Worker route curl -s -X DELETE \ "https://api.cloudflare.com/client/v4/zones/${ZONE_ID}/workers/routes/${ROUTE_ID}" \ -H "Authorization: Bearer $(pass cloudflare/api-token)" - Rotate compromised credentials immediately (see Secret Rotation SOP)
- Preserve evidence – do not delete logs
Step 2: Assess the Breach
Document:
- What data was exposed (types, volume)
- How the breach occurred
- When it started and when it was detected
- Number of affected data subjects
- Geographic scope
CNIL Notification (Within 72 Hours)
CNIL Contact Information
- Online notification: https://www.cnil.fr/fr/notifier-une-violation-de-donnees-personnelles
- Phone: +33 1 53 73 22 22
- Email: violations@cnil.fr
Notification Content (Article 33)
The notification must include:
- Nature of the breach: Description of what happened
- Categories and approximate number of data subjects affected
- Categories and approximate number of personal data records affected
- DPO contact: Name and contact details of the data protection officer (or point of contact)
- Likely consequences: Description of the likely consequences of the breach
- Measures taken: Description of measures taken or proposed to address the breach
Notification Template
PERSONAL DATA BREACH NOTIFICATION
Date of notification: [DATE]
Date breach detected: [DATE]
Date breach occurred: [DATE] (if known)
Organization: SanMarcSoft
Contact: [DPO Name and Email]
1. NATURE OF THE BREACH
[Description of what happened, which systems were affected]
2. DATA SUBJECTS AFFECTED
Approximate number: [NUMBER]
Categories: [Users of verifieddit.com / Phenom Drop submitters / etc.]
Geographic scope: [EU / Global]
3. DATA CATEGORIES AFFECTED
- Email addresses: [YES/NO]
- Names: [YES/NO]
- Media files: [YES/NO]
- Authentication tokens: [YES/NO]
- Financial data: [YES/NO]
4. LIKELY CONSEQUENCES
[Assessment of risk to data subjects]
5. MEASURES TAKEN
Immediate:
- [Credential rotation]
- [Service isolation]
- [Evidence preservation]
Planned:
- [Root cause analysis]
- [Security improvements]
- [User notification if required]
Data Subject Notification (If High Risk)
When Required
Notify data subjects when the breach is “likely to result in a high risk to the rights and freedoms of natural persons” (Article 34).
Notification Template (Email)
Subject: Important Security Notification from [Service Name]
Dear [User],
We are writing to inform you of a security incident that may have affected your personal data.
WHAT HAPPENED
[Clear description of the breach]
WHAT DATA WAS AFFECTED
[List of affected data types]
WHAT WE ARE DOING
[Actions taken to address the breach]
WHAT YOU CAN DO
- Change your password at [URL]
- Monitor your account for unauthorized activity
- [Any other recommended actions]
If you have questions, contact us at [email].
Sincerely,
SanMarcSoft
Post-Incident (Day 3-30)
Root Cause Analysis
- Conduct thorough investigation
- Document the root cause
- Identify security improvements
- Update this runbook with lessons learned
Security Improvements
- Patch the vulnerability
- Update access controls
- Review and rotate all potentially affected credentials
- Implement additional monitoring
- Update incident response procedures
Follow-up with CNIL
If additional information becomes available after the initial 72-hour notification, submit supplementary notifications to CNIL.
Breach Scenarios and Response
Scenario: Cloudflare API Token Compromised
- Immediately revoke the token in Cloudflare Dashboard
- Generate new token
- Update pass store
- Audit DNS and Worker changes for unauthorized modifications
- Assess if any user data was accessed via D1 or KV
Scenario: Scaleway Registry Credentials Compromised
- Rotate API key in Scaleway Console
- Update pass store and Pulumi config
- Check for unauthorized image pushes
- Redeploy all containers with verified images
Scenario: Clerk Secret Key Compromised
- Rotate keys in Clerk Dashboard
- Update all consumers (Worker, Stripe backend, Pulumi)
- Audit Clerk admin actions for unauthorized user creation/deletion
- Notify affected users if unauthorized access occurred
Scenario: Database (D1) Exposed
- Assess what data was accessed
- If personal data: trigger CNIL notification
- Rotate Cloudflare API token (D1 is accessed via API)
- Notify affected users
- Consider database migration (create new database, import clean data)
Troubleshooting
- Cannot reach CNIL: Use the online form at https://www.cnil.fr/fr/notifier-une-violation-de-donnees-personnelles as the primary method.
- Unsure if CNIL notification is required: When in doubt, notify. Under-notification carries higher penalties than over-notification.
- Multiple breaches: Each breach requires a separate notification unless they are clearly related.