Some checks failed
Tests / Go Tests (push) Has been cancelled
Tests / Python Tests (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / Go Lint (push) Has been cancelled
Tests / Python Lint (push) Has been cancelled
Tests / Security Scan (push) Has been cancelled
Tests / All Checks Passed (push) Has been cancelled
Security Scanning / Secret Scanning (push) Has been cancelled
Security Scanning / Dependency Vulnerability Scan (push) Has been cancelled
Security Scanning / Go Security Scan (push) Has been cancelled
Security Scanning / Python Security Scan (push) Has been cancelled
Security Scanning / Node.js Security Scan (push) Has been cancelled
Security Scanning / Docker Image Security (push) Has been cancelled
Security Scanning / Security Summary (push) Has been cancelled
CI/CD Pipeline / Go Tests (push) Has been cancelled
CI/CD Pipeline / Python Tests (push) Has been cancelled
CI/CD Pipeline / Website Tests (push) Has been cancelled
CI/CD Pipeline / Linting (push) Has been cancelled
CI/CD Pipeline / Security Scan (push) Has been cancelled
CI/CD Pipeline / Docker Build & Push (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / CI Summary (push) Has been cancelled
ci/woodpecker/manual/build-ci-image Pipeline was successful
ci/woodpecker/manual/main Pipeline failed
All services: admin-v2, studio-v2, website, ai-compliance-sdk, consent-service, klausur-service, voice-service, and infrastructure. Large PDFs and compiled binaries excluded via .gitignore.
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}.`
|
|
}
|