Extends the Compliance Advisor from a Q&A chatbot into a full drafting engine that can generate, validate, and refine compliance documents within Scope Engine constraints. Includes intent classifier, state projector, constraint enforcer, SOUL templates, Go backend endpoints, and React UI components. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
103 lines
2.7 KiB
TypeScript
103 lines
2.7 KiB
TypeScript
/**
|
|
* Privacy Policy Draft Prompt - Datenschutzerklaerung (Art. 13/14 DSGVO)
|
|
*/
|
|
|
|
import type { DraftContext } from '../types'
|
|
|
|
export interface PrivacyPolicyDraftInput {
|
|
context: DraftContext
|
|
websiteUrl?: string
|
|
instructions?: string
|
|
}
|
|
|
|
export function buildPrivacyPolicyDraftPrompt(input: PrivacyPolicyDraftInput): string {
|
|
const { context, websiteUrl, instructions } = input
|
|
const level = context.decisions.level
|
|
const depthItems = context.constraints.depthRequirements.detailItems
|
|
|
|
return `## Aufgabe: Datenschutzerklaerung entwerfen (Art. 13/14 DSGVO)
|
|
|
|
### Unternehmensprofil
|
|
- Name: ${context.companyProfile.name}
|
|
- Branche: ${context.companyProfile.industry}
|
|
${context.companyProfile.dataProtectionOfficer ? `- DSB: ${context.companyProfile.dataProtectionOfficer.name} (${context.companyProfile.dataProtectionOfficer.email})` : ''}
|
|
${websiteUrl ? `- Website: ${websiteUrl}` : ''}
|
|
|
|
### Compliance-Level: ${level}
|
|
Tiefe: ${context.constraints.depthRequirements.depth}
|
|
|
|
### Erforderliche Inhalte:
|
|
${depthItems.map((item, i) => `${i + 1}. ${item}`).join('\n')}
|
|
|
|
${instructions ? `### Zusaetzliche Anweisungen: ${instructions}` : ''}
|
|
|
|
### Antwort-Format
|
|
Antworte als JSON:
|
|
{
|
|
"sections": [
|
|
{
|
|
"id": "verantwortlicher",
|
|
"title": "Verantwortlicher",
|
|
"content": "...",
|
|
"schemaField": "controller"
|
|
},
|
|
{
|
|
"id": "dsb",
|
|
"title": "Datenschutzbeauftragter",
|
|
"content": "...",
|
|
"schemaField": "dpo"
|
|
},
|
|
{
|
|
"id": "verarbeitungen",
|
|
"title": "Verarbeitungstaetigkeiten und Zwecke",
|
|
"content": "...",
|
|
"schemaField": "processingPurposes"
|
|
},
|
|
{
|
|
"id": "rechtsgrundlagen",
|
|
"title": "Rechtsgrundlagen der Verarbeitung",
|
|
"content": "...",
|
|
"schemaField": "legalBases"
|
|
},
|
|
{
|
|
"id": "empfaenger",
|
|
"title": "Empfaenger und Datenweitergabe",
|
|
"content": "...",
|
|
"schemaField": "recipients"
|
|
},
|
|
{
|
|
"id": "drittland",
|
|
"title": "Uebermittlung in Drittlaender",
|
|
"content": "...",
|
|
"schemaField": "thirdCountryTransfers"
|
|
},
|
|
{
|
|
"id": "speicherdauer",
|
|
"title": "Speicherdauer",
|
|
"content": "...",
|
|
"schemaField": "retentionPeriods"
|
|
},
|
|
{
|
|
"id": "betroffenenrechte",
|
|
"title": "Ihre Rechte als betroffene Person",
|
|
"content": "...",
|
|
"schemaField": "dataSubjectRights"
|
|
},
|
|
{
|
|
"id": "cookies",
|
|
"title": "Cookies und Tracking",
|
|
"content": "...",
|
|
"schemaField": "cookies"
|
|
},
|
|
{
|
|
"id": "aenderungen",
|
|
"title": "Aenderungen dieser Datenschutzerklaerung",
|
|
"content": "...",
|
|
"schemaField": "changes"
|
|
}
|
|
]
|
|
}
|
|
|
|
Halte die Tiefe exakt auf Level ${level}.`
|
|
}
|