@aegis-scan/skills 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ATTRIBUTION.md +60 -4
- package/CHANGELOG.md +78 -0
- package/README.md +27 -0
- package/dist/bin.js +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +9 -2
- package/dist/commands/list.js.map +1 -1
- package/dist/skills-loader.d.ts +43 -0
- package/dist/skills-loader.d.ts.map +1 -1
- package/dist/skills-loader.js +102 -0
- package/dist/skills-loader.js.map +1 -1
- package/package.json +1 -1
- package/sbom.cdx.json +1 -1
- package/skills/compliance/_INDEX.md +49 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/SKILL.md +100 -3
- package/skills/defensive/aegis-native/rls-defense/SKILL.md +25 -0
- package/skills/defensive/aegis-native/tenant-isolation-defense/SKILL.md +26 -0
- package/skills/foundation/_INDEX.md +73 -0
- package/skills/foundation/aegis-native/aegis-audit/SKILL.md +194 -0
- package/skills/foundation/aegis-native/aegis-audit/references/layer-1-headers.md +138 -0
- package/skills/foundation/aegis-native/aegis-audit/references/layer-2-html.md +153 -0
- package/skills/foundation/aegis-native/aegis-audit/references/layer-3-impressum.md +159 -0
- package/skills/foundation/aegis-native/aegis-audit/references/layer-4-dse.md +178 -0
- package/skills/foundation/aegis-native/aegis-audit/references/layer-5-cookie.md +180 -0
- package/skills/foundation/aegis-native/aegis-audit/references/layer-6-branche.md +204 -0
- package/skills/foundation/aegis-native/aegis-audit/references/layer-7-code-cross-check.md +212 -0
- package/skills/foundation/aegis-native/aegis-audit/references/layer-8-schadens-diagnose.md +232 -0
- package/skills/foundation/aegis-native/aegis-customer-build/SKILL.md +232 -0
- package/skills/foundation/aegis-native/aegis-customer-build/references/phase-1-recon.md +147 -0
- package/skills/foundation/aegis-native/aegis-customer-build/references/phase-2-architecture.md +164 -0
- package/skills/foundation/aegis-native/aegis-customer-build/references/phase-3-component-build.md +231 -0
- package/skills/foundation/aegis-native/aegis-customer-build/references/phase-4-content.md +196 -0
- package/skills/foundation/aegis-native/aegis-customer-build/references/phase-5-integration.md +273 -0
- package/skills/foundation/aegis-native/aegis-customer-build/references/phase-6-mid-audit.md +200 -0
- package/skills/foundation/aegis-native/aegis-customer-build/references/phase-7-final-verify.md +258 -0
- package/skills/foundation/aegis-native/aegis-handover-writer/SKILL.md +128 -0
- package/skills/foundation/aegis-native/aegis-module-builder/SKILL.md +251 -0
- package/skills/foundation/aegis-native/aegis-orchestrator/SKILL.md +146 -0
- package/skills/foundation/aegis-native/aegis-quality-gates/SKILL.md +122 -0
- package/skills/foundation/aegis-native/aegis-skill-creator/SKILL.md +223 -0
- package/skills/foundation/aegis-native/aegis-skill-creator/references/hard-constraint-template.md +213 -0
- package/skills/foundation/aegis-native/aegis-skill-creator/references/skillforge-methodology.md +220 -0
- package/skills/foundation/aegis-native/dsgvo-compliance/SKILL.md +185 -0
- package/skills/foundation/aegis-native/dsgvo-compliance/references/art-13-15-templates.md +309 -0
- package/skills/foundation/aegis-native/dsgvo-compliance/references/datenpanne-runbook.md +291 -0
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
<!-- aegis-local: AEGIS-native skill, MIT-licensed; DSGVO baseline-checks for AEGIS-bootstrapped projects. Consent-management, retention-policy, Art. 13/15 info-pflicht templates, Datenpanne 72h-Meldepflicht runbook (Art. 33), Schrems-II Drittlandtransfer-Compliance. Pattern ported from a private operational reference; this is the public OSS variant. -->
|
|
2
|
+
---
|
|
3
|
+
name: dsgvo-compliance
|
|
4
|
+
description: DSGVO baseline-templates for AEGIS-bootstrapped projects. Consent-management, retention-policy, Art. 13/15 info-pflicht templates, Datenpanne 72h-Runbook (Art. 33), Schrems-II Drittlandtransfer-TIA. Sister-skill to brutaler-anwalt (audit findings vs fix-templates). RDG-Linie respected. Trigger keywords - consent, retention, art-13, art-15, datenpanne, drittland, schrems, dsgvo-baseline, dsb.
|
|
5
|
+
model: opus
|
|
6
|
+
license: MIT
|
|
7
|
+
metadata:
|
|
8
|
+
required_tools: "shell-ops,file-ops"
|
|
9
|
+
required_audit_passes: "1"
|
|
10
|
+
enforced_quality_gates: "0"
|
|
11
|
+
pre_done_audit: "true"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# dsgvo-compliance — DSGVO Baseline + Runbooks
|
|
15
|
+
|
|
16
|
+
The Foundation's DSGVO baseline skill. Provides templates, runbooks, and check-procedures for the most-bug-prone DSGVO surfaces: Consent-Management (Art. 7), Retention-Policy (Art. 5 Abs. 1 lit. e), Art. 13/14 Info-Pflichten, Art. 15 Auskunftsanfragen, Art. 33 Datenpanne 72h-Meldepflicht, Drittlandtransfer (Art. 46) post-Schrems-II.
|
|
17
|
+
|
|
18
|
+
Sister-skill to `compliance/aegis-native/brutaler-anwalt`: brutaler-anwalt audits FINDINGS, dsgvo-compliance provides the fix-templates + ongoing-process.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## HARD-CONSTRAINT — Reference-Loading + No-Legal-Advice-Disclaimer
|
|
23
|
+
|
|
24
|
+
This skill MUST:
|
|
25
|
+
|
|
26
|
+
1. **Load `references/art-13-15-templates.md`** before producing any Art. 13/14 info-text or Art. 15 Auskunftsantwort. Templates are calibrated to current BGH/EuGH-Linie; ad-hoc generation drifts.
|
|
27
|
+
2. **Load `references/datenpanne-runbook.md`** before producing any Art. 33 incident-response output. Timeline + Behörden-Kontakte + Eskalations-Matrix are non-improvisable.
|
|
28
|
+
3. **Always include the no-legal-advice disclaimer** in any output: "This output is informational; not legal advice. For binding decisions, consult a Fachanwalt für IT-Recht / Datenschutz."
|
|
29
|
+
4. **Cross-check with brutaler-anwalt findings** when this skill runs as a follow-up to an audit. brutaler-anwalt identifies findings; dsgvo-compliance produces the fix-templates.
|
|
30
|
+
5. **No improvisation on Art. 33 Datenpanne timing.** 72h is the hard deadline. If incident-detection > 72h ago, the runbook switches to retroactive-disclosure mode (still required, with explanation of delay).
|
|
31
|
+
6. **Datenschutzbeauftragter (DSB) auto-detect**: skill detects whether project requires a DSB per Art. 37 thresholds (≥ 20 Mitarbeiter dauerhaft mit personenbezogenen Daten, oder Kerntätigkeit Profiling/special-categories). If yes — flag in output.
|
|
32
|
+
|
|
33
|
+
If any of (1)-(6) cannot be satisfied → STOP, report the gap. RDG (Rechtsdienstleistungsgesetz)-line: this skill provides templates + runbooks, NOT individual legal advice.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Mission
|
|
38
|
+
|
|
39
|
+
Eliminate the failure-mode where a project ships with placeholder DSGVO-text ("Lorem ipsum datenschutz") or hand-written Art. 13 info-blocks that miss 4 of 12 required fields. Provide:
|
|
40
|
+
|
|
41
|
+
- **Templates** for Art. 13/14 info-pflichten + Art. 15 Auskunftsantworten (calibrated to BGH/EuGH-Linie)
|
|
42
|
+
- **Runbooks** for Art. 33 Datenpanne (72h-Meldepflicht, with timeline + Behörden-Kontakte per Bundesland)
|
|
43
|
+
- **Check-procedures** for consent-management, retention-policy, Schrems-II Drittlandtransfer
|
|
44
|
+
- **DSB-eligibility-check** per Art. 37 thresholds
|
|
45
|
+
|
|
46
|
+
Output is ALWAYS scoped to AEGIS-foundation projects + carries the no-legal-advice disclaimer.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Triggers
|
|
51
|
+
|
|
52
|
+
### Slash-commands
|
|
53
|
+
|
|
54
|
+
- `/dsgvo` — full DSGVO baseline run (covers consent + retention)
|
|
55
|
+
- `/art-13` — Art. 13/14 info-pflicht templates
|
|
56
|
+
- `/art-15` — Art. 15 Auskunftsanfrage-Antwort
|
|
57
|
+
- `/datenpanne` — Art. 33 + 34 incident-response runbook
|
|
58
|
+
- `/schrems` — Drittlandtransfer-Compliance check (Art. 46 + TIA)
|
|
59
|
+
|
|
60
|
+
### Auto-trigger keywords
|
|
61
|
+
|
|
62
|
+
- consent, retention, art-13, art-15, art-33, datenpanne, drittland, dsgvo-baseline, schrems, datenschutz-beauftragter, dsb, art-37, avv, art-28
|
|
63
|
+
|
|
64
|
+
### Required-input
|
|
65
|
+
|
|
66
|
+
| Slash-command | Required input |
|
|
67
|
+
|---|---|
|
|
68
|
+
| /art-13 | project's data-processing-purposes + 3rd-party-list + storage-locations |
|
|
69
|
+
| /art-15 | the Auskunftsanfrage (text or PDF) + project's data-store inventory |
|
|
70
|
+
| /datenpanne | incident-summary (when, what, who-affected, scope) |
|
|
71
|
+
| /schrems | list of US/Drittland-3rd-parties used + their AVV-status |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Process
|
|
76
|
+
|
|
77
|
+
| Phase | Time | Output |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| 1. Consent-mapping | ~15-30 min | consent-required cookies + processing-purposes + opt-in mechanism |
|
|
80
|
+
| 2. Retention-policy | ~20-30 min | per-data-category retention-period + deletion-trigger + Löschkonzept doc |
|
|
81
|
+
| 3. Art. 13 info-templates | ~30-45 min | Datenschutzerklärung + per-form Art. 13 short-form |
|
|
82
|
+
| 4. Datenpanne runbook | ~15 min (template-pull) or ~2-4h (active incident) | Art. 33 disclosure-letter + Art. 34 betroffene-notification + Behörden-Kontakte list |
|
|
83
|
+
| 5. Schrems-II TIA | ~30-60 min per 3rd-party | TIA-Dokument per US/Drittland-Empfänger |
|
|
84
|
+
|
|
85
|
+
### Phase 1: Consent-Mapping
|
|
86
|
+
|
|
87
|
+
1. List every data-collection-point in the project (forms, cookies, trackers, chatbot).
|
|
88
|
+
2. For each, classify processing-purpose + Art. 6 Rechtsgrundlage:
|
|
89
|
+
- Vertragsanbahnung (Art. 6 Abs. 1 lit. b)
|
|
90
|
+
- Berechtigtes Interesse (Art. 6 Abs. 1 lit. f) — requires Interessenabwägung
|
|
91
|
+
- Einwilligung (Art. 6 Abs. 1 lit. a) — requires explicit + informed + revokable
|
|
92
|
+
- Rechtliche Verpflichtung (Art. 6 Abs. 1 lit. c)
|
|
93
|
+
3. For each Einwilligung-based: verify TTDSG/TDDDG §25 compliance (cookie-banner pre-consent gate).
|
|
94
|
+
4. Produce consent-mapping doc.
|
|
95
|
+
|
|
96
|
+
### Phase 2: Retention-Policy
|
|
97
|
+
|
|
98
|
+
1. List every data-store: forms-DB, logs, analytics, backup-archives, customer-DB, etc.
|
|
99
|
+
2. Per data-category, define retention-period + deletion-trigger:
|
|
100
|
+
- Kontaktanfragen: 6 Monate nach letzter Kommunikation (oder bis Vertragsende + 3 Jahre)
|
|
101
|
+
- Newsletter-Subscriber: bis Abmeldung + 30 Tage Grace
|
|
102
|
+
- Analytics-Logs: anonymized after 30 days, raw-deleted after 90 days
|
|
103
|
+
- Customer-Records: 10 Jahre (HGB / AO Aufbewahrungsfristen)
|
|
104
|
+
- Server-Logs: 7-30 Tage (security-purpose only)
|
|
105
|
+
3. Document Löschkonzept: cron-jobs, manual triggers, audit-trail.
|
|
106
|
+
4. Cross-check with current actual deletion behavior — drift detection.
|
|
107
|
+
|
|
108
|
+
### Phase 3: Art. 13 Info-Templates
|
|
109
|
+
|
|
110
|
+
Use `references/art-13-15-templates.md` for the canonical template-pulls:
|
|
111
|
+
|
|
112
|
+
- Per processing-purpose: a structured paragraph for the DSE.
|
|
113
|
+
- Per form: a short-form Art. 13 info-block displayed near the form.
|
|
114
|
+
- Per chatbot/scanner: a tool-specific Art. 13 disclosure.
|
|
115
|
+
|
|
116
|
+
Customize per project's actual data-flows; verify all 12 Art. 13 fields are addressed.
|
|
117
|
+
|
|
118
|
+
### Phase 4: Datenpanne Runbook
|
|
119
|
+
|
|
120
|
+
Use `references/datenpanne-runbook.md`:
|
|
121
|
+
|
|
122
|
+
- Detect: how was the breach detected? (logs / tip / penetration-test / external-report)
|
|
123
|
+
- Assess: scope (records affected) + severity (high-risk for betroffene? Art. 34 trigger?)
|
|
124
|
+
- Disclose: Art. 33 within 72h to Aufsichtsbehörde; Art. 34 to betroffene if high-risk.
|
|
125
|
+
- Document: Art. 33 Abs. 5 internal-documentation pflicht (every breach, even if not disclosed externally).
|
|
126
|
+
|
|
127
|
+
If active incident: skill prioritizes timing + clear-text disclosure-template + Behörden-Kontakte. No legal-advice; just the factual checklist.
|
|
128
|
+
|
|
129
|
+
### Phase 5: Schrems-II TIA (Transfer-Impact-Assessment)
|
|
130
|
+
|
|
131
|
+
For each US/Drittland-3rd-party (Layer 4 audit cross-reference):
|
|
132
|
+
|
|
133
|
+
1. SCC-Vertrag: signed? Latest EU-Commission template (2021/914)?
|
|
134
|
+
2. TIA: Schrems-II requires assessment of recipient-country surveillance-laws + technical safeguards.
|
|
135
|
+
3. Schutzgarantien: encryption-at-rest + at-transit, pseudonymization, access-controls.
|
|
136
|
+
4. Document the TIA per recipient.
|
|
137
|
+
|
|
138
|
+
EDSA Recommendations 01/2020 provide the methodology; 6-step process (mapping / SCC / law-assessment / technical-supplementary / decision / documentation).
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Verification / Success Criteria
|
|
143
|
+
|
|
144
|
+
Before declaring DSGVO-baseline complete:
|
|
145
|
+
|
|
146
|
+
- [ ] Phase 1: all data-collection-points mapped to Art. 6 Rechtsgrundlage
|
|
147
|
+
- [ ] Phase 2: retention-policy doc covers every data-category, with deletion-trigger
|
|
148
|
+
- [ ] Phase 3: Art. 13 templates cover all 12 required fields per processing-purpose
|
|
149
|
+
- [ ] Phase 4: Datenpanne runbook accessible to Operator (printed checklist + contact-info)
|
|
150
|
+
- [ ] Phase 5: TIA-Dokument exists per US/Drittland-3rd-party
|
|
151
|
+
- [ ] DSB-Status flagged (required / not-required per Art. 37 thresholds)
|
|
152
|
+
- [ ] AVV-Liste vorhanden (per Art. 28 — every processor signed AVV)
|
|
153
|
+
- [ ] Cross-check brutaler-anwalt L4 findings: every KRITISCH addressed
|
|
154
|
+
- [ ] No-legal-advice disclaimer in every output
|
|
155
|
+
|
|
156
|
+
If any unmet → INCOMPLETE-Status.
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Anti-Patterns
|
|
161
|
+
|
|
162
|
+
- ❌ Skipping disclaimer "because it's obvious" — RDG-Linie: every output explicit-disclaimer.
|
|
163
|
+
- ❌ Hand-writing Art. 13 from scratch — use the template-pull; missing fields = abmahn-risk.
|
|
164
|
+
- ❌ Inferring Rechtsgrundlage without mapping the actual processing-purpose — every processing has exactly one primary Rechtsgrundlage.
|
|
165
|
+
- ❌ Datenpanne timing > 72h with no retroactive-disclosure plan — runbook covers retroactive case; use it.
|
|
166
|
+
- ❌ Schrems-II handled by signing SCC alone — SCC + TIA + technical-supplementary all required per EDSA Recommendations.
|
|
167
|
+
- ❌ DSB-eligibility check skipped for "small project" — Art. 37 has clear thresholds; check explicitly.
|
|
168
|
+
- ❌ Retention-Policy without deletion-trigger — policy is theoretical; trigger is what actually happens.
|
|
169
|
+
- ❌ AVV-Liste assumes processors signed AVV without verification — every processor explicit AVV-on-file.
|
|
170
|
+
- ❌ Cookie-Banner consent without Art. 7 Abs. 1 nachweis-mechanism (consent-record-DB or audit-log) — Einwilligung must be nachweis-bar.
|
|
171
|
+
- ❌ Generic "Datenschutz ist uns wichtig"-prose without legal-fields — fluff doesn't satisfy Art. 13.
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Extension Points
|
|
176
|
+
|
|
177
|
+
- **Per-industry-DSE-templates**: add `references/art-13-templates-<industry>.md` for industry-specific processing-purposes (Anwalt: Mandantendaten, Arzt: Patientendaten + Art. 9 special-categories, etc.).
|
|
178
|
+
- **Multi-jurisdiction**: DSGVO is EU-wide but local-law variations exist (BDSG-DE, DSG-AT, FADP-CH). Add `references/jurisdiction-<country>.md` per scope-extension. Note: this skill is calibrated to DSGVO + BDSG (DE-default).
|
|
179
|
+
- **Custom retention-periods**: industry-specific (e.g., medical 30 years per HSV) override defaults via `aegis.config.json` `dsgvo.retention.<category>`.
|
|
180
|
+
- **Datenpanne-incident-tracker**: extend Phase 4 with optional `--incident-id=<id>` flag that writes to a per-project incident-DB (`docs/dsgvo/incidents/<id>.md`) with full timeline + disclosures + lessons-learned.
|
|
181
|
+
- **Auskunftsanfrage-Tracker**: extend Phase 3 (Art. 15) with `--anfrage-id=<id>` flag that tracks request-receipt + 30-day-deadline + response in `docs/dsgvo/auskunftsanfragen/<id>.md`.
|
|
182
|
+
- **DSB-Outsourcing-Decision-Aid**: when DSB required, add `--dsb-decision-aid` mode that produces a comparison-matrix (internal vs external DSB, cost-estimates, timeline).
|
|
183
|
+
- **Multi-language-DSE**: extend Phase 3 with `--lang=de,en` for bilingual DSE generation. Use language-specific BGH/EuGH-Linie references for non-DE.
|
|
184
|
+
- **AVV-Pflichten-Tracker**: list of all processors → AVV-status (signed / pending / missing) → renewal-dates (typically 1-3 year cycle).
|
|
185
|
+
- **Cross-skill compose with brutaler-anwalt**: a `--audit-then-fix` mode runs brutaler-anwalt first, then auto-applies dsgvo-compliance fixes for each KRITISCH finding.
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
# Art. 13/15 Templates Reference
|
|
2
|
+
|
|
3
|
+
Templates for DSGVO Art. 13 (Informationspflicht bei Erhebung beim Betroffenen), Art. 14 (Erhebung bei Dritten), Art. 15 (Auskunftsanfrage-Antwort). Calibrated to current BGH/EuGH-Linie (as of 2025).
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Disclaimer
|
|
8
|
+
|
|
9
|
+
These templates are informational; not legal advice. Calibrated to general DSGVO compliance for typical AEGIS-foundation projects (DACH B2C/B2B web-businesses). Industry-specific variations (medical / legal / financial) require Fachanwalt-review before use. Templates expire when BGH/EuGH-Linie shifts; check this reference's last-updated-date before use.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Art. 13 — Full DSE Template (Datenschutzerklärung)
|
|
14
|
+
|
|
15
|
+
The full DSE concatenates these sections (one per processing-purpose):
|
|
16
|
+
|
|
17
|
+
### Section A — Verantwortlicher (always first)
|
|
18
|
+
|
|
19
|
+
```markdown
|
|
20
|
+
## 1. Name und Anschrift des Verantwortlichen
|
|
21
|
+
|
|
22
|
+
Der Verantwortliche im Sinne der Datenschutz-Grundverordnung sowie anderer
|
|
23
|
+
nationaler Datenschutzgesetze der Mitgliedsstaaten sowie sonstiger
|
|
24
|
+
datenschutzrechtlicher Bestimmungen ist:
|
|
25
|
+
|
|
26
|
+
<Firma>
|
|
27
|
+
<Straße + Hausnummer>
|
|
28
|
+
<PLZ + Ort>
|
|
29
|
+
Deutschland
|
|
30
|
+
|
|
31
|
+
Tel.: <+49 ...>
|
|
32
|
+
E-Mail: <kontakt@example.com>
|
|
33
|
+
Website: <https://www.example.com>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Section B — Datenschutzbeauftragter (when applicable per Art. 37)
|
|
37
|
+
|
|
38
|
+
```markdown
|
|
39
|
+
## 2. Datenschutzbeauftragter
|
|
40
|
+
|
|
41
|
+
Den Datenschutzbeauftragten erreichen Sie unter:
|
|
42
|
+
|
|
43
|
+
<Name (or "Datenschutzteam")>
|
|
44
|
+
<Adresse — kann identisch zu Verantwortlichem sein, oder separate>
|
|
45
|
+
E-Mail: dsb@example.com
|
|
46
|
+
|
|
47
|
+
(Hinweis: Datenschutzbeauftragter ist <intern bestellt> | <extern bestellt>
|
|
48
|
+
gemäß Art. 37 DSGVO + § 38 BDSG.)
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Section C — Verarbeitungstätigkeiten (one per purpose)
|
|
52
|
+
|
|
53
|
+
```markdown
|
|
54
|
+
## 3. Verarbeitung beim Besuch unserer Website
|
|
55
|
+
|
|
56
|
+
### 3.1 Server-Logfiles
|
|
57
|
+
|
|
58
|
+
Bei jedem Aufruf erfasst der Server folgende Daten:
|
|
59
|
+
|
|
60
|
+
- IP-Adresse (anonymisiert nach <N> Tagen)
|
|
61
|
+
- Datum und Uhrzeit der Anfrage
|
|
62
|
+
- Browser-Typ + Version
|
|
63
|
+
- Betriebssystem
|
|
64
|
+
- Referrer-URL
|
|
65
|
+
- HTTP-Statuscode
|
|
66
|
+
|
|
67
|
+
**Zweck:** Sicherstellung des stabilen Betriebs, Erkennung von
|
|
68
|
+
Sicherheitsvorfällen, Optimierung der Website.
|
|
69
|
+
|
|
70
|
+
**Rechtsgrundlage:** Art. 6 Abs. 1 lit. f DSGVO (berechtigte Interessen).
|
|
71
|
+
Unsere berechtigten Interessen liegen in der Bereitstellung einer
|
|
72
|
+
funktionsfähigen, sicheren Website.
|
|
73
|
+
|
|
74
|
+
**Speicherdauer:** Server-Logfiles werden nach <N> Tagen anonymisiert
|
|
75
|
+
und nach <M> Tagen gelöscht.
|
|
76
|
+
|
|
77
|
+
**Empfänger:** Hosting-Provider (<Anbieter-Name>, <Sitzland>), Auftragsverarbeitung
|
|
78
|
+
nach Art. 28 DSGVO.
|
|
79
|
+
|
|
80
|
+
**Drittlandtransfer:** <Nein | Ja, an <Land>, gestützt auf <SCC + TIA per Art. 46>.>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
(Repeat 3.X for: Kontaktformular, Newsletter, Analytics, Chatbot, Scanner,
|
|
84
|
+
Cookies, etc. — every processing-purpose gets its own section.)
|
|
85
|
+
|
|
86
|
+
### Section D — Empfänger / Empfängerkategorien
|
|
87
|
+
|
|
88
|
+
```markdown
|
|
89
|
+
## 4. Empfänger der Daten
|
|
90
|
+
|
|
91
|
+
Wir geben Ihre Daten nur an folgende Empfänger weiter:
|
|
92
|
+
|
|
93
|
+
- **Hosting-Provider** (<Anbieter, Sitzland>) — Auftragsverarbeitung Art. 28
|
|
94
|
+
- **E-Mail-Provider** (<Anbieter, Sitzland>) — Auftragsverarbeitung
|
|
95
|
+
- **Newsletter-Service** (<Anbieter, Sitzland>) — wenn abonniert
|
|
96
|
+
- **Steuerberater + Rechnungssoftware** — bei Vertragsbeziehung, gesetzliche Pflicht (HGB / AO)
|
|
97
|
+
|
|
98
|
+
Eine vollständige Liste aller Auftragsverarbeiter erhalten Sie auf Anfrage
|
|
99
|
+
unter dsb@example.com.
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Section E — Drittlandtransfer (always present, even if "none")
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
## 5. Übermittlung in Drittländer
|
|
106
|
+
|
|
107
|
+
<Variante A — kein Drittlandtransfer:>
|
|
108
|
+
Wir übermitteln keine personenbezogenen Daten in Drittländer (außerhalb der EU/EWR).
|
|
109
|
+
|
|
110
|
+
<Variante B — Drittlandtransfer:>
|
|
111
|
+
Folgende Empfänger sitzen in einem Drittland (außerhalb der EU/EWR):
|
|
112
|
+
|
|
113
|
+
- **<Anbieter A>** (USA): Übermittlung gestützt auf Standardvertragsklauseln
|
|
114
|
+
(SCC) der EU-Kommission (Beschluss 2021/914) sowie ergänzende technische
|
|
115
|
+
und organisatorische Maßnahmen (TIA gemäß EDSA Recommendations 01/2020).
|
|
116
|
+
- **<Anbieter B>** (...)
|
|
117
|
+
|
|
118
|
+
Informationen zu den Schutzgarantien erhalten Sie auf Anfrage unter dsb@example.com.
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Section F — Speicherdauer
|
|
122
|
+
|
|
123
|
+
```markdown
|
|
124
|
+
## 6. Speicherdauer
|
|
125
|
+
|
|
126
|
+
Wir speichern Ihre Daten nur so lange, wie es für die jeweilige Zweckerfüllung
|
|
127
|
+
erforderlich ist:
|
|
128
|
+
|
|
129
|
+
| Datenkategorie | Speicherdauer | Löschtrigger |
|
|
130
|
+
|---|---|---|
|
|
131
|
+
| Server-Logfiles | <N> Tage anonymisiert, dann gelöscht | Cron-Job |
|
|
132
|
+
| Kontaktanfragen | 6 Monate nach letzter Kommunikation | Manuell + Audit |
|
|
133
|
+
| Newsletter | bis Abmeldung + 30 Tage Grace | API-Webhook |
|
|
134
|
+
| Vertragsdaten | 10 Jahre (HGB § 257 / AO § 147) | Cron + manuelle Freigabe |
|
|
135
|
+
| Bewerberdaten | 6 Monate nach Absage | Cron |
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Section G — Betroffenenrechte
|
|
139
|
+
|
|
140
|
+
```markdown
|
|
141
|
+
## 7. Ihre Rechte
|
|
142
|
+
|
|
143
|
+
Sie haben folgende Rechte:
|
|
144
|
+
|
|
145
|
+
- **Art. 15 DSGVO — Auskunft:** Sie können erfahren, welche Daten wir zu
|
|
146
|
+
Ihrer Person verarbeiten.
|
|
147
|
+
- **Art. 16 DSGVO — Berichtigung:** Sie können unrichtige Daten korrigieren lassen.
|
|
148
|
+
- **Art. 17 DSGVO — Löschung ("Recht auf Vergessenwerden"):** Sie können
|
|
149
|
+
die Löschung Ihrer Daten verlangen, soweit keine gesetzlichen
|
|
150
|
+
Aufbewahrungspflichten entgegenstehen.
|
|
151
|
+
- **Art. 18 DSGVO — Einschränkung der Verarbeitung:** ...
|
|
152
|
+
- **Art. 20 DSGVO — Datenübertragbarkeit:** ...
|
|
153
|
+
- **Art. 21 DSGVO — Widerspruch:** Insbesondere gegen Direktwerbung.
|
|
154
|
+
|
|
155
|
+
Zur Wahrnehmung wenden Sie sich an dsb@example.com oder per Post an die oben
|
|
156
|
+
genannte Anschrift.
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Section H — Beschwerderecht
|
|
160
|
+
|
|
161
|
+
```markdown
|
|
162
|
+
## 8. Beschwerderecht bei einer Aufsichtsbehörde
|
|
163
|
+
|
|
164
|
+
Sie haben das Recht, sich bei einer Datenschutz-Aufsichtsbehörde zu beschweren.
|
|
165
|
+
Die für uns zuständige Behörde ist:
|
|
166
|
+
|
|
167
|
+
**<Landesdatenschutzbehörde — z.B. Bayerisches Landesamt für Datenschutzaufsicht>**
|
|
168
|
+
<Anschrift>
|
|
169
|
+
<Telefon> | <E-Mail>
|
|
170
|
+
|
|
171
|
+
Sie können sich auch an jede andere Aufsichtsbehörde Ihrer Wahl wenden.
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Section I — Pflicht zur Bereitstellung
|
|
175
|
+
|
|
176
|
+
```markdown
|
|
177
|
+
## 9. Pflicht zur Bereitstellung der Daten
|
|
178
|
+
|
|
179
|
+
Die Bereitstellung Ihrer Daten ist <für den Vertragsabschluss erforderlich |
|
|
180
|
+
freiwillig>. Wenn Sie Ihre Daten nicht bereitstellen, <kann der Vertrag
|
|
181
|
+
nicht geschlossen werden | wird der Service in eingeschränkter Form geliefert>.
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Section J — Automatisierte Entscheidung (when applicable)
|
|
185
|
+
|
|
186
|
+
```markdown
|
|
187
|
+
## 10. Automatisierte Entscheidungsfindung
|
|
188
|
+
|
|
189
|
+
<Variante A:>
|
|
190
|
+
Eine automatisierte Entscheidungsfindung einschließlich Profiling findet
|
|
191
|
+
nicht statt.
|
|
192
|
+
|
|
193
|
+
<Variante B:>
|
|
194
|
+
Wir nutzen automatisierte Entscheidungsfindung im Rahmen <Beschreibung>.
|
|
195
|
+
Logik: <Erläuterung>. Tragweite: <Auswirkungen>. Sie haben das Recht auf
|
|
196
|
+
menschliches Eingreifen, eigene Position darzulegen, Entscheidung anzufechten
|
|
197
|
+
(Art. 22 Abs. 3 DSGVO).
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Art. 13 — Short-Form (Form-Inline)
|
|
203
|
+
|
|
204
|
+
For embedded forms (Kontaktformular, Newsletter), a 3-paragraph short-form near the form:
|
|
205
|
+
|
|
206
|
+
```markdown
|
|
207
|
+
**Datenschutz-Hinweis:**
|
|
208
|
+
|
|
209
|
+
Mit Absenden des Formulars willigen Sie in die Verarbeitung Ihrer Daten
|
|
210
|
+
zur Beantwortung Ihrer Anfrage ein (Art. 6 Abs. 1 lit. a DSGVO). Speicherdauer:
|
|
211
|
+
6 Monate nach letzter Kommunikation. Empfänger: nur unser Team + E-Mail-Provider
|
|
212
|
+
(<Provider>, Auftragsverarbeitung).
|
|
213
|
+
|
|
214
|
+
Sie können Ihre Einwilligung jederzeit widerrufen — schreiben Sie an dsb@example.com.
|
|
215
|
+
|
|
216
|
+
Vollständige Datenschutzerklärung: [/datenschutz](/datenschutz).
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Art. 15 — Auskunftsanfrage-Antwort-Template
|
|
222
|
+
|
|
223
|
+
When a Betroffener stellt eine Auskunftsanfrage:
|
|
224
|
+
|
|
225
|
+
```markdown
|
|
226
|
+
Sehr geehrte/r <Name>,
|
|
227
|
+
|
|
228
|
+
vielen Dank für Ihre Anfrage vom <Datum>. Wir bestätigen die Erhalt am <Datum>.
|
|
229
|
+
|
|
230
|
+
Gemäß Art. 15 DSGVO erhalten Sie folgende Auskunft:
|
|
231
|
+
|
|
232
|
+
## Verarbeitete Daten
|
|
233
|
+
|
|
234
|
+
Wir verarbeiten zu Ihrer Person folgende Daten:
|
|
235
|
+
|
|
236
|
+
| Kategorie | Wert | Speicherort | Speicherdauer |
|
|
237
|
+
|---|---|---|---|
|
|
238
|
+
| Stammdaten | <Name>, <E-Mail> | Customer-DB | bis <Datum> |
|
|
239
|
+
| Anfragen-Historie | <N> Anfragen (Datum-Bereich <von-bis>) | Email-System | 6 Monate nach letzter |
|
|
240
|
+
| ... | ... | ... | ... |
|
|
241
|
+
|
|
242
|
+
## Verarbeitungszwecke + Rechtsgrundlagen
|
|
243
|
+
|
|
244
|
+
- <Zweck 1>: Art. 6 Abs. 1 lit. <X> DSGVO
|
|
245
|
+
- <Zweck 2>: ...
|
|
246
|
+
|
|
247
|
+
## Empfänger
|
|
248
|
+
|
|
249
|
+
Ihre Daten wurden an folgende Empfänger weitergegeben:
|
|
250
|
+
|
|
251
|
+
- <Empfänger A> (Hosting): Auftragsverarbeitung Art. 28
|
|
252
|
+
- <Empfänger B> (E-Mail): Auftragsverarbeitung Art. 28
|
|
253
|
+
|
|
254
|
+
## Geplante Speicherdauer
|
|
255
|
+
|
|
256
|
+
Siehe Tabelle oben. Generell-Policy: <Policy-Link>.
|
|
257
|
+
|
|
258
|
+
## Ihre Rechte
|
|
259
|
+
|
|
260
|
+
Sie haben folgende Rechte (Art. 16-22 DSGVO):
|
|
261
|
+
- Berichtigung (Art. 16)
|
|
262
|
+
- Löschung (Art. 17)
|
|
263
|
+
- Einschränkung (Art. 18)
|
|
264
|
+
- Datenübertragbarkeit (Art. 20)
|
|
265
|
+
- Widerspruch (Art. 21)
|
|
266
|
+
- Beschwerderecht bei Aufsichtsbehörde (Art. 77) — siehe DSE für Kontaktdaten.
|
|
267
|
+
|
|
268
|
+
## Kopie
|
|
269
|
+
|
|
270
|
+
Eine Kopie Ihrer Daten finden Sie im Anhang (machine-readable JSON +
|
|
271
|
+
human-readable PDF).
|
|
272
|
+
|
|
273
|
+
Mit freundlichen Grüßen
|
|
274
|
+
<Datenschutzbeauftragter>
|
|
275
|
+
<Email + Telefon>
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
**Frist:** 1 Monat ab Eingang. Bei Komplexität: + 2 Monate, mit Begründungs-Brief
|
|
279
|
+
innerhalb 1 Monat.
|
|
280
|
+
|
|
281
|
+
**Identitätsprüfung:** vor Auskunftserteilung — Rückfrage mit identifizierender
|
|
282
|
+
Information (z.B. zuletzt registrierte E-Mail-Adresse).
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## Anti-Patterns
|
|
287
|
+
|
|
288
|
+
- ❌ Generic "Datenschutz ist uns wichtig"-prose ohne Pflicht-Felder — abmahn-risk.
|
|
289
|
+
- ❌ Art. 13 ohne Speicherdauer-Tabelle — fehlt Pflicht-Feld Art. 13 Abs. 2 lit. a.
|
|
290
|
+
- ❌ Drittland-Section weglassen weil "kein Drittlandtransfer" — explizit "Variante A: kein Transfer" angeben.
|
|
291
|
+
- ❌ Art. 15 Antwort > 1 Monat ohne Begründung — Frist-Verletzung Art. 12 Abs. 3.
|
|
292
|
+
- ❌ Identitätsprüfung skippen vor Auskunft — Risiko Identitätsdiebstahl.
|
|
293
|
+
- ❌ Spezifische Datenkategorien als "diverse Daten" zusammenfassen — Pflicht zu konkret-listen.
|
|
294
|
+
- ❌ AVV-Liste nicht parat — Art. 13 Abs. 1 lit. e Empfänger-Pflicht.
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Update-Trigger
|
|
299
|
+
|
|
300
|
+
Diese Templates aktualisieren bei:
|
|
301
|
+
|
|
302
|
+
- BGH-Entscheidung mit DSGVO-Relevanz (z.B. Cookie-Banner-Linie)
|
|
303
|
+
- EuGH-Entscheidung (z.B. Schrems-III)
|
|
304
|
+
- DSGVO-Änderungs-Verordnung
|
|
305
|
+
- BDSG-Novelle
|
|
306
|
+
- TTDSG/TDDDG-Änderungen
|
|
307
|
+
- DSK-Resolutionen oder Empfehlungs-Updates
|
|
308
|
+
|
|
309
|
+
Last-updated: 2025 (post-TDDDG-Enactment).
|