chore(dev): Soul-Reverse-Engineering-Sperre raus (Dev-Modus) + Doc-Tabs immer sichtbar

- compliance-advisor.soul: Quellenschutz/Anti-Leak ersetzt durch Transparenz-
  Modus (nur Dev nutzt den Agent; offene Meta-Antworten erlaubt) + ehrlicher
  Hinweis, dass der Agent nur RAG sieht, NICHT die MC-DB.
- Snapshot: Impressum/DSE/AGB-Tabs immer sichtbar (Hinweis statt Verstecken bei
  fehlendem Text).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-06-13 20:06:34 +02:00
parent 6f0416a22d
commit 3489eaf8b0
2 changed files with 18 additions and 25 deletions
@@ -53,17 +53,17 @@ export default function SnapshotDetail(
const docs = snap?.doc_entries || []
const hasCookies = (snap?.cmp_vendors?.length ?? 0) > 0
const hasDoc = (dt: string) => docs.some(
(e: any) => e.doc_type === dt && (e.text || e.content || '').length > 100)
// Browser-Verhalten braucht nur eine scanbare URL (on-demand-Live-Lauf).
const hasSite = docs.some((e: any) => (e.url || '').trim())
|| (!!snap?.site_domain && snap.site_domain !== 'unknown')
const modules = useMemo(() => [
...(hasCookies ? [{ key: 'cookie', label: 'Cookies & Tracking' }] : []),
...(hasDoc('impressum') ? [{ key: 'impressum', label: 'Impressum' }] : []),
...(hasDoc('dse') ? [{ key: 'dse', label: 'Datenschutzerklärung' }] : []),
...(hasDoc('agb') ? [{ key: 'agb', label: 'AGB' }] : []),
// Doc-Tabs IMMER zeigen; ohne erfassten Text gibt der Tab einen Hinweis
// ("kein …-Text erfasst") statt zu verschwinden.
{ key: 'impressum', label: 'Impressum' },
{ key: 'dse', label: 'Datenschutzerklärung' },
{ key: 'agb', label: 'AGB' },
...(hasSite ? [{ key: 'browser', label: 'Browser-Verhalten' }] : []),
{ key: 'bericht', label: 'Bericht' },
// eslint-disable-next-line react-hooks/exhaustive-deps