/** * 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}.` }