Services: Admin-Compliance, Backend-Compliance, AI-Compliance-SDK, Consent-SDK, Developer-Portal, PCA-Platform, DSMS Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
67 lines
2.1 KiB
TypeScript
67 lines
2.1 KiB
TypeScript
/**
|
|
* Cross-Document Validation Prompt
|
|
*/
|
|
|
|
import type { ValidationContext } from '../types'
|
|
|
|
export interface CrossCheckInput {
|
|
context: ValidationContext
|
|
focusDocuments?: string[]
|
|
instructions?: string
|
|
}
|
|
|
|
export function buildCrossCheckPrompt(input: CrossCheckInput): string {
|
|
const { context, focusDocuments, instructions } = input
|
|
|
|
return `## Aufgabe: Cross-Dokument-Konsistenzpruefung
|
|
|
|
### Scope-Level: ${context.scopeLevel}
|
|
|
|
### Vorhandene Dokumente:
|
|
${context.documents.map(d => `- ${d.type}: ${d.contentSummary}`).join('\n')}
|
|
|
|
### Cross-Referenzen:
|
|
- VVT-Kategorien: ${context.crossReferences.vvtCategories.join(', ') || 'Keine'}
|
|
- DSFA-Risiken: ${context.crossReferences.dsfaRisks.join(', ') || 'Keine'}
|
|
- TOM-Controls: ${context.crossReferences.tomControls.join(', ') || 'Keine'}
|
|
- Loeschfristen-Kategorien: ${context.crossReferences.retentionCategories.join(', ') || 'Keine'}
|
|
|
|
### Tiefenpruefung pro Dokument:
|
|
${context.documents.map(d => {
|
|
const req = context.depthRequirements[d.type]
|
|
return req ? `- ${d.type}: Erforderlich=${req.required}, Tiefe=${req.depth}` : `- ${d.type}: Keine Requirements`
|
|
}).join('\n')}
|
|
|
|
${focusDocuments ? `### Fokus auf: ${focusDocuments.join(', ')}` : ''}
|
|
${instructions ? `### Zusaetzliche Anweisungen: ${instructions}` : ''}
|
|
|
|
### Pruefkriterien:
|
|
1. Jede VVT-Taetigkeit muss einen TOM-Verweis haben
|
|
2. Jede VVT-Kategorie muss eine Loeschfrist haben
|
|
3. Bei DSFA-pflichtigen Verarbeitungen muss eine DSFA existieren
|
|
4. TOM-Massnahmen muessen zum Risikoprofil passen
|
|
5. Loeschfristen duerfen gesetzliche Minima nicht unterschreiten
|
|
6. Dokument-Tiefe muss Level ${context.scopeLevel} entsprechen
|
|
|
|
### Antwort-Format
|
|
Antworte als JSON:
|
|
{
|
|
"passed": true/false,
|
|
"errors": [
|
|
{
|
|
"id": "ERR-001",
|
|
"severity": "error",
|
|
"category": "scope_violation|inconsistency|missing_content|depth_mismatch|cross_reference",
|
|
"title": "...",
|
|
"description": "...",
|
|
"documentType": "vvt|tom|dsfa|...",
|
|
"crossReferenceType": "...",
|
|
"legalReference": "Art. ... DSGVO",
|
|
"suggestion": "..."
|
|
}
|
|
],
|
|
"warnings": [...],
|
|
"suggestions": [...]
|
|
}`
|
|
}
|