PageSourceSearch

https://unterrichtsplanung.ai/assets/VVT--OTfuOLM.js

js unterrichtsplanung.ai collected 2026-10-05 15:15:33 UTC 13,900 bytes, 1 lines download raw bytes

1import{Nt as e,gn as t}from"./lucide-FiUllUuf.js";import{r as n}from"./react-vendor-DkRFjetv.js";import{U as r}from"./radix-DA0TVB9t.js";import{t as i}from"./button-DWibT-Lh.js";import{t as a}from"./Brand-C1Z3Aa48.js";import{t as o}from"./PageMeta-BXYjNFUv.js";var s=r();function c(){return(0,s.jsxs)(`div`,{className:`min-h-screen bg-background px-4 py-12`,children:[(0,s.jsx)(o,{title:`Verarbeitungsverzeichnis (VVT)`,description:`Verzeichnis der Verarbeitungstätigkeiten nach Art. 30 DSGVO`,path:`/vvt`}),(0,s.jsxs)(`div`,{className:`mx-auto min-w-0 max-w-4xl space-y-6`,children:[(0,s.jsxs)(`header`,{className:`flex items-center justify-between`,children:[(0,s.jsx)(a,{size:`md`}),(0,s.jsxs)(n,{to:`/datenschutz`,className:`inline-flex items-center gap-1 text-sm text-muted-foreground hover:underline`,children:[(0,s.jsx)(t,{className:`h-3 w-3`}),` zurück zum Datenschutz`]})]}),(0,s.jsxs)(`div`,{children:[(0,s.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight break-words hyphens-auto sm:text-3xl`,children:`Verzeichnis der Verarbeitungstätigkeiten`}),(0,s.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`nach Art. 30 DSGVO · Stand 09.09.2026 · Version 1.0`})]}),(0,s.jsx)(`div`,{className:`rounded-md border bg-muted/30 p-4 text-sm`,children:(0,s.jsxs)(`p`,{children:[`Dieses Verzeichnis dokumentiert alle Verarbeitungen personenbezogener Daten durch die`,(0,s.jsx)(`strong`,{children:` tk comp UG (haftungsbeschränkt)`}),` im Rahmen der Plattform unterrichtsplanung.ai. Es wird bei jeder Änderung fortgeschrieben und dient der Transparenz gegenüber Nutzern und Behörden.`]})}),(0,s.jsxs)(`section`,{children:[(0,s.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Verantwortlicher`}),(0,s.jsxs)(`div`,{className:`mt-2 rounded-md border p-4 text-sm`,children:[(0,s.jsx)(`div`,{children:(0,s.jsx)(`strong`,{children:`tk comp UG (haftungsbeschränkt)`})}),(0,s.jsx)(`div`,{children:`Friedentalstraße 7, 53894 Mechernich, Deutschland`}),(0,s.jsx)(`div`,{children:`Amtsgericht Bonn HRB 30092`}),(0,s.jsx)(`div`,{children:`Geschäftsführer: Tobias Kreiser`}),(0,s.jsxs)(`div`,{children:[`Kontakt Datenschutz: `,(0,s.jsx)(`a`,{href:`mailto:[email protected]`,className:`text-primary hover:underline`,children:`[email protected]`})]})]})]}),(0,s.jsxs)(`section`,{children:[(0,s.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Übersicht der Verarbeitungen`}),(0,s.jsx)(`div`,{className:`mt-2 w-full min-w-0 max-w-full overflow-x-auto rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,tabIndex:0,role:`region`,"aria-label":`Übersicht der Verarbeitungen`,children:(0,s.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,s.jsx)(`thead`,{children:(0,s.jsxs)(`tr`,{className:`border-b text-xs uppercase tracking-wider text-muted-foreground`,children:[(0,s.jsx)(`th`,{className:`py-2 pr-4 text-left`,children:`Nr.`}),(0,s.jsx)(`th`,{className:`py-2 pr-4 text-left`,children:`Bezeichnung`}),(0,s.jsx)(`th`,{className:`py-2 pr-4 text-left`,children:`Zweck`}),(0,s.jsx)(`th`,{className:`py-2 text-left`,children:`Rechtsgrundlage`})]})}),(0,s.jsx)(`tbody`,{children:l.map(e=>(0,s.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,s.jsx)(`td`,{className:`py-2 pr-4 font-mono text-xs`,children:e.id}),(0,s.jsx)(`td`,{className:`py-2 pr-4 font-medium`,children:e.name}),(0,s.jsx)(`td`,{className:`py-2 pr-4 text-muted-foreground`,children:e.purpose}),(0,s.jsx)(`td`,{className:`py-2 text-xs text-muted-foreground`,children:e.legal})]},e.id))})]})})]}),(0,s.jsx)(`div`,{className:`space-y-8`,children:f.map(e=>(0,s.jsx)(p,{v:e},e.id))}),(0,s.jsxs)(`section`,{children:[(0,s.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Technische und organisatorische Maßnahmen (TOMs)`}),(0,s.jsxs)(`div`,{className:`mt-2 space-y-1 text-sm text-muted-foreground`,children:[(0,s.jsxs)(`p`,{children:[(0,s.jsx)(`strong`,{className:`text-foreground`,children:`Zutrittskontrolle:`}),` Betrieb in Rechenzentren der eingesetzten Anbieter — Supabase Pte. Ltd. (Verarbeitung nach Angaben des Anbieters in der Region EU/Frankfurt) und STRATO GmbH.`]}),(0,s.jsxs)(`p`,{children:[(0,s.jsx)(`strong`,{className:`text-foreground`,children:`Zugangskontrolle:`}),` Magic-Link oder Passwort (min. 10 Zeichen, bcrypt), 2FA optional, Prevent Leaked Passwords aktiv.`]}),(0,s.jsxs)(`p`,{children:[(0,s.jsx)(`strong`,{className:`text-foreground`,children:`Zugriffskontrolle:`}),` Row-Level-Security auf ~40 Tabellen, rollenbasiert (Teacher/Schuladmin/Superuser).`]}),(0,s.jsxs)(`p`,{children:[(0,s.jsx)(`strong`,{className:`text-foreground`,children:`Weitergabekontrolle:`}),` TLS 1.3 enforced, API-Keys in Supabase Vault, niemals client-seitig.`]}),(0,s.jsxs)(`p`,{children:[(0,s.jsx)(`strong`,{className:`text-foreground`,children:`Eingabekontrolle:`}),` Audit-Logs aller KI-Anfragen + Consent-Einwilligungen.`]}),(0,s.jsxs)(`p`,{children:[(0,s.jsx)(`strong`,{className:`text-foreground`,children:`Verfügbarkeitskontrolle:`}),` Tägliche Backups (Supabase Pro, 7 Tage Retention), Monitoring.`]}
1),(0,s.jsxs)(`p`,{children:[(0,s.jsx)(`strong`,{className:`text-foreground`,children:`Trennungskontrolle:`}),` Multi-Tenancy via `,(0,s.jsx)(`code`,{children:`organization_id`}),`; RLS-Isolation zwischen Schulen.`]}),(0,s.jsxs)(`p`,{children:[(0,s.jsx)(`strong`,{className:`text-foreground`,children:`Pseudonymisierung:`}),` Schülerdaten technisch erzwungen pseudonymisiert (Kürzel/Handle).`]}),(0,s.jsxs)(`p`,{children:[(0,s.jsx)(`strong`,{className:`text-foreground`,children:`Verschlüsselung:`}),` DB + Storage at rest, TLS in transit, bcrypt Passwörter.`]})]})]}),(0,s.jsxs)(`section`,{children:[(0,s.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Fortschreibung`}),(0,s.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Dieses Verzeichnis wird aktualisiert bei: neuer Verarbeitung (Feature-Launch), Wechsel eines Subunternehmers, Änderung von Speicherdauern, Änderung der Rechtsgrundlage. Jährliches Review im Q1 des folgenden Jahres. Verantwortlich: Geschäftsführung + Datenschutzbeauftragter (sobald extern benannt).`})]}),(0,s.jsx)(`div`,{className:`flex flex-wrap gap-2 pt-6`,children:(0,s.jsxs)(i,{variant:`outline`,"data-print":!0,onClick:()=>window.print(),children:[(0,s.jsx)(e,{className:`mr-2 h-4 w-4`}),` Als PDF drucken`]})}),(0,s.jsxs)(`p`,{className:`pt-6 text-center text-xs text-muted-foreground`,children:[`Bei Fragen:`,` `,(0,s.jsx)(`a`,{href:`mailto:[email protected]`,className:`text-primary hover:underline`,children:`[email protected]`})]})]})]})}var l=[{id:`V-01`,name:`Lehrer-Account & Auth`,purpose:`Zugang zur Plattform`,legal:`Art. 6 I b (Vertragserfüllung)`,categories:``,subjects:``,data:[],recipients:[],thirdCountry:``,retention:``,toms:``},{id:`V-02`,name:`Schulkonto-Verwaltung`,purpose:`Multi-Tenancy für Schulen`,legal:`Art. 6 I b`,categories:``,subjects:``,data:[],recipients:[],thirdCountry:``,retention:``,toms:``},{id:`V-03`,name:`Unterrichtsplanung (inkl. KI)`,purpose:`Kernfunktion`,legal:`Art. 6 I b`,categories:``,subjects:``,data:[],recipients:[],thirdCountry:``,retention:``,toms:``},{id:`V-04`,name:`Lernstandsverwaltung`,purpose:`Kernfunktion, pseudonymisiert`,legal:`Art. 6 I b / Pseudonymisierung`,categories:``,subjects:``,data:[],recipients:[],thirdCountry:``,retention:``,toms:``},{id:`V-05`,name:`Material-Generierung (KI)`,purpose:`Arbeitsblätter, Differenzierungen`,legal:`Art. 6 I b`,categories:``,subjects:``,data:[],recipients:[],thirdCountry:``,retention:``,toms:``},{id:`V-06`,name:`Dokumenten-Upload`,purpose:`Lehrer-eigene Ablage`,legal:`Art. 6 I b`,categories:``,subjects:``,data:[],recipients:[],thirdCountry:``,retention:``,toms:``},{id:`V-07`,name:`Parent-Link (Token)`,purpose:`Elternzugriff auf pseudonymen Lernstand`,legal:`Art. 6 I f`,categories:``,subjects:``,data:[],recipients:[],thirdCountry:``,retention:``,toms:``},{id:`V-08`,name:`Zahlungsabwicklung`,purpose:`Abonnement-Vertrag`,legal:`Art. 6 I b + c`,categories:``,subjects:``,data:[],recipients:[],thirdCountry:``,retention:``,toms:``},{id:`V-09`,name:`Rechnungsarchivierung`,purpose:`Handelsrechtl. Pflicht`,legal:`§ 147 AO + Art. 6 I c`,categories:``,subjects:``,data:[],recipients:[],thirdCountry:``,retention:``,toms:``},{id:`V-10`,name:`Support & Bug-Reports`,purpose:`Problemlösung`,legal:`Art. 6 I b + f`,categories:``,subjects:``,data:[],recipients:[],thirdCountry:``,retention:``,toms:``},{id:`V-11`,name:`Error-Monitoring (Sentry)`,purpose:`Betriebssicherheit`,legal:`Art. 6 I f`,categories:``,subjects:``,data:[],recipients:[],thirdCountry:``,retention:``,toms:``},{id:`V-12`,name:`Analytics (Google Analytics 4)`,purpose:`Produktverbesserung`,legal:`Art. 6 I a (Einwilligung) / mit Cookie-Consent (opt-in)`,categories:``,subjects:``,data:[],recipients:[],thirdCountry:``,retention:``,toms:``},{id:`V-13`,name:`Einwilligungs-Log`,purpose:`Nachweispflicht Art. 7`,legal:`Art. 6 I c`,categories:``,subjects:``,data:[],recipients:[],thirdCountry:``,retention:``,toms:``},{id:`V-14`,name:`AI-Kosten-Tracking`,purpose:`Fair-Use, Kostenmonitoring`,legal:`Art. 6 I b`,categories:``,subjects:``,data:[],recipients:[],thirdCountry:``,retention:``,toms:``}],u=`Singapur — Supabase Pte. Ltd.; kein Angemessenheitsbeschluss der EU-Kommission, das EU-U.S. Data Privacy Framework gilt für diesen Empfänger nicht. Verarbeitung nach Angaben des Anbieters in der Region EU (Frankfurt); administrativer Zugriff aus einem Drittland ist nicht ausgeschlossen. Die vertragliche Grundlage prüfen und dokumentieren wir derzeit (siehe Datenschutzerklärung, Abschnitt 6).`,d=`USA — Drittland im Sinne des Kapitels V DSGVO; eine Übermittlung dorthin ist nicht ausgeschlossen.`,f=[{id:`V-01`,name:`Lehrer-Account-Registrierung & Auth`,data:`E-Mail, Name (optional), Passwort-Hash (bcrypt), Bundesland, bevorzugte Fäc
1her, temporäre IP, User-Agent`,recipients:`Supabase Pte. Ltd. (Singapur), STRATO GmbH`,thirdCountry:u,retention:`Für Vertragsdauer`,toms:`TLS 1.3, bcrypt, RLS, 2FA optional`},{id:`V-03`,name:`Unterrichtsplanung (inkl. KI-Generierung)`,data:`Planungs-Inhalte, Prompts, KI-Responses, Token-Counts, Kosten-Cent`,recipients:`Anthropic (USA), OpenAI (USA), Google (USA)`,thirdCountry:`${d} Die vertragliche Grundlage prüfen und dokumentieren wir derzeit (siehe Datenschutzerklärung, Abschnitt 6).`,retention:`Vertragsdauer; Account-Löschung cascade`,toms:`API-Keys in Vault, PII-Filter`},{id:`V-04`,name:`Lernstandsverwaltung`,data:`Pseudonym, Lernziel-Referenz, Level 1-5, Notizen (Freitext, KEINE identifizierenden Daten)`,recipients:`Supabase Pte. Ltd. (Singapur)`,thirdCountry:u,retention:`Vertragsdauer`,toms:`Pseudonymisierung technisch erzwungen, RLS`},{id:`V-06`,name:`Dokumenten-Upload`,data:`Dateiname, Kategorie, Tags, Binärdaten, User-ID`,recipients:`Supabase Pte. Ltd. (Singapur) — Storage`,thirdCountry:u,retention:`Vertragsdauer`,toms:`Per-user-prefix Policies, Signed URLs, 50 MB max`},{id:`V-07`,name:`Parent-Link (Token)`,data:`Random-Token (7 Tage TTL), Pseudonym-Referenz, Ersteller-ID`,recipients:`Supabase Pte. Ltd. (Singapur)`,thirdCountry:u,retention:`7 Tage`,toms:`security_definer RPC, nur Pseudonym-Daten sichtbar`},{id:`V-08`,name:`Zahlungsabwicklung`,data:`Name, Adresse, Zahlungs-Token (NIE Kartendaten bei uns), Beträge`,recipients:`Stripe Payments Europe, Limited (Irland)`,thirdCountry:`Soweit der Anbieter Daten innerhalb seiner Unternehmensgruppe in die Vereinigten Staaten weitergibt, richtet sich das für den Teil, in dem er als eigener Verantwortlicher handelt, nach seinen eigenen Datenschutzhinweisen (siehe Datenschutzerklärung, Abschnitt 6).`,retention:`10 Jahre § 147 AO`,toms:`Kartendaten nie in eigener DB`},{id:`V-09`,name:`Rechnungsarchivierung`,data:`Rechnungsnummer, Kunde, Positionen, Beträge, USt-ID`,recipients:`Supabase Pte. Ltd. (Singapur), Finanzamt auf Anforderung, Steuerberater`,thirdCountry:u,retention:`10 Jahre`,toms:`RLS + Audit`},{id:`V-11`,name:`Error-Monitoring (Sentry)`,data:`Stack-Traces, Browser-Kontext, URL, User-ID gehasht — KEIN Email/Username (beforeSend-Filter)`,recipients:`Sentry (USA)`,thirdCountry:d,retention:`30 Tage`,toms:`PII-Filter im SDK, 10% Sampling in Prod`},{id:`V-12`,name:`Analytics (Google Analytics 4)`,data:`Seitenaufrufe, Referrer, Country, Gerätekategorie (IP anonymisiert)`,recipients:`Google Ireland Ltd.`,thirdCountry:d,retention:`14 Monate (GA4 Standard)`,toms:`mit Cookie-Consent (opt-in), anonymisierte IP, kein Retargeting`}];function p({v:e}){return(0,s.jsxs)(`section`,{children:[(0,s.jsxs)(`h3`,{className:`text-base font-semibold`,children:[(0,s.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:e.id}),` — `,e.name]}),(0,s.jsxs)(`div`,{className:`mt-2 grid gap-2 rounded-md border p-4 text-sm sm:grid-cols-2`,children:[(0,s.jsxs)(`div`,{children:[(0,s.jsx)(`div`,{className:`text-xs uppercase tracking-wider text-muted-foreground`,children:`Datenkategorien`}),(0,s.jsx)(`div`,{className:`mt-1`,children:e.data})]}),(0,s.jsxs)(`div`,{children:[(0,s.jsx)(`div`,{className:`text-xs uppercase tracking-wider text-muted-foreground`,children:`Empfänger`}),(0,s.jsx)(`div`,{className:`mt-1`,children:e.recipients})]}),(0,s.jsxs)(`div`,{children:[(0,s.jsx)(`div`,{className:`text-xs uppercase tracking-wider text-muted-foreground`,children:`Drittland`}),(0,s.jsx)(`div`,{className:`mt-1`,children:e.thirdCountry})]}),(0,s.jsxs)(`div`,{children:[(0,s.jsx)(`div`,{className:`text-xs uppercase tracking-wider text-muted-foreground`,children:`Speicherdauer`}),(0,s.jsx)(`div`,{className:`mt-1`,children:e.retention})]}),(0,s.jsxs)(`div`,{className:`sm:col-span-2`,children:[(0,s.jsx)(`div`,{className:`text-xs uppercase tracking-wider text-muted-foreground`,children:`TOMs`}),(0,s.jsx)(`div`,{className:`mt-1`,children:e.toms})]})]})]})}export{c as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.