'use client' /** * Source Policy — Quellen-Whitelist fuer RAG Pipeline * * Kontrolliert welche externen Quellen (Rechtstexte, Standards, Leitfaeden) * in die lokale Knowledge Base ingested werden duerfen. * Enterprise-Feature fuer Kanzleien/Unternehmen mit eigenem RAG-System. */ import { useState, useEffect } from 'react' import { SourcesTab } from '@/components/sdk/source-policy/SourcesTab' import { OperationsMatrixTab } from '@/components/sdk/source-policy/OperationsMatrixTab' const API_BASE = '/api/sdk/v1/source-policy' interface PolicyStats { active_policies: number allowed_sources: number } type TabId = 'overview' | 'sources' | 'operations' export default function SourcePolicyPage() { const [activeTab, setActiveTab] = useState('overview') const [stats, setStats] = useState(null) const [loading, setLoading] = useState(true) useEffect(() => { fetch(`${API_BASE}/policy-stats`) .then(r => r.ok ? r.json() : null) .then(data => setStats(data)) .catch(() => {}) .finally(() => setLoading(false)) }, []) const tabs: { id: TabId; label: string }[] = [ { id: 'overview', label: 'Uebersicht' }, { id: 'sources', label: 'Quellen-Whitelist' }, { id: 'operations', label: 'Berechtigungen' }, ] return (
{/* Header */}

Quellen-Verwaltung

Definieren Sie welche externen Quellen in Ihre Knowledge Base aufgenommen werden duerfen.

{/* Stats */} {stats && (
{stats.allowed_sources}
Zugelassene Quellen
{stats.active_policies}
Aktive Policies
)} {/* Tabs */}
{tabs.map(tab => ( ))}
{/* Tab: Uebersicht */} {activeTab === 'overview' && (

Was ist die Quellen-Verwaltung?

Die Quellen-Verwaltung kontrolliert welche externen Dokumente und Rechtsquellen in Ihre lokale RAG-Pipeline (Knowledge Base) aufgenommen werden duerfen.

Quellen-Whitelist

Definieren Sie vertrauenswuerdige Quellen: EUR-Lex, BSI Grundschutz, Behoerden-Leitfaeden, eigene Dokumente.

Berechtigungen

Pro Quelle festlegen: Darf sie ingested, durchsucht, exportiert oder mit Dritten geteilt werden?

Lizenzen

Jede Quelle wird mit Lizenzinformationen versehen (DL-DE-BY, CC-BY, CC0, eigene Dokumente).

{stats && stats.allowed_sources === 0 && (

Noch keine Quellen konfiguriert. Wechseln Sie zum Tab "Quellen-Whitelist" um Ihre ersten Quellen hinzuzufuegen.

)}
)} {/* Tab: Quellen */} {activeTab === 'sources' && { fetch(`${API_BASE}/policy-stats`).then(r => r.ok ? r.json() : null).then(setStats).catch(() => {}) }} />} {/* Tab: Berechtigungen */} {activeTab === 'operations' && }
) }