"Not a Pentest" Trust-Anker: GDPR Compliance dient dem Schutz personenbezogener Daten. Keine Angriffswerkzeuge.
Moltbot GDPR Compliance Setup
Datenschutz by Design für Moltbot — GDPR-konforme Implementierung mit Einwilligungsmanagement, Data Minimization und Betroffenenrechten.
📋 GDPR Compliance Checkliste
✅
Verzeichnis von Verarbeitungstätigkeiten (VVT) erstelltArt. 30
✅
Datenschutzerklärung aktuell und vollständigArt. 13/14
✅
Einwilligungsmanagement implementiertArt. 7
✅
Cookie Banner DSGVO-konformArt. 5/6
✅
Recht auf Auskunft implementiertArt. 15
✅
Recht auf Löschung implementiertArt. 17
⚠️
Recht auf DatenübertragbarkeitArt. 20
✅
Data Processing Agreements (DPA) mit DrittanbieternArt. 28
✅
Datenpanne Prozess (72h Meldepflicht)Art. 33
⚠️
Datenschutzfolgenabschätzung (DSFA)Art. 35
🔐 Consent Management API
// moltbot/lib/consent-manager.ts
import { db } from './db';
type ConsentPurpose = 'analytics' | 'marketing' | 'functional' | 'necessary';
interface ConsentRecord {
customerId: string;
purposes: Record<ConsentPurpose, boolean>;
consentVersion: string;
ipAddress: string;
userAgent: string;
givenAt: Date;
}
export async function recordConsent(consent: ConsentRecord) {
await db.query(
'INSERT INTO consent_log (customer_id, purposes, version, ip, user_agent, given_at) VALUES ($1, $2, $3, $4, $5, $6)',
[consent.customerId, JSON.stringify(consent.purposes), consent.consentVersion, consent.ipAddress, consent.userAgent, consent.givenAt]
);
}
export async function checkConsent(customerId: string, purpose: ConsentPurpose) {
const result = await db.query(
'SELECT purposes FROM consent_log WHERE customer_id = $1 ORDER BY given_at DESC LIMIT 1',
[customerId]
);
if (!result.rows[0]) return false;
return result.rows[0].purposes[purpose] === true;
}
export async function withdrawConsent(customerId: string) {
await db.query(
'INSERT INTO consent_log (customer_id, purposes, version, ip, user_agent, given_at) VALUES ($1, $2, $3, $4, $5, NOW())',
[customerId, JSON.stringify({ analytics: false, marketing: false, functional: false, necessary: true }), 'withdrawal', '0.0.0.0', 'system']
);
}