Compare commits

..
16 Commits
Author SHA1 Message Date
JUSNandClaude Opus 5.5 8cbb165c0a STAND: neue Funktionen live
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 13:50:09 +01:00
JUSNandClaude Opus 5.5 6055cf1f57 Demo: Drucken, 'Fertig, naechste Person' und Hinweis auf die Beratungsstelle
- PC: Knopf 'Drucken oder als PDF' mit eigener Druckansicht (nur die
  Erklaerung, Fachbegriffe aufgeklappt, Datum und Name der Stelle)
- PC: Knopf 'Fertig, naechste Person' (Sprache zurueck auf Deutsch,
  Haekchen und E-Mail leer, Seite ohne ?sprache= neu, oben)
- Handy: 'Noch Fragen zu diesem Brief? Ihre Beratungsstelle {name} hilft
  Ihnen gern weiter.' in 28 Sprachen, auch beim Mitnehmen (Feld e im
  verschluesselten Paket), Name auf 80 Zeichen begrenzt
- Skripte mit ?v= gegen alten Browser-Speicher
- Material: Kurzanleitung, Datenschutz-Blatt, Handzettel, Spickzettel,
  Pitch zum Ueben angepasst; doppelte Saetze im Uebungsblatt bereinigt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 13:47:15 +01:00
JUSNandClaude Opus 5.5 fd75845881 Preise fuer Beratungsstellen: Jahrespaket statt Kleinpakete
- preise-einrichtungen.md: Klein 190 / Standard 290 / Gross 450 EUR im Jahr,
  Pilot-Angebot fuer den 26.11., Restertrag, To-dos vor dem ersten Verkauf
- Spickzettel und Pitch zum Ueben: Antwort '290 EUR im Jahr, Richtpreis'
- outreach-september.md: alte Preistabelle als ueberholt markiert

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 13:16:03 +01:00
JUSNandClaude Opus 5.5 724a8f0912 STAND: neuer Pitch, Spickzettel, Traeger FID
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 12:46:19 +01:00
JUSNandClaude Opus 5.5 9826c62e83 Praesentation MBE: neuer Spickzettel und Pitch zum Ueben
- ablaufplan: 13-Minuten-Ablauf 'Hilfe zur Selbsthilfe', Plan B, Einwaende,
  Hintergrund zum Traeger (FID, Paritaetischer, DSGVO)
- pitch-zum-ueben: voller Wortlaut aus dem Pitch-Workflow, 32 Korrekturen
  aus dem Faktencheck eingearbeitet
- demo.html: Metadaten ohne 'WCAG 2.1 AA, Vorlesen' (noch nicht deployt)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 12:46:03 +01:00
JUSNandClaude Opus 5.5 398d4b300f Handzettel/Datenschutz-Blatt: Saetze aus dem Pitch-Faktencheck korrigiert
- keine Effizienz-Versprechen, 'So denkt man leichter an Frist und Termin'
- 'Ueber Ihren Code zahlen Ihre Ratsuchenden nichts'
- ChatGPT-Vergleich ohne 'Brief vergessen'
- Datenschutz-Blatt: Uebersetzung von KI, keine Sprache muttersprachlich geprueft

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 12:38:08 +01:00
JUSNandClaude Opus 5.5 ec8eb8cbcd STAND: Druckliste (Kurzanleitung beidseitig)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 12:34:02 +01:00
JUSNandClaude Opus 5.5 9b315053c4 Kurzanleitung: aufgeraeumt, vorne Ablauf in 6 Schritten, hinten 'Wenn etwas hakt'
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 12:09:39 +01:00
JUSNandClaude Opus 5.5 ef949716c8 Praesentation MBE: Datenschutz-Blatt, Kurzanleitung, Handzettel nach Pruefung korrigiert
- Datenschutz-Blatt: Einwilligung in der Sprache der Person, Freiwilligkeit
- Kurzanleitung: nur uebers Handy im Test, Frist am Original pruefen,
  Sprache vor dem Klick, 3-Minuten-Warnung, IT-Adressen, ohne www
- Handzettel: nur fuer Mitarbeitende, Test bis 29.11.2026, neue Ueberschrift
- STAND: Entscheidungen (Handzettel intern, Schluesseltausch Fr 30.10.)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 12:06:09 +01:00
JUSNandClaude Opus 5.5 334173fbd3 STAND: Testzeitraum bis 29.11. entschieden
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 11:51:40 +01:00
JUSNandClaude Opus 5.5 5e7d5f7a62 Generalprobe 1 bestanden (Arabisch, echte KI); Code-Werkzeug: 1 Brief
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 11:50:49 +01:00
JUSNandClaude Opus 5.5 5dfccf3fa6 einrichtungs-code: Netzfehler nicht als 'Code gibt es nicht' werten
lies() hat jeden wrangler-Fehler verschluckt. Ein Wackler im Netz
meldete dann 'gibt es nicht'; aufladen/verlaengern haetten Guthaben
bzw. Namen der Einrichtung ueberschrieben. Jetzt gilt nur 404 als
'fehlt', alles andere bricht ab, ohne zu schreiben.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 11:35:32 +01:00
JUSNandClaude Opus 5.5 a5d237eca5 STAND: Sprach-Durchlauf aller 27 Sprachen dokumentiert
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 22:36:54 +02:00
JUSNandClaude Opus 5.5 808d0dbbfe STAND: zweiter Deploy live
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 22:32:04 +02:00
JUSNandClaude Opus 5.5 f5eea8ca66 Praesentation MBE: Datenschutz-Blatt (Traeger), Kurzanleitung Beratungs-PC, Spickzettel, STAND
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 22:30:33 +02:00
JUSNandClaude Opus 5.5 82235dc529 Handy-Bedienung in 27 Sprachen, Kopf im Einrichtungs-Modus, schmale Handys
- ui-texte.js: 74 Bedientexte je Sprache (uebersetzt + lektoriert), t() in
  demo.html; am PC bleibt alles deutsch, am Handy Sprache der Person,
  RTL fuer ar/fa/ur/ps, verbundene Schriften ohne Sperrsatz
- Servermeldungen am Handy nach Code in der Bediensprache
- Seitenkopf "Fuer Sie kostenlos ueber ..." statt "2 Analysen gratis"
- Turnstile passt auf schmale Handys (Abstaende, compact unter 350 px)
- Knopf fuer Mitarbeitende eindeutig: "Zugang dauerhaft auf ein Handy geben"

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 22:30:33 +02:00
17 changed files with 3470 additions and 231 deletions

No files matched your search

+3
View File
@@ -317,6 +317,9 @@ fehlt noch" ist für dich schon ein Erfolg.
Einrichtung kauft vorher ein **Briefkontingent** — jeder Brief ist bezahlt, bevor er Einrichtung kauft vorher ein **Briefkontingent** — jeder Brief ist bezahlt, bevor er
genutzt wird. Mehr Nutzer heißt mehr Einnahmen, nie mehr Verlust. genutzt wird. Mehr Nutzer heißt mehr Einnahmen, nie mehr Verlust.
> ⚠️ **Überholt am 25.10.2026:** Die Pakete unten (20 € / 75 €) sind zu billig. Neue Preise:
> [preise-einrichtungen.md](preise-einrichtungen.md) (Jahrespaket, Standard 290 € für 1.200 Briefe).
| | Preis | pro Brief | | | Preis | pro Brief |
|---|---|---| |---|---|---|
| Deine Kosten (eigene Rechnung ~2,5 ct, mit Puffer für fremde Sprachen) | — | ~5 ct | | Deine Kosten (eigene Rechnung ~2,5 ct, mit Puffer für fremde Sprachen) | — | ~5 ct |
+55 -16
View File
@@ -5,14 +5,14 @@
> >
> Ausführlicher Prüfbericht mit allen 61 Funden: [plan-bis-29-10.md](plan-bis-29-10.md) > Ausführlicher Prüfbericht mit allen 61 Funden: [plan-bis-29-10.md](plan-bis-29-10.md)
**Zuletzt aktualisiert:** Do 22.10.2026, spätabends: **bereit für den Deploy** **Zuletzt aktualisiert:** So 25.10.2026: **Generalprobe 1 bestanden** (Laptop Deutsch + Handy Arabisch, echte KI, keine Fehler). Als Nächstes: Plan für So–Mi und neuer Pitch.
--- ---
## Wo wir stehen (in einem Satz) ## Wo wir stehen (in einem Satz)
Alles ist gebaut, zweimal geprüft und lokal getestet, aber **noch nicht live**. **Live auf behoerdenklar.de** (Gesundheits-Check 10/10 grün). Dein Vorführ-Code: **`VORF-2EDF`**
**Jetzt fehlt nur noch dein „deploy“**, danach kommen die echten Generalproben. (30 Briefe, bis 30.11.; 2 davon in der Generalprobe verbraucht).
--- ---
@@ -71,13 +71,53 @@ Alles ist gebaut, zweimal geprüft und lokal getestet, aber **noch nicht live**.
> ⚠️ **Hinweis für die Generalproben:** Beim Musterbrief zeigt die Ampel **am Sa 24.10. Gelb** („Noch 10 Tage“) und am Mo 26.10. ebenfalls Gelb. Das ist richtig so. **Ab Di 27.10. ist sie rot.** Bildschirmfotos für den Notfall deshalb erst am Mi 28.10. machen. > ⚠️ **Hinweis für die Generalproben:** Beim Musterbrief zeigt die Ampel **am Sa 24.10. Gelb** („Noch 10 Tage“) und am Mo 26.10. ebenfalls Gelb. Das ist richtig so. **Ab Di 27.10. ist sie rot.** Bildschirmfotos für den Notfall deshalb erst am Mi 28.10. machen.
## 2b. Zweiter Deploy (Do 22.10., nachts): live ✅
- ✅ **Bedienung am Handy in 27 Sprachen.** Einwilligung, Knöpfe, Hinweise, Fehlermeldungen, Ergebnis-Überschriften, Ampel, Kalender und Anruf-Hilfe kommen in der Sprache der Person, Arabisch/Farsi/Urdu/Paschtu von rechts nach links. **Am PC bleibt alles deutsch.** Je Sprache übersetzt und von einem Lektor geprüft, maschinell auf Vollständigkeit geprüft (0 Fehler).
- ✅ Cloudflare-Kästchen passt auf schmale Handys. Oben steht „Für Sie kostenlos über …“ statt „2 Analysen gratis“.
- ✅ Knopf für die Beratung umbenannt: „🔑 Zugang dauerhaft auf ein Handy geben (nur für Mitarbeitende)“, damit man ihn nicht mit „Lieber mit dem Handy fotografieren“ verwechselt.
- ✅ **[Datenschutz-Blatt](datenschutz-blatt.pdf)** für die Datenschutzbeauftragte des Trägers (2 Seiten, gegen den Code geprüft).
- ✅ **[Kurzanleitung](kurzanleitung-beratung.pdf)** für Beraterinnen (1 Seite). Der Code wird am Di 27.10. eingetragen.
- ✅ **Webseite veröffentlicht**, Gesundheits-Check 12/12 grün.
- ✅ **Code-Werkzeug repariert (25.10.):** Ein kurzer Netzwerkfehler meldete fälschlich „Code gibt es nicht“; „aufladen“/„verlaengern“ hätten dabei Guthaben oder Namen überschreiben können. Jetzt bricht es ab, ohne etwas zu ändern.
- ✅ **Material korrigiert (So 25.10.)** nach der Prüfung der Vorbereitung (68 Funde, 28 bestätigt):
- **Datenschutz-Blatt:** Einwilligung steht jetzt richtig „in der Sprache der Person“ (vorher fälschlich „nur Deutsch“), dazu „Freiwillig: Wer nicht einwilligt, wird ganz normal beraten“.
- **Kurzanleitung** (danach auf Wunsch aufgeräumt: vorne Ablauf in 6 Schritten + 3 Regeln, hinten „Wenn etwas hakt“, ein Blatt beidseitig): im Test nur übers Handy der Person; Frist immer am Originalbrief prüfen; Sprache *vor* dem Klick wählen (Dari = Farsi); keine Ausweise fotografieren; „etwa eine Minute“; Handy-Bildschirm anlassen; was bei der 3-Minuten-Warnung zu tun ist; Adressen für die IT; „ohne www“.
- **Handzettel:** neue Überschrift „… verstehen ihren Brief, in ihrer eigenen Sprache“; „nur für Mitarbeitende, bitte nicht aushängen“; Test endet am 29.11.2026; „Rät nicht“ statt „Erfindet nichts“; ChatGPT-Vergleich ohne das wackelige Konto-Argument.
- ✅ **Neuer Pitch (So 25.10.)**: Recherche (MBE bundesweit, Träger vor Ort), 3 Entwürfe, bewertet aus Sicht einer Beraterin, einer Träger-Leitung und eines Pitch-Coachs, Faktencheck mit 22 Korrekturen.
- **[Spickzettel](ablaufplan.pdf)** (2 Seiten, zum Mitnehmen): 13-Minuten-Ablauf, Plan B, Einwände, Hintergrund.
- **[Pitch zum Üben](pitch-zum-ueben.pdf)** (voller Wortlaut, nur zu Hause).
- Leitbild **„Hilfe zur Selbsthilfe“**. Nie „Zeit sparen“ oder „effizient“, weil um die MBE gerade eine Kürzungsdebatte läuft.
- **Träger ist die Förderinitiative Donnersberg e.V. (FID):** nicht kirchlich, im Paritätischen, also DSGVO, mit eigener Datenschutzbeauftragung. Kontakt MBE laut FID-Seite: Herr v. Bose, also „Beraterinnen und Berater“ sagen.
- Der Weg zu weiteren Stellen geht über Empfehlungen: FID Alzey → MBE-Stellen des Paritätischen in RLP → Referat Migration in Mainz → Paritätischer Gesamtverband. **Am 29.10. noch nicht ansprechen.**
- Handzettel und Datenschutz-Blatt an den Faktencheck angepasst (keine Effizienz-Versprechen, „über Ihren Code“, keine Sprache muttersprachlich geprüft).
- ✅ **Preis entschieden (So 25.10.):** Auf Nachfrage sagst du **„voraussichtlich 290 € im Jahr für bis zu 1.200 Briefe, Endpreis, Richtpreis, Angebot am 26.11.“**. Die alten Pakete (20 € / 75 €) sind zu billig und gestrichen. Bleibt übrig: ca. 160–260 € im Jahr pro Stelle, vor Steuern (geschätzt, noch nicht gemessen). Alles Weitere, auch das Pilot-Angebot für den 26.11. (190 € für 2027, Preisgarantie bis 2029, kostenlose Brücke bis Ende Dezember): **[preise-einrichtungen.md](../preise-einrichtungen.md)**.
- ✅ **Drei neue Funktionen für die Beratung (So 25.10., live, Gesundheits-Check grün):**
- **🖨️ Drucken oder als PDF** am PC: nur die Erklärung, mit Name der Stelle und Datum, Fachbegriffe aufgeklappt. Auf Arabisch umgeschaltet druckt man die Fassung für die Person.
- **✅ Fertig, nächste Person** am PC: Erklärung weg, Sprache zurück auf Deutsch, Häkchen leer, Seite oben. Der Zugang der Stelle bleibt.
- **🤝 „Noch Fragen zu diesem Brief? Ihre Beratungsstelle … hilft Ihnen gern weiter.“** am Handy unter jeder Erklärung, in 27 Sprachen (übersetzt und gegengelesen). Kommt auch beim „Mitnehmen“ mit. Botschaft für den Pitch: *BehördenKlar schickt die Leute zu Ihnen, nicht weg.*
- Lokal getestet (PC, Druckansicht, Fertig, Handy Arabisch, Mitnehmen). Gegenprüfung: 19 mögliche Probleme untersucht, alle harmlos. Drei trotzdem abgesichert (Firefox-Häkchen, ?sprache= in der Adresse, Namenslänge). Skripte haben jetzt eine Versionsnummer gegen alten Browser-Speicher.
- Material angepasst: Kurzanleitung (Schritt 6), Datenschutz-Blatt, Handzettel, Spickzettel, Übungsblatt.
- ✅ **Webseite:** Metadaten der Demo-Seite ohne „WCAG 2.1 AA, Vorlesen“, live seit So 25.10.
- ✅ **Entscheidungen (So 25.10.):** Handzettel-Code nur für Mitarbeitende. Anthropic-Schlüssel wird **erst am Fr 30.10.** getauscht (kein Risiko vor dem Termin).
- ℹ️ Der Live-Test im automatisierten Browser ging nicht, weil Cloudflare ferngesteuerte Browser blockt. Deshalb ist der echte Test die **Generalprobe morgen mit deinen Geräten**.
- ✅ **Sprach-Durchlauf (lokal, Handy-Größe 375 px):** alle 27 Sprachen nacheinander eingestellt. In jeder Sprache ist **kein deutscher Text mehr übrig**, **nichts ragt über den Rand**, die Schreibrichtung stimmt (Arabisch, Farsi, Urdu und Paschtu von rechts). Tigrinya und Hindi zusätzlich mit Bildschirmfoto angeschaut: Schrift sauber.
- Noch offen: die **echte KI-Erklärung** in den Sprachen (kommt erst mit der Generalprobe) und eine Prüfung durch Muttersprachler für Tigrinya, Somali, Paschtu und Kurdisch (nach dem Termin).
## 3. Was du tun musst ## 3. Was du tun musst
- 👤 **„deploy“ schreiben.** Dann veröffentliche ich zuerst den Worker und danach die Webseite. Ohne das ist nichts davon auf behoerdenklar.de. - ✅ ~~„deploy“ schreiben~~: erledigt, live seit Do 22.10. abends.
- 👤 **Mo 26.10.: MBE anrufen.** Wer ist der Träger (Diakonie, Caritas …)? Gibt es eine eigene AVV-Vorlage? Und bestätigen: Do 29.10., wie viele Leute, gibt es einen Bildschirm? - ✅ **Generalprobe 1** (So 25.10., statt Fr 23.10.) mit Laptop und Handy, Musterbrief:
- 👤 **Entscheiden: Testzeitraum.** „1 Monat“ (deine Wahl) oder ein festes Datum „bis 18.12.“ (mein Vorschlag, damit der Code nicht mitten in der Bestellung abläuft). Wichtig ist das erst beim Anlegen des Codes am Di 27.10. - Durchgang Deutsch: 27 Sekunden, Ergebnis am PC.
- Durchgang **Arabisch** (Laptop Deutsch, Handy Arabisch): **50 Sekunden**, Übersetzung ohne Fehler. Damit ist der zweisprachige Weg zum ersten Mal live mit echter KI getestet.
- Laut dir passt alles: Umschalten Deutsch/Arabisch, Telefon-Sätze deutsch mit arabischer Bedeutung, Fachbegriff bleibt deutsch, Ampel gelb (richtig bis Mo), Kalender, Mitnehmen.
- Merke: **Arabisch muss am Laptop eingestellt sein, bevor** du auf „Lieber mit dem Handy fotografieren“ klickst.
- Für den Spickzettel: „Das dauert etwa eine Minute“ (statt ein bis zwei).
- ✅ ~~Mo 26.10. MBE anrufen~~: Entscheidung vom 22.10.: Träger und AVV klärst du **erst, wenn die MBE Interesse hat**, also im Termin oder danach. Den Satz dafür findest du im Spickzettel.
- ✅ **Testzeitraum entschieden (25.10.):** genau 1 Monat, der Code gilt **bis So 29.11.2026**. Will die MBE weitermachen, verlängere ich ihn mit einem Befehl.
Befehl für Di 27.10.: `node tools/einrichtungs-code.js neu "MBE Donnersberg" MBE --briefe 100 --bis 2026-11-29`
- 👤 **Generalproben mitmachen** (mit deinem Handy und Laptop, siehe unten). - 👤 **Generalproben mitmachen** (mit deinem Handy und Laptop, siehe unten).
- 👤 🔴 **Alten Anthropic-Schlüssel tauschen**, der im Juli im Chat gepostet wurde (console.anthropic.com → API Keys). - 👤 🔴 **Alten Anthropic-Schlüssel tauschen: Fr 30.10.** (nach dem Termin). console.anthropic.com → neuen Schlüssel → selbst `cd proxy && npx wrangler secret put ANTHROPIC_API_KEY` → `npm run pruefung` + echte Probe mit Foto → erst dann alten Schlüssel löschen. Dabei Monatslimit im Konto setzen.
--- ---
@@ -86,11 +126,11 @@ Alles ist gebaut, zweimal geprüft und lokal getestet, aber **noch nicht live**.
| Tag | Was | Wer | | Tag | Was | Wer |
|---|---|---| |---|---|---|
| **Do 22.** | Korrekturen ✅, Gegenprüfung ✅, alles gesichert ✅ | Claude | | **Do 22.** | Korrekturen ✅, Gegenprüfung ✅, alles gesichert ✅ | Claude |
| **Do 22. / Fr 23.** | **Deploy**, sobald du „deploy“ sagst. Danach Vorführ-Code anlegen und `npm run pruefung`. | Claude, nach deinem OK | | **Do 22.** | **Deploy** ✅, Vorführ-Code `VORF-2EDF` ✅, `npm run pruefung` ✅ | Claude |
| **Fr 23. / Sa 24.** | **Generalprobe 1 mit echter KI:** Musterbrief, Arabisch **und** Farsi, mit Stoppuhr, Bildschirmfotos für den Notfall | du und Claude | | **Fr 23. / Sa 24.** | **Generalprobe 1 mit echter KI:** Musterbrief, Arabisch **und** Farsi, mit Stoppuhr, Bildschirmfotos für den Notfall | du und Claude |
| **So 25.** | Fehler aus der Probe beheben. Neues **Datenschutz-Blatt** für den Datenschutzbeauftragten des Trägers. **Kurzanleitung** für Beraterinnen (1 Seite). | Claude | | **So 25.** | Fehler aus der Probe beheben. (Datenschutz-Blatt und Kurzanleitung sind schon fertig ✅) | Claude |
| **Mo 26.** | MBE anrufen. **Generalprobe 2.** Spätester Tag für Code-Änderungen am Worker. | du und Claude | | **Mo 26.** | **Generalprobe 2.** Spätester Tag für Code-Änderungen am Worker. | du und Claude |
| **Di 27.** | **MBE-Code anlegen**, in den Handzettel eintragen, gedruckten QR mit dem Handy testen, alles drucken (Handzettel 5×, Musterbrief 2×, Kurzanleitung 5×, Datenschutz-Blatt 2×). Ab abends **nichts mehr am Code ändern.** | du und Claude | | **Di 27.** | **MBE-Code anlegen**, in den Handzettel eintragen, gedruckten QR mit dem Handy testen, alles drucken (Handzettel 5×, Musterbrief 2×, Kurzanleitung 5× **beidseitig**, Datenschutz-Blatt 2× beidseitig, Spickzettel 1×). Ab abends **nichts mehr am Code ändern.** | du und Claude |
| **Mi 28.** | **Generalprobe 3**, genau wie am Termin. Geräte laden, Checkliste vom Spickzettel. | du | | **Mi 28.** | **Generalprobe 3**, genau wie am Termin. Geräte laden, Checkliste vom Spickzettel. | du |
| **Do 29.** | **Termin.** Ziel: Code übergeben und Auswertungstermin am 26.11. ausmachen. | du | | **Do 29.** | **Termin.** Ziel: Code übergeben und Auswertungstermin am 26.11. ausmachen. | du |
@@ -98,8 +138,8 @@ Alles ist gebaut, zweimal geprüft und lokal getestet, aber **noch nicht live**.
## 5. Wenn noch Zeit ist (vor dem Termin) ## 5. Wenn noch Zeit ist (vor dem Termin)
- ⏳ **Arabische Bedienung** am Handy (Einwilligung, Knöpfe, Hinweise). Bisher ist nur die Erklärung arabisch. Ca. 2–3 Std. - ✅ ~~Arabische Bedienung~~: erledigt, sogar in allen 27 Sprachen.
- ⏳ Den Hinweis „Kostenlos über …“ auch oben im Seitenkopf zeigen (dort steht noch „2 Analysen gratis“). - ✅ ~~„Kostenlos über …“ im Seitenkopf~~: erledigt.
--- ---
@@ -107,11 +147,10 @@ Alles ist gebaut, zweimal geprüft und lokal getestet, aber **noch nicht live**.
- 💤 **AVV-Entwurf**, TOMs und Eintrag für das Verarbeitungsverzeichnis, bevor die MBE echte Briefe hochlädt. - 💤 **AVV-Entwurf**, TOMs und Eintrag für das Verarbeitungsverzeichnis, bevor die MBE echte Briefe hochlädt.
- 💤 **Mehrere Fotos pro Brief** (mehrseitige Briefe). - 💤 **Mehrere Fotos pro Brief** (mehrseitige Briefe).
- 💤 Knopf **„Drucken / als PDF“**.
- 💤 Knopf **„Fertig, nächste Person“** für den Beratungs-PC.
- 💤 Verbindung PC ↔ Handy übersteht ein Neuladen der Seite. - 💤 Verbindung PC ↔ Handy übersteht ein Neuladen der Seite.
- 💤 **Empfehlungsprogramm für Privatleute:** „Empfiehl BehördenKlar weiter, ihr bekommt beide 2 Gratis-Briefe“ (persönlicher Link, ohne Konto). Nicht über den MBE-Code und nicht am 29.10. ansprechen.
- 💤 Wöchentliche Stand-Mail an die MBE, Erinnerung 7 Tage vor Testende. - 💤 Wöchentliche Stand-Mail an die MBE, Erinnerung 7 Tage vor Testende.
- 💤 Angebot und Rechnung (§ 19 UStG) bis zum 26.11. - 💤 Angebot und Rechnung (§ 19 UStG) bis zum 26.11.: echte KI-Kosten messen, Angebots- und Rechnungsvorlage, Bedingungen für Einrichtungen, Steuerberater (25.000-€-Grenze der ganzen GbR). Liste in [preise-einrichtungen.md](../preise-einrichtungen.md).
- 💤 App: Haiku 5.5 statt 4.5 prüfen (laut Preisliste ca. 10× günstiger). - 💤 App: Haiku 5.5 statt 4.5 prüfen (laut Preisliste ca. 10× günstiger).
--- ---
+151 -112
View File
@@ -1,159 +1,198 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- <!--
Ablaufplan / Spickzettel für die Präsentation bei der MBE Kirchheimbolanden Spickzettel für die Präsentation bei der MBE Kirchheimbolanden (Do 29.10.2026).
(Do 29.10.2026). Nur für Justin, nicht zum Dalassen. 2 Seiten A4. Nur für Justin, nicht zum Dalassen. 2 Seiten A4.
PDF: "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --headless=new \ Grundlage: Pitch-Workflow vom 25.10. (3 Entwürfe, 3 Bewertungen, Faktencheck mit 22 Korrekturen).
Den vollen Wortlaut zum Üben enthält pitch-zum-ueben.html.
PDF (im Ordner marketing/praesentation-mbe):
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --headless=new --disable-gpu \
--no-pdf-header-footer --print-to-pdf=ablaufplan.pdf "file://$PWD/ablaufplan.html" --no-pdf-header-footer --print-to-pdf=ablaufplan.pdf "file://$PWD/ablaufplan.html"
--> -->
<html lang="de"> <html lang="de">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Ablaufplan Präsentation MBE</title> <title>Spickzettel Präsentation MBE</title>
<style> <style>
@page { size: A4; margin: 0; } @page { size: A4; margin: 0; }
:root { --papier: #faf7f0; --tinte: #21211d; --grau: #6b675e; --amtsblau: #1d4e89; --rot: #b3372b; --marker: #ffe66b; --gruen: #2e7d4f; } :root { --papier: #faf7f0; --tinte: #21211d; --grau: #6b675e; --amtsblau: #1d4e89; --rot: #b3372b; --marker: #ffe66b; }
* { margin: 0; padding: 0; box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; } * { margin: 0; padding: 0; box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
body { font-family: Georgia, 'Times New Roman', serif; color: var(--tinte); } body { font-family: Georgia, 'Times New Roman', serif; color: var(--tinte); }
.seite { width: 210mm; height: 297mm; padding: 11mm 14mm; background: var(--papier); overflow: hidden; position: relative; page-break-after: always; font-size: 9.3pt; line-height: 1.34; } .seite { width: 210mm; height: 297mm; padding: 8.5mm 13mm; background: var(--papier); overflow: hidden; position: relative;
page-break-after: always; font-size: 8.6pt; line-height: 1.28; }
.seite:last-child { page-break-after: auto; } .seite:last-child { page-break-after: auto; }
.mono { font-family: 'Courier New', monospace; } .kopf { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 0.6mm solid var(--tinte); padding-bottom: 1.8mm; }
.kopf { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 0.6mm solid var(--tinte); padding-bottom: 2mm; } .kopf b { font-size: 12pt; }
.kopf b { font-size: 12.5pt; } .kopf span { font-family: 'Courier New', monospace; font-size: 7.8pt; color: var(--grau); }
.kopf span { font-family: 'Courier New', monospace; font-size: 8pt; color: var(--grau); } h1 { font-size: 16.5pt; line-height: 1.15; margin-top: 2.6mm; }
h1 { font-size: 18pt; line-height: 1.15; margin-top: 3mm; } .markiert { background: linear-gradient(104deg, transparent 2%, var(--marker) 4%, var(--marker) 96%, transparent 98%); padding: 0 1.2mm; }
.markiert { background: linear-gradient(104deg, transparent 2%, var(--marker) 4%, var(--marker) 96%, transparent 98%); padding: 0 1.5mm; } .kern { margin-top: 2mm; font-size: 9.6pt; }
.unter { color: var(--grau); margin-top: 1.5mm; font-size: 9.5pt; } .kern b { color: var(--amtsblau); }
h2 { font-family: 'Courier New', monospace; font-weight: 400; font-size: 8pt; text-transform: uppercase; letter-spacing: .14em; color: var(--grau); h2 { font-family: 'Courier New', monospace; font-weight: 400; font-size: 7.6pt; text-transform: uppercase; letter-spacing: .14em; color: var(--grau);
margin: 5mm 0 2.5mm; display: flex; gap: 3mm; align-items: center; } margin: 2.8mm 0 1.2mm; display: flex; gap: 3mm; align-items: center; }
h2::after { content: ''; flex: 1; border-top: 0.25mm solid rgba(33,33,29,.25); } h2::after { content: ''; flex: 1; border-top: 0.25mm solid rgba(33,33,29,.25); }
.schritt { display: grid; grid-template-columns: 17mm 1fr; gap: 3mm; padding: 1.6mm 0; border-bottom: 0.25mm dotted rgba(33,33,29,.35); }
.zeit { font-family: 'Courier New', monospace; font-weight: 700; color: var(--amtsblau); font-size: 9pt; } .schritt { display: grid; grid-template-columns: 13mm 1fr; gap: 2.5mm; padding: 1mm 0; border-bottom: 0.25mm dotted rgba(33,33,29,.35); }
.schritt h3 { font-size: 10.5pt; margin-bottom: .8mm; } .zeit { font-family: 'Courier New', monospace; font-weight: 700; color: var(--amtsblau); font-size: 8.6pt; padding-top: .3mm; }
.sag { border-left: 0.8mm solid var(--amtsblau); background: #fff; padding: 1mm 2.5mm; margin: 0.8mm 0; font-style: italic; } .schritt h3 { font-size: 9.8pt; margin-bottom: .5mm; }
ol, ul { padding-left: 5mm; } .sag { border-left: 0.8mm solid var(--amtsblau); background: #fff; padding: .5mm 2mm; margin: .45mm 0; font-style: italic; }
li { margin-bottom: .6mm; } .tun { color: #3d3a33; }
.ziel { margin-top: 3mm; border: 0.6mm solid var(--tinte); box-shadow: 1.5mm 1.8mm 0 rgba(33,33,29,.9); background: #fff; padding: 3mm 4mm; } .tun b { font-style: normal; }
.ziel b { color: var(--rot); } .drei { font-weight: 700; font-style: normal; color: var(--amtsblau); }
.zwei { display: grid; grid-template-columns: 1fr 1fr; gap: 5mm; } .kurz { margin-top: 2.2mm; border: 0.5mm solid var(--rot); background: #fff; padding: 1.8mm 3mm; font-size: 8.6pt; }
.kasten { background: #fff; border: 0.3mm solid rgba(33,33,29,.3); padding: 2.5mm 3.5mm; } .kurz b { color: var(--rot); }
.check li { list-style: none; position: relative; padding-left: 5mm; }
.check li::before { content: '☐'; position: absolute; left: 0; color: var(--amtsblau); } .zwei { display: grid; grid-template-columns: 1fr 1fr; gap: 4.5mm; }
.frage { margin-bottom: 2mm; } .kasten { background: #fff; border: 0.3mm solid rgba(33,33,29,.3); padding: 2.2mm 3mm; }
ul { list-style: none; }
li { position: relative; padding-left: 3.6mm; margin-bottom: .7mm; }
li::before { content: '›'; position: absolute; left: 0; color: var(--amtsblau); font-weight: 700; }
.check li::before { content: '☐'; font-weight: 400; }
.frage { margin-bottom: 1.2mm; }
.frage b { display: block; } .frage b { display: block; }
.nicht { border-left: 0.8mm solid var(--rot); background: #fdf1ef; padding: 1.5mm 2.5mm; } .nicht li::before { content: '✗'; color: var(--rot); }
.klein { font-size: 8.3pt; color: var(--grau); } .nicht { border-left: 0.8mm solid var(--rot); background: #fdf1ef; padding: 1.8mm 2.5mm; }
.wissen { border-left: 0.8mm solid var(--amtsblau); background: #fff; padding: 1.8mm 2.5mm; }
.klein { font-size: 8pt; color: var(--grau); }
</style> </style>
</head> </head>
<body> <body>
<!-- ================= Seite 1: Ablauf ================= -->
<div class="seite"> <div class="seite">
<div class="kopf"><b>📬 BehördenKlar · Ablaufplan</b><span>MBE Kirchheimbolanden · Do 29.10.2026 · nur für mich</span></div> <div class="kopf"><b>📬 BehördenKlar · Spickzettel</b><span>MBE Kirchheimbolanden (FID) · Do 29.10.2026 · nur für mich</span></div>
<h1>10–15 Minuten. <span class="markiert">Zeigen, zuhören, Testzugang dalassen.</span></h1> <h1>13 Minuten: <span class="markiert">fragen, zeigen, ehrlich sein, bitten.</span></h1>
<p class="unter">Die Webseite ist die Präsentation. Alles läuft im Browser, ohne App. Die App nur kurz erwähnen.</p> <p class="kern">Leitbild <b>Hilfe zur Selbsthilfe</b>, nie „Zeit sparen“. Ziel: <b>Code übergeben</b> und <b>26.11. mit Uhrzeit</b> im Kalender.</p>
<h2>Ablauf</h2> <h2>Ablauf</h2>
<div class="schritt"><span class="zeit">0–1'</span><div> <div class="schritt"><span class="zeit">0:00</span><div>
<h3>Begrüßung und wer ich bin</h3> <h3>Begrüßung (langsam, Blickkontakt reihum)</h3>
<p class="sag">„Ich bin Justin Klein aus Winnweiler. Meine Mutter ist selbst nach Deutschland gekommen. Briefe vom Amt kenne ich von klein auf, deshalb habe ich BehördenKlar gebaut.“</p> <p class="sag">„Ich bin Justin Klein aus Winnweiler, fast von nebenan. Schwierige Briefe vom Amt kenne ich von klein auf, meine Mutter ist selbst nach Deutschland gekommen. Deshalb habe ich BehördenKlar gebaut. Eine Viertelstunde, passt das? … Sie kennen die Menschen, ich kenne nur die Technik. Heute geht es nicht um einen Vertrag, am Ende habe ich eine Bitte. Darf ich Sie zuerst etwas fragen?“</p>
</div></div> </div></div>
<div class="schritt"><span class="zeit">1–3'</span><div> <div class="schritt"><span class="zeit">1:00</span><div>
<h3>Das Problem aus ihrer Sicht: erst fragen, dann zuhören</h3> <h3>Erst fragen, dann zeigen</h3>
<p class="sag">„Wie oft kommt jemand zu Ihnen, bei dem die Frist schon fast vorbei ist? Oder bei dem der Termin erst mal nur fürs Vorlesen draufgeht?“</p> <p class="sag">„Wenn jemand mit einem Brief zu Ihnen kommt: Was passiert dann als Erstes?“ · „Wie oft sind Termin oder Frist dann schon knapp?“</p>
<p>Kurz zuhören und ihre Antwort aufgreifen. Das ist der Aufhänger für alles Weitere.</p> <p class="tun"><b>Still sein, bis fünf zählen, ihre Wörter mitschreiben.</b> Bleibt es still: „Was war der letzte Brief, der hier lag?“</p>
</div></div> </div></div>
<div class="schritt"><span class="zeit">3–8'</span><div> <div class="schritt"><span class="zeit">2:30</span><div>
<h3>Live-Vorführung mit dem Musterbrief</h3> <h3>Der Gedanke dahinter, Musterbrief Nr. 1 ans Team</h3>
<ol> <p class="sag">„Der Brief ist nicht erledigt, wenn die Person aus Ihrer Tür geht. Bei Ihnen heißt das Hilfe zur Selbsthilfe, oder? Genau da soll BehördenKlar helfen. … Ein erfundener Brief einer Ausländerbehörde. Sie haben das Original, am Ende schauen Sie bitte, ob alles stimmt.“</p>
<li>Laptop: <b>behoerdenklar.de/demo</b> ist schon offen, Sprache <b>Arabisch</b> gewählt, Vorführ-Code eingelöst.</li>
<li>„Lieber mit dem Handy fotografieren“ erst jetzt antippen (QR gilt 15 Min.), mit dem Handy scannen. Am Handy: Häkchen, „Brief auswählen“, Foto, „Foto verwenden“.</li>
<li>Ausgedruckten Musterbrief fotografieren. <i>„Das dauert ein bis zwei Minuten.“</i> In der Wartezeit den Datenschutz-Teil erzählen.</li>
<li>Laptop zeigt die Erklärung <b>auf Deutsch</b>, das Handy <b>auf Arabisch</b>. Kurz umschalten.</li>
<li>Zeigen: <b>rote Ampel</b> (Termin nächste Woche), <b>„In meinen Kalender“</b>, <b>Anruf-Hilfe</b> mit Aktenzeichen, Fachbegriff „Fiktionsbescheinigung“ bleibt deutsch.</li>
<li>„Ergebnis aufs Handy mitnehmen“: eine Beraterin mit <b>ihrem</b> Handy scannen lassen. Den Kalender-Eintrag am Handy zeigen, nicht am Laptop.</li>
</ol>
<p class="sag">„Alles, was Sie sehen, geht ohne App, im Browser, auf jedem Handy, ohne Konto. Eine App kommt später dazu, zum Beispiel für Erinnerungen.“</p>
</div></div> </div></div>
<div class="schritt"><span class="zeit">8–9'</span><div> <div class="schritt"><span class="zeit">3:30</span><div>
<h3>Datenschutz ehrlich (bevor sie fragen)</h3> <h3>Vorführung: „Herr Beispiel“ fotografiert mit seinem Handy</h3>
<p class="sag">„Kein Konto, wir speichern keine Briefe. Zwischen PC und Handy ist alles Ende-zu-Ende verschlüsselt. Die Erklärung macht ein KI-Dienst in den USA, Anthropic. Der löscht in der Regel nach 30 Tagen und trainiert nicht damit. Das steht vor dem Hochladen auf der Seite, und die Person willigt für jeden Brief einzeln ein.“</p> <p class="tun">Erst jetzt <b>„📱 Lieber mit dem Handy fotografieren“</b> → scannen → <b>„✅ Handy verbunden“</b> zeigen → Handy hochhalten → Häkchen → Cloudflare abwarten → <b>📷</b> → <b>„Foto aufnehmen“</b> → Musterbrief Nr. 2 → „Foto verwenden“.</p>
<p class="sag">„Das ist das Handy von Herrn Beispiel. Keine App, kein Konto. Die Seite ist auf Arabisch, auch die Einwilligung. Sie können das nicht lesen. Er kann es. Darum geht es.“</p>
</div></div> </div></div>
<div class="schritt"><span class="zeit">9–11'</span><div> <div class="schritt"><span class="zeit">4:30</span><div>
<h3>Das Angebot: Handzettel übergeben</h3> <h3>Wartezeit, etwa eine Minute: kurz Datenschutz, dann fragen</h3>
<p class="sag">„Ich möchte Ihnen einen Testzugang dalassen: einen Monat, bis zu 100 Briefe, kostenlos. Ihre Ratsuchenden zahlen nichts. Der Code steht hier auf dem Zettel.“</p> <p class="sag">„Das Foto geht verschlüsselt an unseren Server bei Cloudflare, dann an den KI-Dienst Anthropic, beide USA. Bei uns nicht gespeichert, Anthropic löscht in der Regel nach 30 Tagen, kein Training. Wer nicht einwilligt, wird ganz normal beraten. … Wenn Herr Beispiel mit diesem Brief zu Ihnen käme: Was müsste er unbedingt verstehen?“ <span class="tun">→ Liste mitschreiben.</span></p>
<p><b>Gleich den Auswertungstermin ausmachen:</b> „Darf ich in vier Wochen wiederkommen, am <b>Do 26.11.</b>, und hören, was es gebracht hat?“</p>
</div></div> </div></div>
<div class="schritt" style="border-bottom: none;"><span class="zeit">11–15'</span><div> <div class="schritt"><span class="zeit">5:30</span><div>
<h3>Zuhören (das ist der eigentliche Gewinn)</h3> <h3>Erstens: Er versteht seinen Brief</h3>
<ol> <p class="sag"><span class="tun">Laptop zum Team, ihre Liste abhaken, nur vorlesen, was dasteht, Fachbegriff aufklappen.</span> „Sie haben das Original. Stimmt das so? Stimmen Termin und Frist?“ · Bei Fehler: <b>„Gut, dass er damit bei Ihnen sitzt.“</b></p>
<li>Welche Briefe bringen Ihre Ratsuchenden am häufigsten mit?</li>
<li>Was fehlt in dem, was ich gezeigt habe?</li>
<li>Würden Sie es empfehlen? Wenn nicht, warum nicht?</li>
<li>Darf ich Ihre Stelle auf meiner Seite nennen, und würden Sie auf BehördenKlar verlinken?</li>
</ol>
</div></div> </div></div>
<div class="ziel"> <div class="schritt"><span class="zeit">7:00</span><div>
<b>Ziel des Termins:</b> Code übergeben <i>und</i> Termin am 26.11. im Kalender. Ein ehrliches „das fehlt noch“ ist auch ein Erfolg. Mitschreiben! <h3>Zweitens, drittens: Termin, Frist, ein nötiger Anruf. Dann das, was nur sie können</h3>
</div> <p class="tun">Ampel (rot). Am Handy <b>📅</b> → Vorschau → abbrechen (nie am PC). Am PC oben <b>„العربية“</b>: bei „Anrufen“ Satz deutsch, darunter arabisch. Zurück auf <b>„Deutsch“</b>.</p>
<p class="sag">„Mit wenigen Tipps in seinem Kalender, mit Erinnerung. Der Eintrag liegt nur bei ihm. … Muss er absagen: oben deutsch, so sagt er es. Darunter arabisch, damit er weiß, was er sagt.“</p>
<p class="sag"><span class="drei">„Er versteht seinen Brief. Er denkt leichter an Termin und Frist. Er ist vorbereitet, wenn ein Anruf nötig ist.</span> Das kann keine KI. Das sind Sie.“ <span class="tun">→ Handy hoch, unten zeigen:</span> „Bei jeder Erklärung: Noch Fragen? <b>Ihre Beratungsstelle MBE Donnersberg hilft weiter.</b> Es schickt die Leute zu Ihnen, nicht weg.“</p>
</div></div>
<div class="schritt"><span class="zeit">8:30</span><div>
<h3>Ehrlich: was es nicht kann (vor der Bitte!)</h3>
<p class="sag">„Lieber jetzt als in vier Wochen: Eine KI kann sich irren, Fristen am Original prüfen. Keine Rechtsberatung. Ein Foto pro Erklärung. Kein Vorlesen, für Menschen, die nicht lesen können, nur eine halbe Hilfe. Die Erklärung bleibt nur, solange die Seite offen ist (am PC aber druckbar). Keine Sprache ist von Muttersprachlern geprüft.“</p>
</div></div>
<div class="schritt"><span class="zeit">9:30</span><div>
<h3>Die zwei Bitten. Erst jetzt die Mappe öffnen</h3>
<p class="sag">„Erstens ein Testzugang: ein Monat bis 29. November, bis zu 100 Briefe, kostenlos. Über Ihren Code zahlen auch Ihre Ratsuchenden nichts. Nur für Mitarbeitende, im Test nur übers Handy der Person. … Sie gehören zur Förderinitiative Donnersberg, richtig? Wer macht dort den Datenschutz?“ <span class="tun">→ Namen notieren.</span></p>
<p class="sag">„Zweitens: Darf ich am Donnerstag, 26. November, wiederkommen? Welche Uhrzeit passt Ihnen?“ <span class="tun">→ <b>schweigen</b>, eintragen, laut wiederholen.</span></p>
</div></div>
<div class="schritt"><span class="zeit">11:00</span><div>
<h3>Zuhören, dann Abschluss und aufstehen</h3>
<p class="sag">„Was müsste bis zum 26. November passiert sein, damit Sie sagen, das hat Ihren Ratsuchenden geholfen?“ · „Und was müsste passieren, damit Sie sagen: Das lassen wir lieber?“ <span class="tun">→ mitschreiben, nichts verteidigen.</span></p>
<p class="sag">„Code bis 29. November, das Blatt schicke ich [Name] heute als PDF, am 26. um [Uhrzeit] komme ich wieder. Rufen Sie an, auch bei Kleinigkeiten. Auch wenn es heißt: So brauchen wir das nicht. Das hilft mir genauso.“</p>
</div></div>
</div> </div>
<!-- ================= Seite 2: Vorbereitung, Plan B, Einwände ================= -->
<div class="seite"> <div class="seite">
<div class="kopf"><b>📬 BehördenKlar · Vorbereitung &amp; Fragen</b><span>Seite 2</span></div> <div class="kopf"><b>📬 BehördenKlar · Spickzettel</b><span>Vorbereitung · Plan B · Einwände · Seite 2</span></div>
<div class="zwei" style="margin-top: 4mm;"> <div class="kurz" style="margin-top: 3mm;"><b>Nur 10 Minuten?</b> Keine Studien-Zahl, Grenzen in drei Sätzen (KI kann sich irren, keine Rechtsberatung, kein Vorlesen), nur eine Zuhör-Frage. <b>Die Bitte (Code + 26.11.) nie streichen.</b> &nbsp;·&nbsp; <b>Zögert das Team:</b> „Sie müssen heute nichts entscheiden. Darf ich mich Anfang nächster Woche melden?“</div>
<div class="zwei" style="margin-top: 3mm;">
<div> <div>
<h2 style="margin-top: 0;">Am Vorabend</h2> <h2 style="margin-top: 0;">Vorher</h2>
<ul class="check kasten"> <div class="kasten check">
<li><b>Deploy erledigt</b>, <span class="mono">npm run pruefung</span> alles grün</li> <ul>
<li>MBE-Code angelegt, im Handzettel eingetragen</li> <li><b>Mi:</b> Generalprobe 3, Bildschirmfotos und Video mit roter Ampel offline. VORF-2EDF: mindestens 10 Briefe übrig</li>
<li>Handzettel <b>5×</b> gedruckt, Musterbrief <b>2×</b> gedruckt</li> <li>Mappe: 2× Musterbrief, 5× Handzettel, 5× Kurzanleitung (beide mit MBE-Code), 2× Datenschutz-Blatt, Block und Stift</li>
<li>Einmal komplett durchgespielt, mit Stoppuhr (Ampel erst ab Di 27.10. rot, vorher Gelb ist richtig)</li> <li><b>MBE-Code nie am eigenen Laptop einlösen</b>, vorgeführt wird nur mit VORF-2EDF</li>
<li>Screenshots und kurzes Video als Notfall offline auf dem Laptop</li> <li>Im Auto: <b>Hotspot an</b>, Seite offen, „🤝 Kostenlos über MBE Donnersberg (Vorführung)“ sichtbar, <b>Arabisch eingestellt</b>. Noch nicht auf „Lieber mit dem Handy“ klicken (QR gilt 15 Min.)</li>
<li>Laptop und Handy laden, Ladekabel einpacken</li> <li>Laptop: <span style="font-family: 'Courier New', monospace;">caffeinate -d</span>, Ton aus, Ladekabel, Zoom 125 %. Handy: Akku voll, Sperre „Nie“, lautlos</li>
</ul> <li>Drinnen: Namen mit Sitzskizze notieren, Bildschirm zum Team, eigenes Internet</li>
<h2>Kurz vor dem Termin</h2> <li>Nach dem Klick prüfen: Häkchen „Hier am Bildschirm immer auf Deutsch …“ ist gesetzt</li>
<ul class="check kasten"> </ul>
<li><b>Eigener Handy-Hotspot</b> an (nicht ihr WLAN)</li> </div>
<li>Demo-Seite offen, <b>Vorführ-Code</b> eingelöst, Arabisch gewählt</li>
<li>Handy: Automatische Sperre „Nie“, Stromsparmodus aus, Ton aus</li> <h2>Plan B</h2>
<li>Mac wach halten: im Terminal <span class="mono">caffeinate -d</span></li>
<li>Oben steht „Kostenlos über MBE Donnersberg (Vorführung)“</li>
<li>Notizblock und Stift</li>
</ul>
<h2>Notfallplan</h2>
<div class="kasten"> <div class="kasten">
<p><b>Kein Internet:</b> Hotspot. Wenn das auch nicht geht: Screenshots zeigen, <i>„Ich lasse Ihnen den Link da, probieren Sie es selbst.“</i></p> <ul>
<p style="margin-top: 1.5mm;"><b>Die KI braucht lange:</b> ruhig weitererzählen (Datenschutz-Teil vorziehen).</p> <li><b>Kein Internet:</b> Hotspot neu verbinden, sonst Bildschirmfotos. „Den Zugang lasse ich Ihnen da, dann sehen Sie es im Test selbst.“</li>
<p style="margin-top: 1.5mm;"><b>Fehlermeldung:</b> nicht nervös werden, zweiten Musterbrief nehmen oder Screenshots.</p> <li><b>Dauert lange:</b> nach 2 Min. aufs Handy schauen. Rechnet es noch: weiterreden, <b>nichts neu laden</b>. Warnung am PC kommt erst nach 3 Min. Steht die Erklärung am Handy: Knopf mit 🔁. Sonst am PC „Abbrechen“ und neu.</li>
<p style="margin-top: 1.5mm;"><b>Laptop hängt, Handy hat das Ergebnis:</b> einfach das Handy zeigen, dort auf Deutsch umschalten.</p> <li><b>Laptop hängt, Handy hat das Ergebnis:</b> das Handy zeigen, dort auf Deutsch umschalten.</li>
<p style="margin-top: 1.5mm;"><b>„Deutsch | Arabisch“ fehlt:</b> „Hier hat die Übersetzung gehakt“, Screenshots zeigen.</p> <li><b>Kein Umschalter „Deutsch | العربية“:</b> „Hier hat die Übersetzung gehakt“, Bildschirmfotos.</li>
<li><b>Fehlermeldung:</b> ruhig bleiben. „Das kann im Alltag auch passieren, gut, dass Sie es sehen.“ Zweiter Versuch.</li>
<li class="klein">Jede fertige Erklärung kostet einen Vorführ-Brief, Fehlversuche ohne Ergebnis nicht.</li>
</ul>
</div>
<h2>Gut zu wissen</h2>
<div class="wissen">
<ul>
<li><b>Träger: Förderinitiative Donnersberg e.V. (FID)</b>, nicht kirchlich, im Paritätischen, also DSGVO. Eigene Datenschutzbeauftragung.</li>
<li>Kontakt MBE laut FID-Seite: <b>Herr v. Bose</b>. Also „Beraterinnen und Berater“, „Kolleginnen und Kollegen“.</li>
<li>Heißt heute „Migrationsberatung für erwachsene <b>Zugewanderte</b>“.</li>
<li>FID macht Alphabetisierungskurse: „kein Vorlesen“ ehrlich sagen.</li>
<li>Ausländerbehörde: bittet, nicht nach dem Stand zu fragen. Termine vereinbart und sagt man per Telefon oder Mail.</li>
<li><b>Nur auf Nachfrage:</b> MBE gibt es an rund 900 Stellen. „Sie wären die erste Stelle mit eigenem Testzugang.“</li>
</ul>
</div>
<h2>Nicht sagen</h2>
<div class="nicht">
<ul>
<li>„Zeit sparen“, „effizient“, „ersetzt“, „verpasst keinen Termin“, „erfindet nie“</li>
<li>„Zahlen nie etwas“ (immer „über Ihren Code“), „DSGVO-konform“, „Server in der EU“</li>
<li>Ein Datum für App oder neue Funktionen. „Ganz Deutschland“, Verbände, Kürzungen</li>
</ul>
</div> </div>
</div> </div>
<div> <div>
<h2 style="margin-top: 0;">Typische Fragen</h2> <h2 style="margin-top: 0;">Einwände (kurz, ehrlich)</h2>
<div class="frage"><b>„Was passiert mit den Daten?“</b>Kein Konto. Wir speichern den Brief nicht. Den Brief muss die KI lesen (Anthropic, USA): in der Regel nach 30 Tagen gelöscht, kein Training. Die Übergabe PC ↔ Handy ist zusätzlich Ende-zu-Ende verschlüsselt. Einen AVV bekommt Ihr Datenschutzbeauftragter von mir.</div> <div class="kasten">
<div class="frage"><b>„Ist das nicht einfach ChatGPT?“</b>ChatGPT braucht ein Konto und eine gute Frage, und danach ist der Brief vergessen. Hier reicht ein Foto: Frist in den Kalender, Spickzettel fürs Telefon. Wir erfinden keine Nummern oder Daten.</div> <div class="frage"><b>„Wohin gehen die Daten? USA?“</b>Ja: Server bei Cloudflare, KI von Anthropic, beide USA, mit EU-Standardvertragsklauseln. Bei uns nicht gespeichert, Anthropic in der Regel 30 Tage, kein Training. Einwilligung pro Brief, in ihrer Sprache. Wer nicht will, wird normal beraten.</div>
<div class="frage"><b>„Ersetzt das unsere Beratung?“</b>Nein. Jede Erklärung verweist bei wichtigen Entscheidungen auf eine Beratungsstelle. Die einfachen Fälle werden abgefangen, die schweren kommen vorbereitet.</div> <div class="frage"><b>„Das muss unsere Datenschutzstelle freigeben.“</b>Ja, bitte fragen, das Blatt ist für sie. AVV-Entwurf und TOMs kommen vor dem ersten Brief am Dienst-PC. Rollen und Folgenabschätzung kläre ich mit ihr, sie entscheidet.</div>
<div class="frage"><b>„Was kostet das nach dem Test?“</b>Ein festes Briefkontingent für die Einrichtung, Ratsuchende zahlen nichts. <span class="klein">Nur auf Nachfrage Zahlen: 100 Briefe 20 €, 500 Briefe 75 €. Untergrenze 10 ct pro Brief. Keine USt. (§ 19).</span></div> <div class="frage"><b>„Ist das nicht einfach ChatGPT?“</b>Auch eine KI, Claude von Anthropic. Dort bekommt man einen Text. Hier Kalender-Eintrag und Anruf-Hilfe, deutsche Fachbegriffe, und Sie lesen am PC Deutsch.</div>
<div class="frage"><b>„Was kostet Sie ein Brief?“</b>Ehrlich: ein paar Cent für die KI, dazu Server, Zahlungsgebühren und Arbeitszeit.</div> <div class="frage"><b>„Ersetzt das unsere Beratung?“</b>Nein. Es erklärt den Brief. Was die Person dann tut, ist Beratung, und die bleibt bei Ihnen.</div>
<div class="frage"><b>„Gibt es eine App?“</b>Sie ist in Arbeit. Alles Gezeigte geht ohne App. <i>Keinen Termin versprechen.</i></div> <div class="frage"><b>„Und wenn die KI sich irrt?“</b>Kann passieren. Feste Regeln: unsicheres Datum bleibt leer, Nummern nur aus dem Brief. Fristen am Original prüfen. Haftungsfragen beantworte ich der Leitung schriftlich.</div>
<div class="frage"><b>„Mehrseitige Briefe?“</b>Zurzeit ein Foto pro Erklärung: die Seite mit Betreff und Frist. Ein Scanner-PDF am PC geht mehrseitig.</div> <div class="frage"><b>„Was kostet das danach?“</b>„Über Ihren Code zahlen die Ratsuchenden auch danach nichts. Für eine Stelle Ihrer Größe voraussichtlich <b style="display:inline">290 € im Jahr für bis zu 1.200 Briefe</b>. Endpreis, eine Rechnung im Januar, endet am 31.12. von selbst. Ein Richtpreis, das Angebot bringe ich am 26.11. mit.“ <span class="klein">Nicht: Pilotpreis 190 €, „24 € im Monat“, Cent pro Brief.</span></div>
<div class="frage"><b>„Die Bedienung ist ja Deutsch?“</b>Die Erklärung kommt in der Muttersprache. Die Knöpfe übersetze ich als Nächstes, gern mit Ihrer Hilfe beim Gegenlesen.</div> <div class="frage"><b>„Und nach dem 26.11.?“</b>Sagen Sie Ja, läuft der Code am selben Tag kostenlos bis Ende Dezember weiter. Keine Lücke.</div>
<div class="frage"><b>„Kann man das ausdrucken?“</b>Kommt als Nächstes. Bis dahin: Kalender-Eintrag und „Mitnehmen“ aufs Handy.</div> <div class="frage"><b>„Wie viel Arbeit macht das?“</b>Einmal ein Lesezeichen, dann Sprache, QR-Code, warten. Die Auswertung mache ich. Kostet es Zeit statt zu helfen, ist das auch ein Ergebnis.</div>
<div class="frage"><b>„Wer steckt dahinter?“</b>Ich, mit der Webklar GbR in Winnweiler. Aus dem Donnersbergkreis.</div> <div class="frage"><b>„Rechtlich geprüft? Die Leitung muss entscheiden.“</b>Von einem Anwalt noch nicht, ehrlich. Der Test kostet nichts, kein Vertrag. Ich komme gern zur Leitung.</div>
<div class="frage"><b>„Kurdisch? Dari?“</b>Kurdisch ist Kurmandschi, Sorani noch nicht. Dari: Farsi wählen. Was fehlt Ihnen?</div>
<h2>Nicht sagen</h2> <div class="frage"><b>„Viele können kaum lesen.“</b>Echte Grenze, kein Vorlesen. Ampel und Kalender helfen trotzdem, und Sie sehen am PC Deutsch.</div>
<div class="nicht"> <div class="frage"><b>„Mehrere Seiten? Drucken?“</b>Ein Foto pro Erklärung, die Seite mit Betreff und Frist. Mehrere Seiten nur als PDF. Drucken: am PC 🖨️, auch in der Sprache der Person.</div>
<p>✗ „Alles bleibt auf dem Handy“: Das stimmt für die Webseite nicht.</p> <div class="frage"><b>„Sehen Sie, wer was hochlädt?“</b>Nein, nur Zahlen pro Woche und Sprache. Dazu Protokolle ohne Briefinhalt, höchstens 7 Tage.</div>
<p>✗ „Unbegrenzt“: immer eine feste Briefzahl.</p> <div class="frage"><b>„Wer steckt dahinter?“</b>Webklar GbR, Kenso Grimm und ich. Im Test bindet Sie nichts.</div>
<p>✗ Ein Datum für die App oder neue Funktionen versprechen.</p> <div class="frage"><b>„Wir haben doch mbeon.“</b>Das ergänzt sich: mbeon ist der Weg zu Ihnen, BehördenKlar erklärt den Brief auf dem Tisch.</div>
</div> </div>
</div> </div>
</div> </div>
Binary file not shown.
@@ -0,0 +1,359 @@
<!DOCTYPE html>
<!--
Datenschutz-Blatt für die Datenschutzbeauftragte des Trägers (2 Seiten A4).
Beschreibt die WEBSEITE behoerdenklar.de/demo inkl. Einrichtungs-Code und
Übergabe PC <-> Handy. Ersetzt für die Webseite das alte Factsheet vom Juli
(rechtliches/datenschutz-factsheet.md beschreibt die App).
Quellen: webseite/datenschutz.html (Stand 22.10.2026), proxy/src/index.ts,
webseite/demo.html, webseite/uebergabe.js, proxy/wrangler.toml.
PDF: "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --headless=new \
--disable-gpu --allow-file-access-from-files --no-pdf-header-footer \
--print-to-pdf=datenschutz-blatt.pdf "file://$PWD/datenschutz-blatt.html"
-->
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Datenschutz auf einen Blick</title>
<script src="../../webseite/qrcode.js"></script>
<style>
@page { size: A4; margin: 0; }
:root {
--papier: #faf7f0; --tinte: #21211d; --grau: #6b675e; --text: #3a3833;
--amtsblau: #1d4e89; --stempelrot: #b3372b; --marker: #ffe66b; --gruen: #2e7d4f;
}
* { margin: 0; padding: 0; box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
body { font-family: Georgia, 'Times New Roman', serif; color: var(--tinte); background: #fff; }
.seite {
width: 210mm; height: 297mm; overflow: hidden; position: relative;
padding: 11mm 14mm 0;
background: repeating-linear-gradient(0deg, transparent 0 6.5mm, rgba(33,33,29,0.03) 6.5mm 6.7mm), var(--papier);
font-size: 8.8pt; line-height: 1.36;
page-break-after: always; break-after: page;
}
.seite:last-child { page-break-after: auto; break-after: auto; }
.mono { font-family: 'Courier New', ui-monospace, monospace; }
.briefkopf { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 2mm; border-bottom: 0.6mm solid var(--tinte); }
.absender { font-weight: 700; font-size: 12.5pt; }
.absender small { font-weight: 400; font-size: 8pt; opacity: .6; letter-spacing: .04em; }
.az { color: var(--grau); font-size: 8pt; }
.betreff { margin-top: 4mm; font-size: 8pt; color: var(--grau); text-transform: uppercase; letter-spacing: .14em; }
h1 { font-size: 22pt; line-height: 1.14; margin-top: 1mm; letter-spacing: -0.01em; }
.markiert { background: linear-gradient(104deg, transparent 2%, var(--marker) 4%, var(--marker) 96%, transparent 98%); padding: 0 1.5mm; }
.anrede { margin-top: 2mm; font-size: 9.6pt; line-height: 1.4; }
.anrede i { color: var(--grau); }
h2 { font-size: 8pt; text-transform: uppercase; letter-spacing: .14em; color: var(--grau); font-weight: 400;
margin: 3.8mm 0 2mm; display: flex; align-items: center; gap: 2.5mm; }
h2 .nr { font-family: 'Courier New', monospace; font-weight: 700; color: var(--amtsblau); letter-spacing: 0; font-size: 9pt; }
h2::after { content: ''; flex: 1; border-top: 0.25mm solid rgba(33,33,29,.25); }
.zwei { display: grid; grid-template-columns: 1fr 1fr; gap: 5mm; }
.eins-box { display: grid; grid-template-columns: 1fr 81mm; gap: 5mm; align-items: start; }
.kasten { background: #fff; border: 0.5mm solid var(--tinte); padding: 3.4mm 3.6mm 2.4mm; position: relative; }
.kasten .label { position: absolute; top: -2.6mm; left: 3.5mm; font-family: 'Courier New', monospace; font-size: 7pt;
text-transform: uppercase; letter-spacing: .1em; background: var(--tinte); color: var(--papier); padding: .4mm 2mm; }
ul.haken { list-style: none; font-size: 8.5pt; line-height: 1.32; }
ul.haken li { padding-left: 4mm; position: relative; margin-bottom: .9mm; }
ul.haken li::before { content: '✓'; position: absolute; left: 0; color: var(--gruen); font-weight: 700; }
ul.haken li.ehrlich::before { content: '!'; color: var(--stempelrot); left: .8mm; }
/* Datenfluss */
.schritte { display: grid; grid-template-columns: 1fr 1fr; gap: 2mm 5mm; }
.schritt { display: grid; grid-template-columns: 6mm 1fr; gap: 1.2mm; font-size: 8.5pt; line-height: 1.32; color: var(--text); }
.schritt .n { font-family: 'Courier New', monospace; font-weight: 700; font-size: 10.5pt; color: var(--amtsblau);
border: 0.35mm solid var(--amtsblau); background: #fff; width: 5.4mm; height: 5.4mm; display: flex; align-items: center; justify-content: center; }
.schritt b { color: var(--tinte); }
.wege { display: grid; grid-template-columns: 1fr 1fr; gap: 5mm; margin-top: 2.6mm; }
.weg { border: 0.3mm solid rgba(33,33,29,.35); background: #fff; padding: 1.5mm 2.4mm; font-size: 8pt; line-height: 1.3; color: var(--text); }
.weg b { color: var(--tinte); }
/* Tabellen */
table { width: 100%; border-collapse: collapse; font-size: 8pt; line-height: 1.24; }
th { font-family: 'Courier New', monospace; font-weight: 400; font-size: 7pt; text-transform: uppercase; letter-spacing: .1em;
color: var(--grau); text-align: left; padding: 0 2mm .8mm 0; border-bottom: 0.4mm solid var(--tinte); }
td { padding: .8mm 2mm .8mm 0; vertical-align: top; border-bottom: 0.25mm dotted rgba(33,33,29,.35); color: var(--text); }
td:first-child { color: var(--tinte); font-weight: 700; }
td.dauer { color: var(--tinte); }
td.dauer b { color: var(--amtsblau); }
tr.gruppe td { font-family: 'Courier New', monospace; font-weight: 400; font-size: 7pt; text-transform: uppercase; letter-spacing: .1em;
color: var(--papier); background: var(--tinte); padding: .4mm 2mm; border-bottom: none; }
tr.gruppe.hell td { background: rgba(33,33,29,.12); color: var(--grau); }
tr.nebensache td { color: var(--grau); }
tr.nebensache td:first-child { color: #4d4a43; }
.tabfuss { font-size: 7.8pt; color: var(--grau); margin-top: 1.4mm; line-height: 1.32; }
.tabfuss b { color: var(--tinte); }
/* Rollen */
.fall h3 { font-size: 9.8pt; line-height: 1.22; margin-bottom: .9mm; }
.fall p { font-size: 8.4pt; line-height: 1.32; color: var(--text); margin-bottom: 1mm; }
.fall p:last-child { margin-bottom: 0; }
.fall .folge { color: var(--tinte); border-left: 0.8mm solid var(--amtsblau); padding-left: 2.2mm; }
.fall .folge b { color: var(--amtsblau); }
.absprache { margin-top: 3mm; font-size: 8.4pt; line-height: 1.34; color: var(--text); }
.absprache .gross { font-weight: 700; font-size: 10.4pt; color: var(--tinte); display: inline-block; margin-bottom: .8mm; }
/* Einwilligung */
.zitat { background: #fff; border-left: 1mm solid var(--amtsblau); padding: 2mm 3mm; font-style: italic; font-size: 8.5pt; line-height: 1.36; }
.zitat .quelle { display: block; font-style: normal; font-family: 'Courier New', monospace; font-size: 6.8pt; color: var(--grau); margin-top: .8mm; letter-spacing: .04em; }
ul.punkte { list-style: none; font-size: 8.4pt; line-height: 1.32; color: var(--text); }
ul.punkte li { padding-left: 3.5mm; position: relative; margin-bottom: .9mm; }
ul.punkte li::before { content: '›'; position: absolute; left: 0; color: var(--amtsblau); font-weight: 700; }
ul.punkte b { color: var(--tinte); }
/* Grenzen */
.grenzen { display: grid; grid-template-columns: 1fr 1fr; gap: 1.3mm 5mm; list-style: none; font-size: 8.4pt; line-height: 1.32; color: var(--text); }
.grenzen li { padding-left: 4mm; position: relative; }
.grenzen li::before { content: '!'; position: absolute; left: .8mm; color: var(--stempelrot); font-weight: 700; }
.grenzen b { color: var(--tinte); }
/* Kontakt (Seite 2 unten, ersetzt dort die Fußzeile) */
.kontakt-unten { position: absolute; left: 14mm; right: 14mm; bottom: 9mm; }
.kontakt-unten h2 { margin-top: 0; }
.kontakt { display: grid; grid-template-columns: 1fr 1fr 19mm; gap: 5mm; align-items: center; border: 0.7mm solid var(--tinte);
box-shadow: 1.6mm 1.8mm 0 rgba(33,33,29,.9); background: #fff; padding: 2.8mm 4mm; }
.kontakt .name { font-size: 11pt; font-weight: 700; line-height: 1.2; }
.kontakt p { font-size: 8.4pt; line-height: 1.36; }
.kontakt .link { font-family: 'Courier New', monospace; color: var(--amtsblau); font-size: 9.5pt; font-weight: 700; }
.kontakt .klein { color: var(--grau); font-size: 7.8pt; }
#qr { width: 19mm; height: 19mm; }
#qr svg { width: 100%; height: 100%; display: block; }
.stempel { display: inline-block; padding: .8mm 2.2mm; border: 0.5mm solid var(--stempelrot); color: var(--stempelrot);
font-family: 'Courier New', monospace; font-weight: 700; font-size: 7pt; letter-spacing: .1em;
text-transform: uppercase; transform: rotate(-3deg); }
.fuss { position: absolute; left: 14mm; right: 14mm; bottom: 8mm; border-top: 0.4mm solid var(--tinte); padding-top: 2mm;
display: flex; justify-content: space-between; align-items: flex-end; font-size: 8pt; line-height: 1.4; }
.fuss .wer b { font-size: 9.5pt; }
.fuss .seitenzahl { font-family: 'Courier New', monospace; font-size: 7.5pt; color: var(--grau); letter-spacing: .06em; }
</style>
</head>
<body>
<!-- ============================ SEITE 1 ============================ -->
<div class="seite">
<div class="briefkopf">
<span class="absender">📬 BehördenKlar <small>by Webklar</small></span>
<span class="az mono">Az: KLAR-DATENSCHUTZ/2026 · Stand: 25.10.2026</span>
</div>
<p class="betreff">Für die Datenschutzbeauftragte Ihres Trägers · Webseite behoerdenklar.de/demo</p>
<h1>Datenschutz <span class="markiert">auf einen Blick</span></h1>
<p class="anrede">
Was mit den Daten passiert, wenn Ihre Beratungsstelle BehördenKlar im Browser nutzt, geprüft am
Server-Code und an der Datenschutzerklärung. <i>Das Blatt vom Juli 2026 beschrieb die App, nicht die Webseite.</i>
</p>
<h2><span class="nr">1</span> Was BehördenKlar tut</h2>
<div class="eins-box">
<p>
BehördenKlar erklärt Behördenbriefe in einfacher Sprache, auf Wunsch in 27 Sprachen.
Ein Foto oder PDF genügt: Eine KI (Claude von Anthropic) schreibt auf, was das Amt will,
was zu tun ist und bis wann. Kein Nutzerkonto, keine Anmeldung. Mit einem
<b>Einrichtungs-Code</b> ist der Dienst für Ihre Ratsuchenden kostenlos. Über den Code erfährt
Ihre Stelle nichts über Briefe, nur Zahlen: übrige Analysen und Nutzung pro Woche und Sprache.
</p>
<div class="kasten">
<span class="label">Kurz gesagt</span>
<ul class="haken">
<li>Briefe speichern wir nicht, Erklärungen nur verschlüsselt zur Übergabe (max. 15&nbsp;Min.).</li>
<li>Mit Code: kein Konto, keine E-Mail-Adresse nötig.</li>
<li class="ehrlich">Den Brief liest die KI: Anthropic (USA), in der Regel 30&nbsp;Tage gespeichert, kein Training.</li>
</ul>
</div>
</div>
<h2><span class="nr">2</span> So läuft ein Brief durch das System · Knopf „Lieber mit dem Handy fotografieren“</h2>
<div class="schritte">
<div class="schritt"><span class="n">1</span><div>
<b>QR-Code am Beratungs-PC.</b> Der Browser des PCs erzeugt eine zufällige Kennung und einen
neuen AES-256-Schlüssel. Beides steht im QR-Code hinter dem
„#“ der Adresse. <b>Den Schlüssel bekommt unser Server nie.</b>
</div></div>
<div class="schritt"><span class="n">4</span><div>
<b>Erklärung.</b> Anthropic (Modell Claude) erklärt den Brief auf Deutsch. Für eine andere
Sprache übersetzt ein zweiter KI-Aufruf die Erklärung. Die Antwort geht über unseren Server
zurück ans Handy, ohne dort gespeichert zu werden.
</div></div>
<div class="schritt"><span class="n">2</span><div>
<b>Einwilligung am eigenen Handy.</b> Die ratsuchende Person scannt den Code, setzt das
Häkchen für diesen einen Brief (Abschnitt&nbsp;6) und fotografiert ihn. Kein Konto, keine App.
</div></div>
<div class="schritt"><span class="n">5</span><div>
<b>Übergabe, Ende-zu-Ende verschlüsselt.</b> Das Handy verschlüsselt die Erklärung mit dem
Schlüssel aus dem QR-Code (AES-256-GCM) und legt sie bei uns ab. Der PC holt sie und
entschlüsselt sie. <b>Unser Server kann sie nicht lesen.</b>
</div></div>
<div class="schritt"><span class="n">3</span><div>
<b>Weg zur KI.</b> Das Foto geht über eine verschlüsselte Verbindung (TLS) an unseren Server
(Cloudflare). Er prüft Bot-Schutz und Guthaben und reicht es an Anthropic weiter,
<b>ohne es zu speichern</b>.
</div></div>
<div class="schritt"><span class="n">6</span><div>
<b>Löschen.</b> Der Zwischenspeicher wird beim Abholen gelöscht, sonst <b>spätestens
15&nbsp;Minuten</b> nach dem letzten Päckchen. Am PC bleibt die Erklärung nur in der offenen
Seite, bis diese neu geladen wird.
</div></div>
</div>
<div class="wege">
<div class="weg"><b>Beraterin lädt am Dienst-PC hoch:</b> nur Schritt 3 und 4. Das Häkchen setzt
dann die Beraterin (zur Rolle siehe Abschnitt&nbsp;4).</div>
<div class="weg"><b>„Ergebnis aufs Handy mitnehmen“:</b> genauso verschlüsselt, beim Abholen
gelöscht, sonst nach spätestens 15&nbsp;Minuten.</div>
</div>
<h2><span class="nr">3</span> Was gespeichert wird und wie lange</h2>
<table>
<colgroup><col style="width: 37mm"><col><col style="width: 45mm"></colgroup>
<thead><tr><th>Was</th><th>Was genau</th><th>Wie lange</th></tr></thead>
<tbody>
<tr class="gruppe"><td colspan="3">Beim Zugang über einen Einrichtungs-Code</td></tr>
<tr><td>Brief und Erklärung</td><td>Laufen nur durch unseren Server. Ausnahme: Übergabe, nächste Zeile.</td><td class="dauer"><b>bei uns: gar nicht</b></td></tr>
<tr><td>Übergabe-Päckchen</td><td>Erklärung, Name der Stelle und Statusmeldungen, verschlüsselt, für uns nicht lesbar. Dazu eine Schreib-Bremse pro IP-Adresse (Zeitfenster 1 Minute).</td><td class="dauer">beim Abholen, <b>spätestens 15 Min.</b> nach dem letzten Päckchen</td></tr>
<tr><td>Bei Anthropic (KI)</td><td>Foto und Erklärung. Keine Nutzung zum Training der KI.</td><td class="dauer"><b>in der Regel 30 Tage</b>, länger nur bei Missbrauchsverdacht</td></tr>
<tr><td>Einrichtungs-Guthaben</td><td>Code, Kennung, Name der Stelle, Ablaufdatum, Restbriefe. Nichts über Ratsuchende.</td><td class="dauer">ohne automatische Frist</td></tr>
<tr><td>Nutzungszähler</td><td>Je Analyse nur Datum und Sprache. Kein Briefinhalt, kein Personenbezug.</td><td class="dauer"><b>max. 13 Monate</b></td></tr>
<tr><td>Code-Fehlversuche</td><td>Zähler pro IP-Adresse und Tag, nur bei falscher Eingabe.</td><td class="dauer"><b>48 Stunden</b></td></tr>
<tr><td>Server-Protokolle</td><td>Zeitpunkt, aufgerufene Adresse, Fehlerart, technische Metadaten. Kein Briefinhalt.</td><td class="dauer"><b>max. 7 Tage</b></td></tr>
<tr><td>Im Browser des Geräts</td><td>Zugangs-Nachweis, Code und Name der Stelle, Ablaufdatum, Zahl übriger Briefe, Sprache. Keine Briefe.</td><td class="dauer">bis zum Löschen im Browser</td></tr>
<tr class="gruppe hell"><td colspan="3">Nur ohne Einrichtungs-Code: 2 Gratis-Analysen für Privatpersonen</td></tr>
<tr class="nebensache"><td>Gratis-Zähler</td><td>Zähler pro IP-Adresse und Tag, dazu die Tagessumme aller Gratis-Analysen.</td><td class="dauer">48 Stunden (Datenschutz&shy;erklärung: „max. 30 Tage“)</td></tr>
<tr class="nebensache"><td>E-Mail-Prüfsumme</td><td>Nur für die 2. Gratis-Analyse: SHA-256-Prüfsumme, die Adresse selbst nicht.</td><td class="dauer">unbefristet</td></tr>
</tbody>
</table>
<p class="tabfuss">
<b>Rechtsgrundlagen laut Datenschutzerklärung:</b> Brief und Erklärung: Einwilligung (Art. 6 Abs. 1 lit. a,
Art. 9 Abs. 2 lit. a DSGVO). Zähler, Schutz vor Missbrauch, Protokolle: berechtigtes Interesse (Art. 6 Abs. 1 lit. f DSGVO).
</p>
<div class="fuss">
<div class="wer">
<b>Justin Klein</b> · Webklar GbR · Am Schwimmbad 10, 67722 Winnweiler<br>
Tel. 0170 4969375 · justin@webklar.com · <b>behoerdenklar.de/datenschutz</b>
</div>
<span class="seitenzahl">Seite 1 von 2 · bitte wenden</span>
</div>
</div>
<!-- ============================ SEITE 2 ============================ -->
<div class="seite">
<div class="briefkopf">
<span class="absender">📬 BehördenKlar <small>by Webklar</small></span>
<span class="az mono">Datenschutz auf einen Blick · Seite 2 von 2</span>
</div>
<h2 style="margin-top: 5mm; margin-bottom: 3mm;"><span class="nr">4</span> Wer ist verantwortlich? Das hängt davon ab, wer hochlädt</h2>
<div class="zwei">
<div class="kasten fall">
<span class="label">Fall A · Die Person selbst</span>
<h3>Die ratsuchende Person nutzt den Dienst selbst</h3>
<p>Eigenes Handy, eigenes Häkchen für jeden Brief: zu Hause oder in der Beratung über
„Lieber mit dem Handy fotografieren“.</p>
<p class="folge"><b>Verantwortlich ist die Webklar GbR</b> (BehördenKlar). Grundlage ist die
Einwilligung der Person.</p>
<p>Bitte beachten: In der Beratung erscheint die Erklärung auch am Bildschirm Ihrer Stelle.
Gespeichert wird sie dort nicht.</p>
</div>
<div class="kasten fall">
<span class="label">Fall B · Ihre Stelle</span>
<h3>Ihre Beratungsstelle lädt den Brief selbst hoch</h3>
<p>Die Beraterin lädt den Brief einer Klientin am Dienst-PC hoch.</p>
<p class="folge">Dann arbeiten <b>wir als Auftragsverarbeiter</b> für Ihre Stelle (Art. 28 DSGVO),
mit Cloudflare und Anthropic als Unterauftragsverarbeitern. Einen <b>AVV mit
Verschwiegenheitsklausel</b> stellen wir auf Wunsch.</p>
<p>Das Häkchen am Dienst-PC setzt dann die Beraterin. Es ersetzt keine Einwilligung der Klientin.</p>
</div>
</div>
<p class="absprache">
<span class="gross"><span class="markiert">Vor dem ersten echten Brief am Dienst-PC sprechen wir das ab.</span></span><br>
Unser Vorschlag für den Test: Fall A. Haben Sie eine eigene AVV-Vorlage (z. B. nach DSG-EKD oder KDG),
schicken Sie sie uns gern.
</p>
<h2><span class="nr">5</span> Dienstleister</h2>
<table>
<colgroup><col style="width: 37mm"><col><col style="width: 30mm"></colgroup>
<thead><tr><th>Wer</th><th>Wofür</th><th>Beim Code-Zugang</th></tr></thead>
<tbody>
<tr><td>Cloudflare, Inc. (USA)</td><td>Unser Server (Cloudflare Workers), Zwischenspeicher und Zähler, Bot-Schutz (Turnstile), Hosting der Webseite, Besucherstatistik ohne Cookies</td><td class="dauer"><b>ja</b></td></tr>
<tr><td>Anthropic PBC (USA)</td><td>KI-Erklärung und Übersetzung (Modell Claude), keine Nutzung zum Training</td><td class="dauer"><b>ja</b></td></tr>
<tr class="nebensache"><td>Stripe und Brevo</td><td>Nur für Privatpersonen: Bezahlung beim Kauf von Guthaben (Stripe, Irland/USA), E-Mail mit dem Guthaben-Link und Warteliste (Brevo, Deutschland/Frankreich)</td><td class="dauer">nein, nicht relevant</td></tr>
</tbody>
</table>
<p class="tabfuss" style="color: var(--text); font-size: 8.2pt;">
<b>Übermittlung in die USA:</b> gestützt auf EU-Standardvertragsklauseln (Art. 46 Abs. 2 lit. c DSGVO).
Sie sind Teil der Auftragsverarbeitungsverträge (DPA) von Cloudflare und Anthropic, die mit deren
Geschäftsbedingungen gelten. Die Fundstellen nennen wir Ihnen gern.
</p>
<h2><span class="nr">6</span> Einwilligung: für jeden Brief neu</h2>
<div class="zwei" style="grid-template-columns: 1.12fr 1fr;">
<p class="zitat">
„Ich bin einverstanden, dass das Foto dieses Briefs zur Erklärung an den Server von BehördenKlar
und an den KI-Dienst Anthropic (USA) geschickt wird. Briefe können sehr persönliche Angaben
enthalten, zum Beispiel zu Gesundheit, Herkunft oder Aufenthalt. BehördenKlar speichert den Brief
nicht. Anthropic löscht ihn in der Regel nach 30 Tagen und nutzt ihn nicht zum Training.“
<span class="quelle">Text am Häkchen vor dem Hochladen, mit Link zur Datenschutzerklärung</span>
</p>
<ul class="punkte">
<li><b>Ohne Häkchen wird nichts hochgeladen.</b></li>
<li><b>Für genau einen Brief:</b> Nach jeder Erklärung ist das Häkchen wieder leer. Die nächste Person wird neu gefragt.</li>
<li><b>Grundlage:</b> Art. 6 Abs. 1 lit. a und Art. 9 Abs. 2 lit. a DSGVO.</li>
<li><b>In der Sprache der Person:</b> Am Handy in einer von 27 Sprachen, am PC auf Deutsch.
Von einer KI übersetzt, noch von keinem Muttersprachler geprüft. Die ausführliche
Datenschutzerklärung gibt es nur auf Deutsch.</li>
<li><b>Freiwillig:</b> Wer nicht einwilligt, wird ganz normal beraten.</li>
</ul>
</div>
<h2><span class="nr">7</span> Ehrliche Grenzen</h2>
<ul class="grenzen">
<li><b>USA.</b> Anthropic und Cloudflare sitzen in den USA. Eine Beschränkung auf Rechenzentren
in der EU ist nicht eingestellt.</li>
<li><b>30 Tage bei Anthropic</b> in der Regel, bei Verdacht auf Missbrauch länger. Darauf haben
wir keinen Einfluss.</li>
<li><b>Ende-zu-Ende gilt nur für die Übergabe.</b> Der Brief selbst geht per TLS über unseren
Server zur KI.</li>
<li><b>QR-Code nur der richtigen Person zeigen.</b> Wer ihn abfotografiert, kann die Erklärung
in diesen 15 Minuten öffnen.</li>
<li><b>Dienst-PC.</b> Nach jedem Gespräch „Fertig, nächste Person“. Kalender nur am Handy
der Person. Ausdrucke wie Akten behandeln.</li>
<li><b>Keine Rechtsberatung.</b> BehördenKlar erklärt Briefe, ersetzt aber keine Beratung. Auch
eine KI kann sich irren.</li>
<li><b>Selbstauskunft, kein Zertifikat.</b> Eine anwaltliche Prüfung von Datenschutzerklärung und
Blatt steht noch aus.</li>
<li><b>Noch offen:</b> AVV-Entwurf, TOMs, Baustein fürs Verarbeitungsverzeichnis. Sie kommen
vor dem ersten Brief am Dienst-PC.</li>
</ul>
<div class="kontakt-unten">
<h2><span class="nr">8</span> Kontakt und vollständige Datenschutzerklärung</h2>
<div class="kontakt">
<div>
<p class="name">Justin Klein</p>
<p>Webklar GbR, vertreten durch<br>Justin Klein und Kenso Grimm<br>
Am Schwimmbad 10, 67722 Winnweiler<br>
Tel. 0170 4969375 · justin@webklar.com</p>
</div>
<div>
<p class="link">behoerdenklar.de/datenschutz</p>
<p class="klein">Für die Webseite besonders die Abschnitte 3a, 4, 5, 8, 9a, 9b und 10.
Rückfragen beantworten wir gern, auch im Gespräch mit Ihnen.</p>
<p style="margin-top: 1.4mm;"><span class="stempel">Selbstauskunft · Stand 25.10.2026</span></p>
</div>
<div id="qr"></div>
</div>
</div>
</div>
<script>
var qr = qrcode(0, 'M');
qr.addData('https://behoerdenklar.de/datenschutz');
qr.make();
document.getElementById('qr').innerHTML = qr.createSvgTag({ cellSize: 4, margin: 0, scalable: true });
</script>
</body>
</html>
Binary file not shown.
+17 -16
View File
@@ -2,7 +2,7 @@
<!-- <!--
Handzettel für Beratungsstellen (DIN A4, zum Dalassen nach der Präsentation). Handzettel für Beratungsstellen (DIN A4, zum Dalassen nach der Präsentation).
CODE unten eintragen, sobald der Einrichtungs-Code angelegt ist CODE unten eintragen, sobald der Einrichtungs-Code angelegt ist
(node tools/einrichtungs-code.js neu "MBE Donnersberg" MBE --briefe 100 --monate 1), (node tools/einrichtungs-code.js neu "MBE Donnersberg" MBE --briefe 100 --bis 2026-11-29),
dann neu als PDF ausgeben: dann neu als PDF ausgeben:
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --headless=new \ "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --headless=new \
--no-pdf-header-footer --print-to-pdf=handzettel.pdf "file://$PWD/handzettel.html" --no-pdf-header-footer --print-to-pdf=handzettel.pdf "file://$PWD/handzettel.html"
@@ -91,11 +91,11 @@
</div> </div>
<p class="betreff">Für Beratungsstellen · Migrationsberatung · Soziale Beratung</p> <p class="betreff">Für Beratungsstellen · Migrationsberatung · Soziale Beratung</p>
<h1>Ihre Ratsuchenden verstehen den Brief, <span class="markiert">bevor sie zu Ihnen kommen.</span></h1> <h1>Ihre Ratsuchenden verstehen ihren Brief, <span class="markiert">in ihrer eigenen Sprache.</span></h1>
<p class="anrede"> <p class="anrede">
BehördenKlar erklärt schwierige Post in einfacher Sprache, auf Wunsch in 27 Sprachen: BehördenKlar erklärt schwierige Post in einfacher Sprache, auf Wunsch in 27 Sprachen:
von Ausländerbehörde, Jobcenter, Finanzamt, Krankenkasse, Vermieter oder Inkasso. von Ausländerbehörde, Jobcenter, Finanzamt, Krankenkasse, Vermieter oder Inkasso.
Ein Foto genügt. Ihre Beratungszeit geht in die Lösung, nicht ins Vorlesen. Ein Foto genügt. So verstehen Ratsuchende ihren Brief selbst und kommen mit den richtigen Fragen zu Ihnen.
</p> </p>
<div class="schritte"> <div class="schritte">
@@ -116,7 +116,7 @@
</div></div> </div></div>
<div class="punkt"><span class="ik">📅</span><div> <div class="punkt"><span class="ik">📅</span><div>
<h3>Frist und Termin in den Handy-Kalender</h3> <h3>Frist und Termin in den Handy-Kalender</h3>
<p>Ein Tipp genügt, das Handy erinnert 3 Tage und 1 Tag vorher. Keine Frist geht zwischen zwei Beratungsterminen unter.</p> <p>Mit wenigen Tipps eingetragen, das Handy erinnert 3 Tage und 1 Tag vorher. So denkt man leichter an Frist und Termin.</p>
</div></div> </div></div>
<div class="punkt"><span class="ik">📞</span><div> <div class="punkt"><span class="ik">📞</span><div>
<h3>Anruf-Hilfe fürs Amt</h3> <h3>Anruf-Hilfe fürs Amt</h3>
@@ -131,12 +131,12 @@
<p>Per QR-Code wandert die Erklärung vom Beratungs-PC aufs Handy der Ratsuchenden, mit Kalender und Anruf-Hilfe.</p> <p>Per QR-Code wandert die Erklärung vom Beratungs-PC aufs Handy der Ratsuchenden, mit Kalender und Anruf-Hilfe.</p>
</div></div> </div></div>
<div class="punkt"><span class="ik">🔎</span><div> <div class="punkt"><span class="ik">🔎</span><div>
<h3>Erfindet nichts</h3> <h3>Rät nicht</h3>
<p>Steht keine Telefonnummer oder kein Datum im Brief, sagt BehördenKlar das, statt zu raten.</p> <p>Steht keine Telefonnummer oder kein Datum im Brief, sagt BehördenKlar das, statt zu raten.</p>
</div></div> </div></div>
<div class="punkt"><span class="ik">⚖️</span><div> <div class="punkt"><span class="ik">⚖️</span><div>
<h3>Ergänzung, kein Ersatz</h3> <h3>Ergänzung, kein Ersatz</h3>
<p>Jede Erklärung verweist bei wichtigen Entscheidungen ausdrücklich auf eine Beratungsstelle.</p> <p>Unter jeder Erklärung steht in der Sprache der Person: „Noch Fragen? Ihre Beratungsstelle hilft Ihnen gern weiter.“</p>
</div></div> </div></div>
</div> </div>
@@ -153,27 +153,28 @@
</ul> </ul>
</div> </div>
<p class="chatgpt"> <p class="chatgpt">
<b>„Ist das nicht einfach ChatGPT?“</b> Dort braucht man ein Konto und eine gut <b>„Ist das nicht einfach ChatGPT?“</b> Dort bekommt man einen Text. Bei
formulierte Frage, und danach ist der Brief vergessen. Bei BehördenKlar macht man BehördenKlar macht man ein Foto, und Frist, Termin und Telefonnummer werden zu
ein Foto. Frist, Termin und Telefonnummer werden zu Kalender-Eintrag und einem Kalender-Eintrag mit Erinnerung und zu einer Anruf-Hilfe. Deutsche
Anruf-Hilfe, und deutsche Fachbegriffe bleiben erkennbar. Fachbegriffe bleiben erkennbar, und am PC lesen Sie Deutsch, während die Person
ihre Sprache sieht.
</p> </p>
<p class="chatgpt"> <p class="chatgpt">
<b>Und nach dem Test?</b> Ihre Einrichtung bekommt ein festes Briefkontingent zu <b>Und nach dem Test?</b> Nach vier Wochen schauen wir gemeinsam, was es gebracht
einem Preis für Beratungsstellen. Die Ratsuchenden zahlen weiterhin nichts. Ohne hat. Wenn Sie weitermachen möchten, bekommen Sie ein Angebot für Beratungsstellen.
Abo-Falle: Nach vier Wochen schauen wir gemeinsam, was es gebracht hat. Über Ihren Code zahlen Ihre Ratsuchenden weiterhin nichts. Kein Abo, keine automatische Verlängerung.
</p> </p>
</div> </div>
<div class="angebot"> <div class="angebot">
<p class="kopf">Ihr Testzugang</p> <p class="kopf">Ihr Testzugang</p>
<p class="gross">1 Monat · bis 100 Briefe<br><span class="markiert">kostenlos</span></p> <p class="gross">1 Monat · bis 100 Briefe<br><span class="markiert">kostenlos</span></p>
<p class="klein">Ratsuchende zahlen nichts. Kein Vertrag, endet von selbst, verlängerbar.</p> <p class="klein">Über Ihren Code zahlen Ihre Ratsuchenden nichts. Kein Vertrag, endet am 29.11.2026 von selbst, verlängerbar.</p>
<div id="qr"></div> <div id="qr"></div>
<p class="klein">Ihr Zugangscode für den Beratungs-PC:</p> <p class="klein">Ihr Code, <b>nur für Mitarbeitende</b>, bitte nicht aushängen:</p>
<p><span class="code" id="codeText"></span></p> <p><span class="code" id="codeText"></span></p>
<p class="link" id="linkText"></p> <p class="link" id="linkText"></p>
<p class="klein" style="margin-top: 1.5mm;">Einmal am Beratungs-PC öffnen, dann ist auch „Mit dem Handy fotografieren“ für Ihre Ratsuchenden kostenlos.</p> <p class="klein" style="margin-top: 1.5mm;">Die Adresse einmal am Beratungs-PC eintippen, dann ist auch „Lieber mit dem Handy fotografieren“ für Ihre Ratsuchenden kostenlos.</p>
</div> </div>
</div> </div>
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 630 KiB

After

Width:  |  Height:  |  Size: 614 KiB

@@ -0,0 +1,239 @@
<!DOCTYPE html>
<!--
Kurzanleitung „So geht's am Beratungs-PC“ (DIN A4, Vorder- und Rückseite, für Beraterinnen).
Vorderseite: Ablauf in 6 Schritten. Rückseite: Wenn etwas hakt.
CODE (und ggf. STELLE) unten im Skript eintragen, sobald der Einrichtungs-Code
angelegt ist, dann neu als PDF ausgeben (im Ordner marketing/praesentation-mbe):
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --headless=new --disable-gpu \
--allow-file-access-from-files --no-pdf-header-footer \
--print-to-pdf=kurzanleitung-beratung.pdf "file://$PWD/kurzanleitung-beratung.html"
Knopf- und Meldungstexte stammen wörtlich aus webseite/demo.html und webseite/ui-texte.js,
„Der Zugang über … ist abgelaufen“ aus proxy/src/index.ts (Stand 25.10.2026).
-->
<html lang="de">
<head>
<meta charset="UTF-8">
<title>So geht's am Beratungs-PC</title>
<script src="../../webseite/qrcode.js"></script>
<style>
@page { size: A4; margin: 0; }
:root {
--papier: #faf7f0; --tinte: #21211d; --grau: #6b675e;
--amtsblau: #1d4e89; --stempelrot: #b3372b; --marker: #ffe66b;
}
* { margin: 0; padding: 0; box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
body { font-family: Georgia, 'Times New Roman', serif; color: var(--tinte); background: #fff; }
.seite {
width: 210mm; height: 297mm; overflow: hidden; position: relative;
padding: 11mm 16mm 0;
background: var(--papier);
font-size: 11.5pt; line-height: 1.4;
page-break-after: always;
}
.seite:last-child { page-break-after: auto; }
.mono { font-family: 'Courier New', ui-monospace, monospace; }
.briefkopf { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 2mm; border-bottom: 0.6mm solid var(--tinte); }
.absender { font-weight: 700; font-size: 12.5pt; }
.absender small { font-weight: 400; font-size: 8pt; opacity: .6; letter-spacing: .04em; }
.az { color: var(--grau); font-size: 8pt; }
.betreff { margin-top: 6mm; font-size: 8pt; color: var(--grau); text-transform: uppercase; letter-spacing: .14em; }
h1 { font-size: 26pt; line-height: 1.1; margin-top: 1.5mm; letter-spacing: -0.01em; }
.markiert { background: linear-gradient(104deg, transparent 2%, var(--marker) 4%, var(--marker) 96%, transparent 98%); padding: 0 1.5mm; }
.anrede { margin-top: 3mm; font-size: 12pt; color: #3a3833; }
/* Knöpfe so, wie man sie auf der Seite wiedererkennt */
.k { font-weight: 700; white-space: nowrap; background: #fff; border: 0.35mm solid var(--tinte); border-radius: 1mm;
padding: 0 1.4mm; box-shadow: 0.5mm 0.5mm 0 var(--tinte); }
.m { white-space: nowrap; }
.label { font-family: 'Courier New', monospace; font-size: 7.5pt; text-transform: uppercase; letter-spacing: .12em;
color: var(--grau); }
/* Einmal einrichten */
.einrichten { margin-top: 7mm; background: #fff; border: 0.5mm solid var(--tinte); padding: 5mm 6mm;
display: grid; grid-template-columns: 1fr 28mm; gap: 6mm; align-items: center; }
.einrichten p { margin-top: 1.5mm; }
.adresse { font-family: 'Courier New', monospace; font-weight: 700; font-size: 13pt; color: var(--amtsblau);
background: var(--marker); display: inline-block; padding: .6mm 2mm; margin-top: 2mm; word-break: break-all; }
.luecke { display: inline-block; width: 28mm; border-bottom: 0.35mm solid var(--amtsblau); height: 4.4mm; vertical-align: -0.6mm; }
.code { font-family: 'Courier New', monospace; font-weight: 700; letter-spacing: .08em; background: var(--marker); padding: 0 1.5mm; }
.leise { font-size: 9.5pt; color: var(--grau); }
#qr { width: 28mm; height: 28mm; }
#qr svg { width: 100%; height: 100%; display: block; }
/* Schritte */
.schritte { list-style: none; margin-top: 8mm; }
.schritte li { display: grid; grid-template-columns: 12mm 1fr; align-items: start; padding: 3.2mm 0;
border-top: 0.25mm solid rgba(33,33,29,.18); }
.schritte li:first-child { border-top: none; padding-top: 0; }
.nr { width: 8.5mm; height: 8.5mm; border-radius: 50%; background: var(--amtsblau); color: #fff;
font-family: 'Courier New', monospace; font-weight: 700; font-size: 13pt; line-height: 8.5mm; text-align: center; }
.schritte b { font-size: 12.5pt; }
.schritte .dazu { font-size: 10.5pt; color: #4a463e; margin-top: .6mm; }
/* Drei Regeln */
.regeln { margin-top: 7mm; border: 0.6mm solid var(--stempelrot); background: #fff; padding: 4.5mm 6mm 5mm; }
.regeln .label { color: var(--stempelrot); }
.regeln ul { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 5mm; margin-top: 2.5mm; }
.regeln li { font-size: 10.5pt; line-height: 1.35; }
.regeln li b { display: block; font-size: 11.5pt; margin-bottom: .6mm; }
/* Rückseite */
h2 { font-size: 13pt; margin-top: 8mm; }
h2 .label { display: block; margin-bottom: 1mm; }
table { width: 100%; border-collapse: collapse; margin-top: 3mm; font-size: 10.5pt; line-height: 1.38; }
td { padding: 2.6mm 0; vertical-align: top; border-top: 0.25mm solid rgba(33,33,29,.18); }
td:first-child { width: 42%; padding-right: 5mm; font-style: italic; color: #3a3833; }
tr.anrufen td { background: rgba(255,230,107,.45); }
tr.anrufen td:first-child { padding-left: 2mm; }
.tipps { list-style: none; columns: 2; column-gap: 9mm; margin-top: 3mm; font-size: 10.5pt; line-height: 1.38; }
.tipps li { break-inside: avoid; padding: 0 0 2.6mm 4mm; position: relative; }
.tipps li::before { content: '›'; position: absolute; left: 0; color: var(--amtsblau); font-weight: 700; }
.it { margin-top: 5mm; background: #fff; border: 0.4mm solid var(--tinte); padding: 3.5mm 5mm; font-size: 10pt; }
.it .mono { font-size: 9.5pt; }
.fuss { position: absolute; left: 16mm; right: 16mm; bottom: 9mm; border-top: 0.4mm solid var(--tinte); padding-top: 2.5mm;
display: flex; justify-content: space-between; align-items: flex-end; font-size: 8pt; line-height: 1.4; color: var(--grau); }
.fuss .anruf { font-size: 12.5pt; font-weight: 700; line-height: 1.3; color: var(--tinte); }
.fuss .anruf .nummer { font-family: 'Courier New', monospace; background: var(--marker); padding: 0 1.5mm; }
.fuss .wenden { font-family: 'Courier New', monospace; font-size: 8pt; text-transform: uppercase; letter-spacing: .1em; }
</style>
</head>
<body>
<!-- ============ Vorderseite ============ -->
<div class="seite">
<div class="briefkopf">
<span class="absender">📬 BehördenKlar <small>by Webklar</small></span>
<span class="az mono">Kurzanleitung Beratungs-PC · Seite 1 von 2</span>
</div>
<p class="betreff">Für Beraterinnen und Berater</p>
<h1>So geht's am <span class="markiert">Beratungs-PC</span></h1>
<p class="anrede">Die Person fotografiert ihren Brief mit dem eigenen Handy. Sie lesen am PC mit.</p>
<div class="einrichten">
<div>
<span class="label">Einmal einrichten</span>
<p>Diese Adresse am PC als Lesezeichen speichern:</p>
<p><span class="adresse" id="adresseText"></span></p>
<p class="leise">Ihr Code: <span class="code" id="codeText"></span> · nur für Mitarbeitende</p>
</div>
<div id="qr"></div>
</div>
<ol class="schritte">
<li><span class="nr">1</span><div>
<b>Lesezeichen öffnen.</b>
<p class="dazu">Oben steht <span class="m">„🤝 Kostenlos über <span id="stelleText"></span>“</span>.</p>
</div></li>
<li><span class="nr">2</span><div>
<b>Sprache der Person wählen.</b>
<p class="dazu">Bei <span class="m">„🌐 Erklärung in dieser Sprache“</span>, zuerst, vor Schritt 3.</p>
</div></li>
<li><span class="nr">3</span><div>
<b><span class="k">📱 Lieber mit dem Handy fotografieren</span> klicken.</b>
<p class="dazu">Die Person scannt den QR-Code mit ihrer Handy-Kamera.</p>
</div></li>
<li><span class="nr">4</span><div>
<b>Die Person setzt das Häkchen und fotografiert den Brief.</b>
<p class="dazu">Das Häkchen ist ihre Einwilligung. Am Handy steht alles in ihrer Sprache.</p>
</div></li>
<li><span class="nr">5</span><div>
<b>Etwa eine Minute warten.</b>
<p class="dazu">Sie lesen die Erklärung am PC auf Deutsch, die Person am Handy in ihrer Sprache.</p>
</div></li>
<li><span class="nr">6</span><div>
<b>Frist am Handy in den Kalender, dann <span class="k">✅ Fertig, nächste Person</span>.</b>
<p class="dazu">Auf Papier gewünscht? Vorher <span class="k">🖨️ Drucken oder als PDF</span>.</p>
</div></li>
</ol>
<div class="regeln">
<span class="label">Drei Regeln im Test</span>
<ul>
<li><b>Nur übers Handy der Person.</b>Briefe nicht selbst am PC hochladen.</li>
<li><b>Frist am Original prüfen.</b>Die Erklärung ist eine Lesehilfe.</li>
<li><b>Nur den Brief fotografieren.</b>Keine Ausweise oder Pässe.</li>
</ul>
</div>
<div class="fuss">
<span class="anruf">Fragen? Justin Klein · <span class="nummer">0170 4969375</span></span>
<span class="wenden">Wenn etwas hakt: Rückseite →</span>
</div>
</div>
<!-- ============ Rückseite ============ -->
<div class="seite">
<div class="briefkopf">
<span class="absender">📬 BehördenKlar <small>by Webklar</small></span>
<span class="az mono">Kurzanleitung Beratungs-PC · Seite 2 von 2</span>
</div>
<p class="betreff">Kurzanleitung · Rückseite</p>
<h1>Wenn etwas <span class="markiert">hakt</span></h1>
<h2><span class="label">Meldungen am PC</span>Was steht da, und was tun Sie?</h2>
<table>
<tr><td>„⚠️ Das dauert ungewöhnlich lange …“</td>
<td>Erst aufs Handy schauen. Rechnet es noch: warten. Sonst am Handy den Knopf mit 🔁 tippen oder am PC <span class="k">Abbrechen</span> und ab Schritt 3.</td></tr>
<tr><td>„⚠️ Am Handy hat es nicht geklappt …“</td>
<td>Am Handy steht, warum. Dort einfach neu fotografieren.</td></tr>
<tr><td>„Der QR-Code ist abgelaufen …“</td>
<td>Schritt 3 wiederholen. Ein QR-Code gilt für einen Brief.</td></tr>
<tr><td>„⚠️ Keine Verbindung zum Server …“</td>
<td>Internet prüfen. Sonst Ihre IT fragen (unten).</td></tr>
<tr><td>Oben fehlt „🤝 Kostenlos über …“</td>
<td>Unten auf der Seite <span class="k">🤝 Sie haben einen Code von einer Beratungsstelle?</span> öffnen und den Code eingeben.</td></tr>
<tr class="anrufen"><td>„Die kostenlosen Analysen sind aufgebraucht oder abgelaufen …“ oder „Der Zugang über … ist abgelaufen …“</td>
<td><b>Kontingent leer oder Test zu Ende.</b> Bitte Justin anrufen: 0170 4969375. Danach das Lesezeichen neu öffnen.</td></tr>
</table>
<h2><span class="label">Gut zu wissen</span>Kleine Dinge, die viel helfen</h2>
<ul class="tipps">
<li><b>Dari?</b> „Farsi“ wählen.</li>
<li><b>Sprache zuerst,</b> dann den QR-Code zeigen. Sonst ist das Handy auf Deutsch.</li>
<li><b>Beim Warten</b> den Handy-Bildschirm anlassen und keine andere App öffnen. Den PC nicht neu laden.</li>
<li><b>Mehrere Seiten?</b> Die Seite mit Betreff und Frist fotografieren.</li>
<li><b>Handy-Seite schon zu?</b> Am PC <span class="k">📱 Ergebnis aufs Handy mitnehmen</span> klicken.</li>
<li><b>Kalender nur am Handy,</b> sonst landet die Datei auf dem Dienst-PC.</li>
<li><b>Fristen „ab Zustellung“</b> bitte selbst nachrechnen.</li>
<li><b>Nicht</b> <span class="k">🔑 Zugang dauerhaft auf ein Handy geben</span> klicken. Das gibt Ihren Zugang weiter.</li>
<li><b>Lesezeichen von Hand anlegen</b> (mit „oe“, ohne „www“). Der Stern ☆ allein speichert den Code nicht.</li>
</ul>
<div class="it">
<b>Für Ihre IT:</b> Bitte diese Adressen freigeben:
<span class="mono">behoerdenklar.de</span> ·
<span class="mono">behoerdenklar-proxy.behoerdenbrief.workers.dev</span> ·
<span class="mono">challenges.cloudflare.com</span>
</div>
<div class="fuss">
<span class="anruf">Fragen? Justin Klein · <span class="nummer">0170 4969375</span></span>
<span>justin@webklar.com · <b>behoerdenklar.de</b></span>
</div>
</div>
<script>
// Einrichtungs-Code hier eintragen, sobald er angelegt ist (z. B. 'MBE-K7QX').
var CODE = '';
// Name der Einrichtung, so wie er beim Anlegen des Codes vergeben wurde (steht oben auf der Seite).
var STELLE = 'MBE Donnersberg';
var url = CODE ? 'https://behoerdenklar.de/demo?code=' + CODE : 'https://behoerdenklar.de/demo';
var qr = qrcode(0, 'M');
qr.addData(url);
qr.make();
document.getElementById('qr').innerHTML = qr.createSvgTag({ cellSize: 4, margin: 0, scalable: true });
var codeEl = document.getElementById('codeText');
codeEl.textContent = CODE || 'wird beim Termin eingetragen';
if (!CODE) { codeEl.style.letterSpacing = '0'; }
var adresseEl = document.getElementById('adresseText');
adresseEl.textContent = 'behoerdenklar.de/demo?code=' + CODE;
if (!CODE) { var l = document.createElement('span'); l.className = 'luecke'; adresseEl.appendChild(l); }
document.getElementById('stelleText').textContent = STELLE || 'Ihre Beratungsstelle';
</script>
</body>
</html>
@@ -0,0 +1,155 @@
<!DOCTYPE html>
<!--
Pitch zum Üben: voller Wortlaut für den Termin bei der MBE Kirchheimbolanden (Do 29.10.2026).
Erzeugt aus dem Pitch-Workflow vom 25.10. (Synthese + 32 Korrekturen aus dem Faktencheck).
Der Spickzettel zum Mitnehmen ist ablaufplan.html (2 Seiten).
PDF: "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --headless=new --disable-gpu \
--no-pdf-header-footer --print-to-pdf=pitch-zum-ueben.pdf "file://$PWD/pitch-zum-ueben.html"
-->
<html lang="de"><head><meta charset="UTF-8"><title>Pitch zum Üben</title>
<style>
@page { size: A4; margin: 14mm 16mm 14mm; }
:root { --papier: #faf7f0; --tinte: #21211d; --grau: #6b675e; --amtsblau: #1d4e89; --rot: #b3372b; --marker: #ffe66b; }
* { box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
html { background: var(--papier); }
body { font-family: Georgia, 'Times New Roman', serif; color: var(--tinte); font-size: 10.5pt; line-height: 1.45; margin: 0 auto; max-width: 178mm; background: var(--papier); }
.kopf { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 0.6mm solid var(--tinte); padding-bottom: 2mm; }
.kopf b { font-size: 12.5pt; } .kopf span { font-family: 'Courier New', monospace; font-size: 8pt; color: var(--grau); }
h1 { font-size: 22pt; line-height: 1.15; margin: 5mm 0 2mm; }
.markiert { background: linear-gradient(104deg, transparent 2%, var(--marker) 4%, var(--marker) 96%, transparent 98%); padding: 0 1.5mm; }
.kern { font-size: 11.5pt; border-left: 1mm solid var(--amtsblau); background: #fff; padding: 2.5mm 4mm; margin: 3mm 0; }
h2 { font-family: 'Courier New', monospace; font-weight: 400; font-size: 8.5pt; text-transform: uppercase; letter-spacing: .14em; color: var(--grau);
margin: 8mm 0 3mm; display: flex; gap: 3mm; align-items: center; break-after: avoid; }
h2::after { content: ''; flex: 1; border-top: 0.25mm solid rgba(33,33,29,.25); }
.block { break-inside: avoid; margin-bottom: 4mm; padding-bottom: 3mm; border-bottom: 0.25mm dotted rgba(33,33,29,.35); }
.block h3 { font-size: 12pt; margin: 0 0 1.5mm; } .block h3 .zeit { font-family: 'Courier New', monospace; color: var(--amtsblau); margin-right: 2mm; }
.tun { color: #3d3a33; margin: 1mm 0 2mm; } .tun b { color: var(--tinte); }
.sag { background: #fff; border-left: 1mm solid var(--amtsblau); padding: 2mm 4mm; margin: 1.5mm 0; }
.sag p { margin: 0 0 1.4mm; font-style: italic; } .sag p:last-child { margin-bottom: 0; }
.regie { font-style: normal !important; color: var(--grau); font-size: 9.5pt; }
ul { padding-left: 5mm; margin: 1mm 0; } li { margin-bottom: 1.2mm; }
.einwand { break-inside: avoid; margin-bottom: 3mm; } .einwand b { display: block; }
.nicht li { color: #5a2a24; } .nicht { background: #fdf1ef; border-left: 1mm solid var(--rot); padding: 2mm 4mm 2mm 8mm; }
.klein { font-size: 9pt; color: var(--grau); }
p { margin: 0 0 2mm; }
</style></head><body>
<div class="kopf"><b>📬 BehördenKlar · Pitch zum Üben</b><span>MBE Kirchheimbolanden · Do 29.10.2026 · nur für mich</span></div>
<h1>Hilfe zur Selbsthilfe. <span class="markiert">Der volle Wortlaut.</span></h1>
<p class="klein">Zum Üben zu Hause. Im Termin nimmst du nur den Spickzettel (2 Seiten) mit. Auswendig lernen: die Eröffnung und die drei Sätze. Den Rest frei sprechen.</p>
<div class="kern"><b>Der eine Satz, den sie weitererzählen sollen:</b><br>Damit verstehen unsere Ratsuchenden ihren Brief in ihrer eigenen Sprache und haben Termin und Frist im Handy, und mit den Fragen, die nur wir beantworten können, kommen sie weiter zu uns.</div>
<h2>Zum Üben</h2><ul><li>Vor dem Üben erledigen (bis Di 27.10. abends, vor dem Code-Stopp): Die Webseite wird bis Di 27.10. so angepasst, dass „Vorlesen“ nirgends mehr als Funktion der Webseite steht. Wenn eine Beraterin vorher googelt und dann im Termin „kein Vorlesen“ hört, wirkt deine Ehrlichkeit wie Taktik.</li><li>Lern zwei Stellen auswendig und sprich sie jeden Tag dreimal laut, mit Stoppuhr. Erstens die Eröffnung, unter 1:10 Minuten. Zweitens die drei Sätze: „Er versteht seinen Brief. Er denkt leichter an Termin und Frist. Er ist vorbereitet, wenn ein Anruf nötig ist.“ Den Rest sprichst du frei nach dem Ablauf.</li><li>Generalprobe 2 (Mo) und 3 (Mi) machst du komplett mit Stoppuhr, so als säße das Team vor dir. Sprich den Wartezeit-Text laut mit und notier, nach wie vielen Sekunden das Ergebnis da ist. Am Mittwoch machst du die Bildschirmfotos mit roter Ampel. Prüf danach, wie viele Briefe auf VORF-2EDF übrig sind.</li><li>Üben, still zu sein: Nach jeder Frage zählst du innerlich bis fünf, bevor du weiterredest. Lass dir die Einstiegsfragen von jemandem beantworten und schreib dabei die Wörter wörtlich mit. Dann sagst du: „Sie hatten gesagt …“. Genau das hat bei allen drei Richtern Vertrauen gebracht.</li><li>Die acht Einwände mit „(oft)“ lässt du dir von jemandem in zufälliger Reihenfolge stellen und antwortest frei, nicht abgelesen. Wichtig ist der Datenschutz-Einwand: Cloudflare und Anthropic, Standardvertragsklauseln, „in der Regel“ 30 Tage, „wer nicht einwilligt, wird ganz normal beraten“. Die übrigen Einwände reicht es zu kennen.</li><li>Die Bitte (ab Minute 9:30) übst du am meisten. Sprich sie langsam. Nach „Welche Uhrzeit passt Ihnen?“ schweigst du und trägst den Termin vor ihren Augen in dein Handy ein. Bist du bei Minute 9 noch nicht bei den Grenzen, nimmst du die Kürzungsregel und streichst nie die Bitte.</li><li>Plan B übst du einmal trocken: Hotspot aus und dann die Bildschirmfotos in unter zehn Sekunden finden. Den Satz „Da hakt gerade die Verbindung …“ sprichst du ruhig. Merk dir: Zwei Minuten aufs Handy schauen, erst bei drei Minuten kommt die Warnung am PC, und neu geladen wird nichts.</li><li>Lies das Datenschutz-Blatt (vor allem Abschnitt 4 bis 7) und die Kurzanleitung einmal ganz durch. Die Datenschutzbeauftragte der FID wird deine mündlichen Sätze mit dem Blatt vergleichen. Alles, was du sagst, muss dort genauso stehen.</li></ul>
<h2>Ankommen und aufbauen</h2><ul><li>Am Vortag (Mi 28.10.): Generalprobe 3, genau wie am Termin. Danach den Stand des Vorführ-Codes prüfen: node tools/einrichtungs-code.js stand VORF-2EDF. Es müssen genug Briefe für zwei bis drei Versuche übrig sein. Bildschirmfotos und ein kurzes Video vom Mittwoch (dann ist die Ampel rot) offline auf den Laptop legen. Laptop und Handy laden, Ladekabel einpacken.</li><li>Mappe in dieser Reihenfolge: 2× Musterbrief, 5× Handzettel und 5× Kurzanleitung (beide mit dem MBE-Code vom Di 27.10.), 2× Datenschutz-Blatt. Dazu die ausgedruckte Seite 36–37 der DeZIM-Evaluation, nur falls jemand nach der Zahl fragt. Notizblock und Stift legst du obenauf. Den MBE-Code löst du nie auf deinem eigenen Laptop ein. Für die Vorführung nimmst du nur VORF-2EDF.</li><li>10–15 Minuten vorher, noch im Auto: Handy-Hotspot an, Laptop damit verbinden. Nicht das WLAN der Stelle nehmen. behoerdenklar.de/demo öffnen. Oben muss „🤝 Kostenlos über MBE Donnersberg (Vorführung)“ stehen. Bei „Erklärung in dieser Sprache“ jetzt schon „العربية – Arabisch“ einstellen. Auf „Lieber mit dem Handy fotografieren“ klickst du noch NICHT, denn der QR-Code gilt nur 15 Minuten. Das Häkchen „Hier am Bildschirm immer auf Deutsch zeigen …“ erscheint erst nach diesem Klick und ist von selbst gesetzt. Dann kurz prüfen.</li><li>Laptop: im Terminal caffeinate -d, „Nicht stören“ an, Ton aus, Ladekabel dran, Helligkeit hoch, alle anderen Tabs zu. Browser-Zoom etwa 125 % (Cmd und Plus), damit auch die hinterste Person mitlesen kann.</li><li>Handy: Akku voll, automatische Sperre auf „Nie“, Stromsparmodus aus, lautlos und „Nicht stören“ an. Kameralinse sauber wischen und einmal prüfen, ob die Kamera QR-Codes erkennt.</li><li>Drinnen allen die Hand geben. Die Namen schreibst du sofort mit einer kleinen Skizze, wer wo sitzt, oben auf den Block. Dann fragst du: „Wo darf ich den Laptop hinstellen, damit alle draufschauen können? Ich nehme mein eigenes Internet vom Handy, Ihr WLAN brauche ich nicht.“ Den Bildschirm zum Team drehen, du sitzt seitlich daneben und nicht dahinter.</li><li>Wer hält was: Den Laptop bedienst du. Du fotografierst auch selbst mit deinem Handy, das in der Vorführung „das Handy von Herrn Beispiel“ ist. In Minute 3 gibst du Musterbrief Nr. 1 einer Person aus dem Team in die Hand. Sie ist die Kontrolle und prüft am Ende das Ergebnis gegen das Original. Musterbrief Nr. 2 liegt flach vor dir, im guten Licht, zum Fotografieren. Während die KI arbeitet, bleibt das Handy bei dir, der Bildschirm bleibt an und du öffnest keine andere App. Erst wenn das Ergebnis da ist, darf jemand, der Arabisch liest, es halten.</li><li>Handzettel, Kurzanleitung und Datenschutz-Blatt bleiben bis zur Bitte (etwa Minute 9:30) in der Mappe, sonst lesen alle, statt zuzuschauen. Nur der Notizblock liegt offen vor dir. Das zeigt: Ich bin zum Zuhören hier.</li><li>Dauert der Aufbau, während alle warten, sagst du einfach: „Ich mach das nur kurz an, dann geht&#x27;s los.“</li><li>Letzter Blick vor dem ersten Satz: Ist die Seite offen, steht das Banner „Kostenlos über …“ da, ist Arabisch eingestellt und hat der Hotspot Empfang? Leg die Uhr so, dass du sie siehst. Merke dir: Bei etwa Minute 9:30 solltest du bei der Bitte sein.</li></ul>
<h2>Die ersten Sätze (auswendig)</h2><div class="sag"><p>Guten Tag. Schön, dass es heute klappt, und danke, dass Sie sich die Zeit nehmen.</p>
<p>Ich bin Justin Klein. Ich komme aus Winnweiler, also fast von nebenan.</p>
<p>Schwierige Briefe vom Amt kenne ich von klein auf. Meine Mutter ist selbst nach Deutschland gekommen. Solche Briefe gehörten bei uns zum Alltag. Deshalb habe ich BehördenKlar gebaut.</p>
<p>Ich habe mir etwa eine Viertelstunde vorgenommen. Passt das für Sie?</p>
<p class="regie">(kurz warten)</p>
<p>Ich habe zwei Sachen vor. Ich zeige Ihnen an einem Musterbrief, was es kann. Und ich möchte von Ihnen hören, ob das Ihren Ratsuchenden wirklich hilft. Sie kennen die Menschen, die zu Ihnen kommen. Ich kenne nur die Technik.</p>
<p>Heute geht es nicht um einen Vertrag. Am Ende habe ich eine Bitte an Sie, aber die kommt erst zum Schluss.</p>
<p>Bevor ich irgendwas zeige: Darf ich Sie zuerst etwas fragen?</p></div>
<h2>Ablauf</h2>
<div class="block"><h3><span class="zeit">0:00–1:00</span>Begrüßung: wer ich bin, was ich vorhabe</h3><div class="tun"><b>Tun:</b> Setz dich oder bleib stehen, je nachdem, was das Team anbietet. Der Laptop steht schon da, aber du zeigst noch nicht darauf. Die Eröffnung sprichst du wörtlich, langsam und mit Blickkontakt reihum. Nach „Passt das für Sie?“ wartest du wirklich auf eine Antwort.<br>KÜRZUNGSREGEL, wenn sie sagen „Wir haben nur zehn Minuten“: Die DeZIM-Zahl lässt du weg. Die Grenzen kürzt du auf drei Sätze (KI kann sich irren, keine Rechtsberatung, kein Vorlesen). Beim Zuhören stellst du nur die erste Frage, den Ausblick lässt du weg. Die Bitte (Code und 26.11.) streichst du nie.</div><p class="tun"><i>Die Eröffnung wörtlich, siehe oben. Der letzte Satz ist: „Bevor ich irgendwas zeige: Darf ich Sie zuerst etwas fragen?“</i></p></div>
<div class="block"><h3><span class="zeit">1:00–2:30</span>Erst fragen, dann zeigen</h3><div class="tun"><b>Tun:</b> Stell die Frage und sei dann wirklich still. Zähl innerlich bis fünf, bevor du nachhakst. Schreib ihre eigenen Wörter mit, zum Beispiel „kommt zu spät“ oder „erst mal vorlesen“. Genau diese Wörter greifst du später in der Vorführung wieder auf. Unterbrich nicht und antworte nicht sofort mit dem Produkt. Erzählen sie viel, ist das gut, dann wird die Überleitung kürzer.</div><div class="sag"><p>„Wenn jemand mit einem Brief zu Ihnen kommt: Was passiert dann als Erstes?“</p>
<p class="regie">(zuhören, mitschreiben)</p>
<p>„Und wie oft sind Termin oder Frist dann schon ganz knapp?“</p>
<p class="regie">(zuhören)</p>
<p class="regie">[Wenn es still bleibt:] „Oder anders gefragt: Was war der letzte Brief, der hier bei Ihnen auf dem Tisch lag?“</p>
<p>„Danke. Das hilft mir wirklich.“</p></div></div>
<div class="block"><h3><span class="zeit">2:30–3:30</span>Der Gedanke dahinter und der Musterbrief</h3><div class="tun"><b>Tun:</b> Den Satz mit der Studie sagst du nur, wenn er zu dem passt, was das Team gerade erzählt hat. Haben sie es schon selbst gesagt, lässt du die Zahl weg und sagst nur: „Sie haben es ja selbst gesagt.“ Die Quelle nennst du nur auf Nachfrage: DeZIM-Evaluation der MBE (2025), Befragung von Ratsuchenden im Frühjahr 2024, S. 36–37. Dann gibst du Musterbrief Nr. 1 einer Person aus dem Team in die Hand.</div><div class="sag"><p class="regie">[Nur wenn es passt:] „Das passt zur Evaluation der MBE vom DeZIM-Institut. Da haben rund sechs von zehn befragten Ratsuchenden gesagt: Sie haben in der Beratung Hilfe bekommen, Dokumente zu verstehen, zu übersetzen oder auszufüllen. Aber das wissen Sie besser als jede Studie.“</p>
<p>„Mich hat eine Frage beschäftigt. Der Brief ist ja nicht erledigt, wenn die Person aus Ihrer Tür geht. Zu Hause muss sie selbst dran denken. Unterlagen suchen. Zum Termin gehen. Vielleicht absagen.</p>
<p>Bei Ihnen heißt das Hilfe zur Selbsthilfe, oder? Genau da soll BehördenKlar helfen.</p>
<p>Ich habe einen Brief von einer Ausländerbehörde mitgebracht. Der Grund: Aufenthalt war in der Evaluation der häufigste Hauptgrund, warum Menschen zur MBE kommen. Alles daran ist erfunden: Kreisverwaltung Musterhausen, Herr Ahmad Beispiel.</p>
<p>Darf ich Ihnen den geben? Sie haben jetzt das Original. Am Ende schauen Sie bitte, ob alles stimmt.“</p></div></div>
<div class="block"><h3><span class="zeit">3:30–4:30</span>Vorführung: Herr Beispiel fotografiert mit seinem Handy</h3><div class="tun"><b>Tun:</b> 1. Kurz auf den Laptop zeigen: oben „Kostenlos über MBE Donnersberg (Vorführung)“, darunter Arabisch. Erst jetzt klickst du auf „📱 Lieber mit dem Handy fotografieren“.<br>2. Mit deinem Handy scannst du den QR-Code mit der normalen Kamera und öffnest den Link. Am PC erscheint „✅ Handy verbunden …“, darauf zeigst du.<br>3. Das Handy hältst du ins Team, damit alle die arabische Seite mit dem Häkchen-Text sehen. Dann setzt du das Häkchen, wartest, bis die Cloudflare-Prüfung durch ist, und tippst auf den Knopf mit 📷. In der Auswahl tippst du auf „Foto aufnehmen“ (Android: „Kamera“). Musterbrief Nr. 2 fotografierst du von oben, mit dem ganzen Text im Bild, und tippst auf „Foto verwenden“.<br>4. Das Handy behältst du in der Hand oder legst es mit dem Bildschirm nach oben neben den Laptop. Es bleibt an, und du öffnest keine andere App.</div><div class="sag"><p>„Stellen Sie sich vor, Herr Beispiel sitzt jetzt bei Ihnen. Er spricht Arabisch und noch wenig Deutsch.</p>
<p>Hier am Laptop sehen Sie Ihren Bildschirm in der Beratung. Ich habe Arabisch eingestellt und klicke jetzt auf ‚Lieber mit dem Handy fotografieren‘.</p>
<p>Das hier ist jetzt mal das Handy von Herrn Beispiel. Er scannt den Code mit der normalen Kamera. Keine App, kein Konto.</p>
<p class="regie">(scannen)</p>
<p>Am PC steht jetzt: Handy verbunden.</p>
<p class="regie">(Handy hochhalten)</p>
<p>Und das sieht Herr Beispiel. Die Seite ist auf Arabisch, auch die Einwilligung. Nur die ausführliche Datenschutzerklärung dahinter gibt es bisher auf Deutsch, das steht auch so am Link. Sie können das gerade nicht lesen. Er kann es. Darum geht es.</p>
<p>Das Häkchen setzt er selbst, für genau diesen einen Brief. Dann fotografiert er.“</p></div></div>
<div class="block"><h3><span class="zeit">4:30–5:30</span>Wartezeit: kurz zum Datenschutz, dann fragen</h3><div class="tun"><b>Tun:</b> Sprich den Text für die Wartezeit (siehe unten). Bei der Frage an das Team schreibst du ihre Punkte als Liste mit, denn die hakst du gleich ab. Kommt das Ergebnis, während jemand redet, lässt du die Person ausreden. Nichts neu laden. Nach etwa zwei Minuten schaust du aufs Handy. Was nach drei Minuten zu tun ist, steht im Plan B.</div><p class="tun"><i>Siehe Wartezeit-Text. Der Kern ist die Frage: „Wenn Herr Beispiel mit diesem Brief zu Ihnen käme: Was müsste er unbedingt verstehen?“</i></p></div>
<div class="block"><h3><span class="zeit">5:30–7:00</span>Erstens: Er versteht seinen Brief</h3><div class="tun"><b>Tun:</b> Dreh den Laptop zum Team. Zeig die Kernaussage oben und „Einfach erklärt“. Lies nur vor, was wirklich dasteht, denn die KI formuliert jedes Mal etwas anders. Hake die Punkte des Teams von deinem Block ab. Dann lässt du die Person mit dem Original prüfen. Fehlt etwas oder stimmt etwas nicht: ruhig bleiben, danken und nicht verteidigen. Unter „Schwere Wörter erklärt“ klappst du „Fiktionsbescheinigung“ auf. Steht sie nicht in der Liste, nimmst du ein anderes Wort von dort. Zum Schluss hältst du das Handy mit Arabisch hoch und zeigst oben den Umschalter Deutsch | العربية. Den Brief selbst erklärst du nicht inhaltlich, das kann das Team besser.</div><div class="sag"><p>„Da ist es. Hier am PC steht es auf Deutsch, für Sie. Ganz oben steht in einem Satz, worum es geht, darunter einfach erklärt.</p>
<p>Sie hatten gesagt: (ihre Punkte nennen). Schauen wir mal.</p>
<p class="regie">(abgleichen)</p>
<p>Sie haben das Original in der Hand. Stimmt das so? Stimmen Termin und Frist?</p>
<p class="regie">(Antwort abwarten)</p>
<p class="regie">[Falls etwas fehlt oder nicht stimmt:] Das hat sie nicht so deutlich gemacht. Gut, dass er damit bei Ihnen sitzt.</p>
<p>Und hier stehen die schweren Wörter. ‚Fiktionsbescheinigung‘ bleibt auf Deutsch stehen, auf seinem Handy ist nur die Erklärung übersetzt. So findet er das Wort im Brief wieder. Und er kann Sie gezielt fragen: Was heißt das für mich?</p>
<p class="regie">(Handy hochhalten)</p>
<p>Herr Beispiel liest dasselbe gleichzeitig auf seinem Handy, auf Arabisch. Liest jemand von Ihnen Arabisch? Dann schauen Sie ruhig drauf.“</p></div></div>
<div class="block"><h3><span class="zeit">7:00–8:30</span>Zweitens und drittens: Termin, Frist und ein nötiger Anruf, dann das, was nur Sie können</h3><div class="tun"><b>Tun:</b> Zeig die Ampel. Am 29.10. sollte sie rot sein (Termin am 03.11.). Lies vor, was dasteht. Dann tippst du am Handy auf den Knopf mit 📅 (er ist auf Arabisch), zeigst kurz die Kalender-Vorschau und brichst ab. Am PC klickst du nie auf den Kalender-Knopf. Danach zeigst du am PC die Karte „Anrufen“: die Nummer, das Aktenzeichen und die Sätze. Dafür klickst du am PC oben im Umschalter auf „العربية“, erst dann steht unter jedem deutschen Satz die arabische Bedeutung. Danach wieder auf „Deutsch“. Den Anruf zeigst du nur für den Fall „Termin absagen“, wie es im Brief steht. Hintergrund: Die Ausländerbehörde im Kreis bittet, auf telefonische Nachfragen zum Stand zu verzichten. Termine vereinbart oder sagt man dort aber per Telefon oder Mail. Genau dafür ist die Anruf-Hilfe da. Es wird nicht wirklich angerufen. Zum Schluss hältst du das Handy hoch und zeigst unten den Hinweis „🤝 Noch Fragen zu diesem Brief? Ihre Beratungsstelle … hilft Ihnen gern weiter.“</div><div class="sag"><p>„Zweitens: Termin und Frist. Die Ampel ist rot. Rot heißt: eine Woche oder weniger. Hier steht, was er tun muss und bis wann.</p>
<p class="regie">(am Handy auf den Kalender-Knopf tippen)</p>
<p>Mit wenigen Tipps an seinem Handy kommen Termin und Frist in seinen Kalender. Wenn er speichert, ist im Eintrag eine Erinnerung drei Tage und einen Tag vorher eingestellt. Der Eintrag liegt nur bei ihm. Nicht bei mir, und auch nicht bei Ihnen.</p>
<p>Drittens: falls er doch anrufen muss. Im Brief steht, wer den Termin nicht schafft, soll vorher absagen. Dafür gibt es die Anruf-Hilfe: die Nummer aus dem Brief, das Aktenzeichen und ein paar Sätze. Ich schalte hier kurz auf Arabisch, so sieht Herr Beispiel das auf seinem Handy. Oben steht der Satz auf Deutsch, so sagt er ihn. Darunter steht er auf Arabisch, damit er weiß, was er sagt. Die KI hat die Regel, eine Nummer nur zu nehmen, wenn sie wörtlich im Brief steht.</p>
<p>Das sind die drei Sachen. Er versteht seinen Brief. Er denkt leichter an Termin und Frist. Und er ist vorbereitet, wenn ein Anruf nötig ist.</p>
<p>Und dann bleibt das, was nur Sie können. Wie kommt er an einen Pass? Reicht der Bescheid vom Jobcenter? Was heißt das für seinen Aufenthalt? Das kann keine KI. Das sind Sie. Selbstständig heißt nicht allein.</p>
<p class="regie">(Handy hochhalten)</p>
<p>Und hier unten steht bei jeder Erklärung, auf Arabisch: Noch Fragen zu diesem Brief? Ihre Beratungsstelle MBE Donnersberg hilft Ihnen gern weiter. BehördenKlar schickt die Leute zu Ihnen, nicht weg.“</p></div></div>
<div class="block"><h3><span class="zeit">8:30–9:30</span>Ehrlich: was es nicht kann</h3><div class="tun"><b>Tun:</b> Sprich ruhig und sachlich, ohne dich zu entschuldigen. Diesen Block sagst du, bevor du um etwas bittest. Die FID bietet Alphabetisierungskurse an, deshalb gehört der Satz zum Lesen unbedingt dazu. Bist du hinter der Zeit, sagst du nur den ersten Satz, die KI, die Rechtsberatung und das Vorlesen.</div><div class="sag"><p>„Ich will Ihnen auch sagen, was es nicht kann. Lieber jetzt als in vier Wochen.</p>
<p>Eine KI kann sich irren. Sie hat feste Regeln, zum Beispiel: Ein Datum, das sie nicht sicher lesen kann, lässt sie leer. Lieber kein Datum als ein falsches. Trotzdem prüft man Fristen immer am Original.</p>
<p>Es ist keine Rechtsberatung.</p>
<p>Es geht ein Foto pro Erklärung. Bei mehreren Seiten nimmt man die mit Betreff und Frist.</p>
<p>Vorlesen kann die Seite nicht. Wer gar nicht lesen kann, für den ist es nur eine halbe Hilfe.</p>
<p>Die Erklärung bleibt nur, solange die Seite offen ist. Was bleibt, ist der Kalender-Eintrag. Am PC können Sie die Erklärung aber ausdrucken, auch in der Sprache der Person.</p>
<p>Und die Übersetzungen macht die KI, bei jedem Brief neu. Von Muttersprachlern geprüft ist bisher keine Sprache. Am unsichersten bin ich bei Tigrinya, Somali, Paschtu und Kurdisch. Wenn Ihnen da etwas auffällt, sagen Sie es mir bitte.“</p></div></div>
<div class="block"><h3><span class="zeit">9:30–11:00</span>Die zwei Bitten: Testzugang und 26. November</h3><div class="tun"><b>Tun:</b> Erst jetzt öffnest du die Mappe. Jede Person bekommt einen Handzettel und eine Kurzanleitung, das Datenschutz-Blatt legst du extra hin. Zeig auf den Code. Den Namen der Datenschutz-Person schreibst du auf. Für den 26.11. lässt du sie die Uhrzeit nennen, trägst sie vor ihren Augen in dein Handy ein und wiederholst sie laut. Die Rolle beim Datenschutz (wer verantwortlich ist) legst du heute nicht fest. Das Lesezeichen richtest du nicht jetzt ein. Du bietest es nur für die Zeit nach dem Gespräch an, und nur, wenn ihre IT einverstanden ist. Nach „Welche Uhrzeit passt Ihnen?“ schweigst du.</div><div class="sag"><p>„Jetzt meine Bitte. Eigentlich sind es zwei.</p>
<p>Die erste: Ich lasse Ihnen gern einen Testzugang da. Einen Monat, bis zum 29. November, für bis zu 100 Briefe. Für Ihre Stelle ist das kostenlos, und über Ihren Code zahlen auch Ihre Ratsuchenden nichts. Es gibt keinen Vertrag, der Test endet von selbst.</p>
<p>Hier steht der Code. Er ist nur für Mitarbeitende, bitte nicht im Wartebereich auslegen. „Und das ist die Kurzanleitung für den PC: vorne die sechs Schritte, hinten, was zu tun ist, wenn etwas hakt.“ Wenn Sie mögen, richten wir das Lesezeichen nach dem Gespräch zusammen ein, wenn Ihre IT einverstanden ist.</p>
<p>Für den Test schlage ich vor: Die Ratsuchenden fotografieren mit dem eigenen Handy und setzen das Häkchen selbst, so wie eben. Bitte laden Sie keine Briefe selbst am Dienst-PC hoch. Dafür bekommen Sie vorher einen AVV-Entwurf von mir.</p>
<p>Sie gehören zur Förderinitiative Donnersberg, richtig? Wer macht dort den Datenschutz? Dieses Blatt ist für diese Person.</p>
<p class="regie">(Namen aufschreiben)</p>
<p>Die zweite Bitte: Darf ich am Donnerstag, 26. November, wiederkommen? Dann schauen wir zusammen, was es gebracht hat, und was nicht. Ich bringe mit, wie viele Briefe pro Woche und in welchen Sprachen genutzt wurden. Das sind nur Zahlen, ohne Inhalte.</p>
<p>Welche Uhrzeit passt Ihnen?“</p>
<p class="regie">(eintragen und wiederholen: „Also Donnerstag, 26. November, um … Uhr.“)</p></div></div>
<div class="block"><h3><span class="zeit">11:00–12:30</span>Zuhören: woran wir den Test messen</h3><div class="tun"><b>Tun:</b> Das ist die wichtigste Frage des Termins. Stell sie, sei still und schreib mit, denn die Antworten sind die Messlatte für den 26.11. Danach stellst du je nach Zeit ein oder zwei Fragen mehr. Nichts verteidigen. Auf Kritik antwortest du: „Danke, das schreibe ich mir auf.“ Versprich keine neue Funktion und kein Datum.</div><div class="sag"><p>„Und eine Frage ist mir wirklich wichtig: Was müsste bis zum 26. November passiert sein, damit Sie sagen, das hat Ihren Ratsuchenden geholfen?</p>
<p class="regie">(zuhören, mitschreiben)</p>
<p>Und andersherum: Was müsste passieren, damit Sie sagen, das lassen wir lieber?</p>
<p class="regie">(zuhören)</p>
<p class="regie">[Wenn Zeit ist:] Wo würde das bei Ihnen passen? Und wo eher nicht?</p>
<p class="regie">[Wenn Zeit ist:] Wer von Ihnen probiert es als Erstes aus? Soll ich mich nach der ersten Woche kurz melden, oder melden Sie sich, wenn etwas ist?“</p></div></div>
<div class="block"><h3><span class="zeit">12:30–13:30</span>Abschluss (und nur wenn es passt: ein leiser Ausblick)</h3><div class="tun"><b>Tun:</b> Den Ausblick (siehe „bundesweit“) sagst du nur, wenn Code und 26.11. feststehen und die Stimmung gut ist. Sonst gehst du direkt zum Abschluss und sprichst ihn wörtlich. Danach aufstehen, Hände schütteln und nichts mehr nachschieben. Kommt noch eine Frage, antwortest du kurz. Wollen sie das Lesezeichen jetzt einrichten, geht das nach dem Abschluss: die Adresse von der Kurzanleitung von Hand als Lesezeichen anlegen (mit „oe“, ohne „www“). Danach öffnen und prüfen, ob oben „Kostenlos über MBE Donnersberg“ steht.</div><p class="tun"><i>Wenn es passt, erst der Ausblick, dann der Abschluss (beides siehe unten).</i></p></div>
<div class="block"><h3><span class="zeit">jederzeit</span>Plan B, wenn etwas hakt</h3><div class="tun"><b>Tun:</b> Kein Internet: Hotspot neu verbinden. Geht es dann immer noch nicht, zeigst du die Bildschirmfotos vom Mi 28.10.<br>Die KI braucht lange: Nach etwa zwei Minuten aufs Handy schauen. Rechnet es noch, wartest du, redest weiter und lädst nichts neu. Erst nach drei Minuten zeigt der PC „⚠️ Das dauert ungewöhnlich lange …“. Steht die Erklärung dann am Handy schon da, tippst du dort auf den Knopf mit 🔁 (er ist auf Arabisch). Diesen Knopf gibt es nur, wenn die Übergabe gescheitert ist. Sonst brichst du am PC ab, klickst neu auf „Lieber mit dem Handy fotografieren“ und fotografierst noch einmal. Jede fertige Erklärung kostet einen Brief vom Vorführ-Code, auch wenn sie nicht am PC ankommt. Fehlversuche ohne Ergebnis kosten nichts.<br>Der Laptop hängt, aber das Handy hat das Ergebnis: Dann zeigst du einfach das Handy und schaltest dort auf Deutsch um.<br>Fehlt „Deutsch | العربية“: „Hier hat die Übersetzung gehakt.“ Dann zeigst du die Bildschirmfotos.<br>Fehlermeldung: ruhig bleiben, einen zweiten Versuch machen, sonst die Bildschirmfotos zeigen.<br>Wird die Zeit knapp, gilt die Kürzungsregel aus Minute 0. Code und 26.11. haben immer Vorrang.</div><div class="sag"><p>„Da hakt gerade die Verbindung. Das kann im Alltag auch mal passieren, deshalb ist es gut, dass Sie es sehen.“</p>
<p>Bei Bildschirmfotos: „Ich zeige Ihnen, wie es aussieht. Den Zugang lasse ich Ihnen da, dann sehen Sie es im Test selbst.“</p></div></div>
<div class="block"><h3><span class="zeit">danach (am selben Tag)</span>Nach dem Termin</h3><div class="tun"><b>Tun:</b> Gleich im Auto ergänzt du die Notizen: Namen, die Antworten auf die Messlatte-Frage, alle Einwände, die Datenschutz-Person und die Uhrzeit am 26.11. Noch am selben Tag schreibst du eine kurze Dankes-Mail mit Code, Adresse und Termin. Das Datenschutz-Blatt hängst du als PDF für die genannte Person an. Dann Claude Bescheid geben, damit STAND.md aktuell wird.</div><div class="sag"><p>Kern der Mail: „Vielen Dank für das Gespräch heute. Wie besprochen: Ihr Code lautet …, gültig bis 29.11., für bis zu 100 Briefe. Wir sehen uns am Donnerstag, 26.11., um … Uhr. Wenn vorher etwas hakt, rufen Sie mich gern an: 0170 4969375.“</p></div></div>
<h2>Wartezeit (etwa eine Minute)</h2><div class="sag"><p>„Jetzt arbeitet die KI. Das dauert etwa eine Minute, manchmal zwei. Es sind zwei Schritte: Erst schreibt sie die Erklärung auf Deutsch, für Sie am PC. Dann übersetzt sie sie ins Arabische, für sein Handy.</p>
<p>Kurz dazu, was gerade mit dem Brief passiert. Das Foto geht verschlüsselt an unseren Server. Der läuft bei Cloudflare, einer Firma aus den USA. Von dort geht es an den KI-Dienst Anthropic, ebenfalls in den USA. Bei uns wird der Brief nicht gespeichert. Anthropic löscht ihn in der Regel nach 30 Tagen und trainiert nicht damit. Das stand eben auch beim Häkchen, auf Arabisch. Und wer das Häkchen nicht setzen will, wird ganz normal beraten, wie bisher.</p>
<p>Darf ich Sie etwas fragen, solange es läuft? Wenn Herr Beispiel mit diesem Brief zu Ihnen käme: Was müsste er unbedingt verstehen?“</p>
<p class="regie">(zuhören, ihre Punkte als Liste mitschreiben)</p>
<p>„Gut. Dann schauen wir gleich, ob die KI das auch gefunden hat.“</p>
<p class="regie">(Falls es noch läuft:)</p>
<p>„Die Erklärung kommt gleich vom Handy auf den PC. Diese Übergabe ist Ende-zu-Ende verschlüsselt. Den Schlüssel hat nur der QR-Code, unser Server kann sie nicht lesen. Für Ihre Datenschutzstelle habe ich ein Blatt dabei. Da steht alles genau drin, auch was nicht geht.“</p>
<p class="regie">(Falls es immer noch läuft:)</p>
<p>„Welche Sprachen brauchen Sie hier am meisten?“</p>
<p class="regie">(Nach etwa zwei Minuten:)</p>
<p>„Heute dauert es etwas länger. Ich lasse es laufen und schaue kurz aufs Handy.“ (Nichts neu laden, weiter siehe Plan B.)</p>
<p>(Kommt das Ergebnis mitten im Satz: den Satz zu Ende sprechen, dann:) „Da ist es.“</p></div>
<h2>Abschluss</h2><div class="sag"><p>„Vielen Dank für Ihre Zeit und für Ihre ehrlichen Antworten.</p>
<p>Ich fasse kurz zusammen. Sie haben den Code, er gilt bis zum 29. November, für bis zu 100 Briefe. Das Datenschutz-Blatt schicke ich [Name] heute noch als PDF. Und am Donnerstag, 26. November, komme ich um [Uhrzeit] wieder.</p>
<p>Wenn bis dahin etwas hakt, rufen Sie mich an. Die Nummer steht auf jedem Blatt. Auch bei Kleinigkeiten. Gerade bei Kleinigkeiten.</p>
<p>Ich bin gespannt, was Ihre Ratsuchenden sagen. Auch wenn es heißt: So brauchen wir das nicht. Das hilft mir genauso.“</p>
<p class="regie">(Falls das Team noch zögert:)</p>
<p>„Sie müssen heute nichts entscheiden. Ich lasse Ihnen alles da. Der Code kostet Sie nichts und läuft Ende November von selbst aus. Darf ich mich Anfang nächster Woche kurz melden und fragen, wie Sie es sehen?“</p></div>
<h2>Der Gedanke „auch für andere Stellen“</h2><div class="block" style="border:none"><p>WANN: Höchstens einmal, ganz am Ende, wenn Code und 26.11. feststehen, und nur wenn die Stimmung gut ist. Nie vor dem Angebot und nie als Argument dafür. Nenn keine Zahl, keinen Verband und bitte heute um nichts. Wenn es sich nicht richtig anfühlt, lässt du es weg. Am 26.11. ist dafür genauso Platz.</p>
<p>WÖRTLICH (vor dem Abschluss, ruhig, als Gedanke und nicht als Plan):</p>
<p>„Noch ein Gedanke zum Schluss, ganz ohne Druck. Ich fange bewusst hier an. Bei Ihnen, in meinem Landkreis. Wenn es hier nicht hilft, dann hilft es woanders auch nicht. Und wenn es hier gut funktioniert, haben wir zusammen etwas herausgefunden, das vielleicht auch anderen Beratungsstellen hilft. Aber das ist heute nicht dran. Ob und wem Sie davon erzählen, entscheiden Sie. Und zwar erst, wenn Sie selbst überzeugt sind.“</p>
<p>Danach direkt zum Abschluss, ohne Pause für eine Antwort.</p>
<p>WENN DAS TEAM SELBST DAMIT ANFÄNGT (z. B. „Das wäre ja was für alle MBE-Stellen“):</p>
<p>„Das wäre schön. Aber erst muss es bei Ihnen funktionieren. Wenn es das tut, würde ich Sie am 26. November gern fragen, wie man das am besten angeht. Sie kennen den Weg viel besser als ich.“</p>
<p>NUR AUF NACHFRAGE („Machen Sie das auch woanders?“):</p>
<p>„Noch nicht. Sie wären die erste Stelle mit einem eigenen Testzugang. Die Migrationsberatung gibt es an rund 900 Stellen, das stand im Juni in einer Pressemeldung der Wohlfahrtsverbände. Aber erst mal will ich wissen, ob es hier in Kirchheimbolanden hilft.“ (Den ersten Satz sagst du nur, wenn er am 29.10. noch stimmt.)</p>
<p>AM 26.11. (nur wenn der Test gut gelaufen ist):</p>
<p>„Kennen Sie Kolleginnen und Kollegen, bei denen das auch helfen könnte? Zum Beispiel bei Ihnen in Alzey oder im MBE-Arbeitskreis? Dürfte ich sagen, dass Sie es getestet haben?“</p>
<p>HINTERGRUND (nur für dich, nicht sagen):</p>
<p>- Die MBE ist ein Bundesprogramm mit rund 900 Beratungsstellen. Die Stelle in Kirchheimbolanden gehört zur Förderinitiative Donnersberg e.V. (FID), und die ist Mitglied im Paritätischen.</p>
<p>- Der Weg geht Schritt für Schritt und immer über Empfehlung: zuerst FID Alzey (gleicher Träger, gleicher AVV). Dann die anderen MBE-Stellen des Paritätischen in Rheinland-Pfalz, zum Beispiel ABZ Kaiserslautern und Wörth. Dann das Referat Migration des Paritätischen in Mainz. Erst danach kommt der Paritätische Gesamtverband als Zentralstelle mit seinen MBE-Workshops, und noch später BAMF und Ministerium.</p>
<p>- Bevor du mit einem Verband sprichst, muss Folgendes fertig sein: AVV, TOMs, ein dokumentierter Test (Nutzung pro Woche und Sprache, Rückmeldungen, Liste der Fehler) und eine Prüfung von Tigrinya, Somali, Paschtu und Kurdisch durch Muttersprachler.</p>
<p>- Geld aus der MBE-Förderung läuft über die Träger, nicht über Webklar. Das ist erst nach der Auswertung ein Thema, und nur, wenn die FID es anspricht.</p>
<p>- Trete nicht vor der MBE beim Beirat für Migration oder bei der Integrationsbeauftragten des Kreises auf.</p></div>
<h2>Fragen an das Team</h2><ul><li>(Einstieg) „Wenn jemand mit einem Brief zu Ihnen kommt: Was passiert dann als Erstes?“</li><li>(Einstieg) „Wie oft sind Termin oder Frist dann schon ganz knapp?“</li><li>(Ersatz, wenn es still bleibt) „Was war der letzte Brief, der hier bei Ihnen auf dem Tisch lag?“</li><li>(Wartezeit) „Wenn Herr Beispiel mit diesem Brief zu Ihnen käme: Was müsste er unbedingt verstehen?“</li><li>(Ergebnis) „Sie haben das Original in der Hand. Stimmt das so? Stimmen Termin und Frist?“</li><li>(Handy) „Liest jemand von Ihnen Arabisch? Versteht man das?“</li><li>(Wartezeit, falls länger) „Welche Sprachen brauchen Sie hier am meisten?“</li><li>(Bitte, zur Bestätigung und nicht als Wissenstest) „Sie gehören zur Förderinitiative Donnersberg, richtig? Wer macht dort den Datenschutz?“</li><li>(Bitte) „Welche Uhrzeit passt Ihnen am 26. November?“</li><li>(Die wichtigste) „Was müsste bis zum 26. November passiert sein, damit Sie sagen, das hat Ihren Ratsuchenden geholfen?“</li><li>(Ehrlich) „Und was müsste passieren, damit Sie sagen, das lassen wir lieber?“</li><li>(Wenn Zeit ist) „Wo würde das bei Ihnen passen? Und wo eher nicht?“</li><li>(Wenn Zeit ist) „Haben die meisten Ihrer Ratsuchenden ein eigenes Smartphone dabei?“</li><li>(Wenn Zeit ist) „Wer von Ihnen probiert es als Erstes aus? Soll ich mich nach der ersten Woche kurz melden, oder melden Sie sich, wenn etwas ist?“</li><li>NICHT HEUTE, erst am 26.11. und nur wenn der Test gut war: „Würden Sie es weiterempfehlen? Kennen Sie Kolleginnen und Kollegen, zum Beispiel in Alzey oder im MBE-Arbeitskreis? Arbeiten Sie mit dem Jugendmigrationsdienst zusammen?“</li></ul>
<h2>Einwände, ausführlich</h2><div class="einwand"><b>(oft) Wohin gehen die Daten? In die USA?</b>Ja, das sage ich offen. Unser Server läuft bei Cloudflare, die KI ist von Anthropic. Beide sitzen in den USA. Die Übermittlung stützt sich auf EU-Standardvertragsklauseln. Die stehen in den Auftragsverarbeitungsverträgen von Cloudflare und Anthropic, die Fundstellen schicke ich Ihrer Datenschutzstelle gern. Bei uns wird der Brief nicht gespeichert. Anthropic löscht ihn in der Regel nach 30 Tagen, bei Verdacht auf Missbrauch länger, und trainiert nicht damit. Eine Beschränkung auf Rechenzentren in der EU ist nicht eingestellt. Die Person willigt für jeden Brief einzeln ein, am Handy in ihrer Sprache. Und wer nicht einwilligt, wird ganz normal beraten.</div><div class="einwand"><b>(oft) Das muss unsere Datenschutzstelle freigeben. Brauchen wir einen AVV? Eine Folgenabschätzung?</b>Ja, bitte fragen Sie da unbedingt nach. Für die Datenschutzstelle ist das Blatt. Da steht auch offen drin, was noch fehlt: ein AVV-Entwurf, die TOMs und ein Baustein fürs Verarbeitungsverzeichnis. Das bekommt sie von mir, bevor Ihre Stelle den ersten echten Brief selbst am Dienst-PC hochlädt. Für den Test schlage ich vor, dass nur die Ratsuchenden mit dem eigenen Handy fotografieren. Wie die Rollen dabei genau verteilt sind, auch weil die Erklärung an Ihrem Bildschirm erscheint, kläre ich gern direkt mit ihr. Ob eine Folgenabschätzung nötig ist, entscheidet sie. Ich liefere ihr alle Angaben dafür.</div><div class="einwand"><b>(oft) Ist das nicht einfach ChatGPT?</b>Dahinter steckt auch eine KI, Claude von Anthropic, das sage ich offen. Bei ChatGPT bekommt man einen Text. Hier macht man ein Foto, und Frist, Termin und Telefonnummer werden zu einem Kalender-Eintrag mit Erinnerung und zu einer Anruf-Hilfe. Die deutschen Fachbegriffe bleiben erkennbar. Und Sie sehen am PC Deutsch, während die Person gleichzeitig ihre Sprache sieht.</div><div class="einwand"><b>(oft) Ersetzt das unsere Beratung? Soll damit gespart werden?</b>Nein. Es erklärt, was im Brief steht. Was die Person dann tut und was das für ihren Aufenthalt heißt, das ist Beratung, und die bleibt bei Ihnen. Selbstständig heißt nicht allein. Unter jeder Erklärung steht: Bei wichtigen Entscheidungen hilft eine Beratungsstelle. Und unter jeder Erklärung steht in der Sprache der Person: Noch Fragen? Ihre Beratungsstelle hilft Ihnen gern weiter.</div><div class="einwand"><b>(oft) Was, wenn die KI sich irrt? Wer haftet dann?</b>Eine KI kann sich irren, das rede ich nicht klein. Darum gibt es feste Regeln. Ein Datum, das sie nicht sicher lesen kann, lässt sie leer. Eine Telefonnummer nimmt sie nur, wenn sie wörtlich im Brief steht. Die Fachbegriffe bleiben deutsch, damit man im Original nachsehen kann. Unter jeder Erklärung steht, dass es keine Rechtsberatung ist. Und auf der Kurzanleitung steht: Fristen immer am Original prüfen, und Fristen „ab Zustellung“ selbst nachrechnen. Wenn Ihre Leitung Fragen zur Haftung hat, beantworte ich sie gern schriftlich.</div><div class="einwand"><b>(oft) Was kostet das nach dem Test?</b>Über Ihren Code zahlen Ihre Ratsuchenden auch danach nichts. Für eine Stelle Ihrer Größe sind es voraussichtlich 290 Euro im Jahr für bis zu 1.200 Briefe, also so viel wie im Test, nur zwölf Monate lang. Das ist der Endpreis, Sie bekommen eine Rechnung im Januar, kein Abo, und es endet am 31. Dezember von selbst. Das ist ein Richtpreis. Das genaue Angebot bringe ich am 26. November mit, passend zu Ihren Zahlen aus dem Test. Heute geht es erst mal darum, ob es Ihnen im Alltag hilft.</div><div class="einwand"><b>(oft) Können die Leute das auch zu Hause nutzen?</b>Ohne Code sind auf der Seite zwei Briefe kostenlos, danach kostet es für Privatleute. Das sage ich lieber offen. Ihr Code ist für die Beratung gedacht und nur für Mitarbeitende. Bitte geben Sie ihn nicht weiter. Ich möchte nicht, dass Sie jemanden über die Beratung zu einem Kaufangebot schicken.</div><div class="einwand"><b>(oft) Wie viel Arbeit macht das für uns? Wir haben keine Zeit für etwas Neues.</b>Das verstehe ich. Einmal legen Sie ein Lesezeichen am PC an, das steht auf der Kurzanleitung. Pro Person heißt es dann: Sprache wählen, QR-Code zeigen, kurz warten. Es gibt keine Konten und nichts zu verwalten. Die Auswertung mache ich. Von Ihnen brauche ich nur das Gespräch am 26. November. Wenn es in einem Termin nicht passt, lassen Sie es einfach weg. Und wenn es Sie im Alltag Zeit kostet, statt zu helfen, sagen Sie es mir. Dann taugt es so nichts, und das ist auch ein Ergebnis.</div><div class="einwand"><b>Ist das rechtlich geprüft?</b>Von einem Anwalt noch nicht, das sage ich ehrlich. Das Blatt ist eine Selbstauskunft. Es ist am Programmcode und an der Datenschutzerklärung geprüft, und es steht offen drin, was nicht geht. Wenn Ihre Datenschutzstelle etwas anders sieht, will ich das wissen.</div><div class="einwand"><b>Das muss unsere Leitung entscheidenLine truncated
<h2>Preis: wenn das Thema kommt</h2><p class="klein">Erste Antwort steht oben bei den Einwänden (290 € im Jahr, Richtpreis). Nachfragen:</p><div class="einwand"><b>„Gibt es das auch kleiner oder größer?“</b>Ja. Für kleinere Stellen gibt es 600 Briefe für 190 Euro im Jahr, für große 2.400 Briefe für 450 Euro. Welches passt, sehen wir am 26. November an Ihren Zahlen.</div><div class="einwand"><b>„Das ist uns zu teuer, unser Budget ist knapp.“</b>Das verstehe ich. Für Stellen, die jetzt testen, gibt es 2027 ein Einstiegsangebot. Das rechne ich Ihnen am 26. November vor.</div><div class="einwand"><b>„Was kostet Sie selbst ein Brief?“</b>Ehrlich gesagt ein paar Cent für die KI. Bezahlt wird vor allem die Arbeit drumherum: Einrichtung, Datenschutz-Unterlagen, Hilfe und die Weiterentwicklung. (Keine Cent-Zahl nennen, sonst wird pro Brief verhandelt.)</div><div class="einwand"><b>„Warum zahlen wir nicht dasselbe wie Privatleute?“</b>Wenn Sie das Paket ausnutzen, zahlen Sie pro Brief weniger als Privatleute. Dafür kaufen Sie einmal im Jahr im Voraus, und ich schreibe eine Rechnung statt vieler kleiner Kartenzahlungen.</div><div class="einwand"><b>„Kommt da noch Mehrwertsteuer drauf?“</b>Nein. Wir sind Kleinunternehmer, der Preis ist der Endpreis.</div><div class="einwand"><b>„Müssen wir das ausschreiben oder Vergleichsangebote einholen?“</b>Bei so kleinen Beträgen braucht es nach meinem Stand in aller Regel kein förmliches Vergabeverfahren. Üblich ist ein kurzer, dokumentierter Preisvergleich, der auch über die Webseiten anderer Anbieter gehen kann. Dafür gebe ich Ihnen ein schriftliches Angebot und unsere Preisliste mit. Was bei Ihrem Träger intern gilt, weiß Ihre Verwaltung am besten. (Keine Rechtsauskunft geben.)</div><div class="einwand"><b>„Darf man das aus MBE-Mitteln bezahlen?“</b>Die neue MBE-Förderrichtlinie ab 2027 nennt bei den förderfähigen Ausgaben ausdrücklich IT-Dienstleistungen für die Beratungsarbeit, als Beispiel auch KI. Die Einzelheiten legt das BAMF fest, und wie Ihr Träger das beantragt oder bucht, entscheidet er. Ich schreibe den Leistungszeitraum und „MBE 2027“ auf die Rechnung.</div><div class="einwand"><b>„Geht das auch unbegrenzt, als Flatrate?“</b>Nein, es ist immer eine feste Briefzahl. So wissen Sie vorher genau, was es kostet. Wird es knapp, melde ich mich rechtzeitig und lade auf.</div><div class="einwand"><b>„Und wenn wir nach dem Test nicht weitermachen?“</b>Dann endet der Code am 29. November von selbst. Es gibt keinen Vertrag und keine Kosten.</div><div class="einwand"><b>„Können wir nach dem Test gleich weiterarbeiten?“</b>Ja. Wenn Sie am 26. November Ja sagen, verlängere ich den Code noch am selben Tag kostenlos bis Ende Dezember. Es entsteht keine Lücke, auch nicht für Ihre Ratsuchenden.</div>
<h2>Nicht sagen</h2><ul class="nicht"><li>Zeit, Tempo oder Effizienz als Nutzen: „erklärt den Brief in einer Minute“, „das Vorlesen hat eine Minute gedauert“, „spart Personal“, „effizienter“, „mehr Fälle schaffen“, „die einfachen Fälle werden abgefangen“. Nenn auch keine Zeitersparnis in Minuten. Um die MBE läuft eine Kürzungsdebatte. Sag stattdessen „Hilfe zur Selbsthilfe“ und „das, was nur Sie können“.</li><li>„Zeit für echte Beratung“ oder „wofür Sie eigentlich da sind“. Briefe erklären, Formulare und Behördenkontakte gehören zu ihrer Arbeit.</li><li>„Ersetzt“ in jeder Form: nicht „ersetzt die Beratung“, nicht „ersetzt Dolmetscher“ oder „ersetzt Sprachmittlung“.</li><li>Absolute Versprechen: „Er verpasst keinen Termin“, „Er kann selbst anrufen“. Sag „Er denkt leichter an Termin und Frist“ und „Er ist vorbereitet, wenn ein Anruf nötig ist“.</li><li>„Ihre Ratsuchenden zahlen nie etwas“ ohne Zusatz. Richtig ist: „über Ihren Code“.</li><li>„Ihre Leute können das mit Ihrem Code auch zu Hause nutzen“. Biete auch nie den Knopf „Zugang dauerhaft auf ein Handy geben“ für Ratsuchende an.</li><li>„Alles bleibt auf dem Handy“ und „Die Erklärung ist morgen noch da“. Beides stimmt für die Webseite nicht.</li><li>„Unser Server“ ohne Cloudflare zu nennen, und „Alles ist Ende-zu-Ende verschlüsselt“. Ende-zu-Ende gilt nur für die Übergabe zwischen Handy und PC, den Brief selbst schickt der Server per TLS zur KI.</li><li>„DSGVO-konform“, „rechtssicher“, „anwaltlich geprüft“, „zertifiziert“, „Data Privacy Framework“, „Server in Deutschland“ oder „in der EU“. Und nie „spätestens nach 30 Tagen“, immer „in der Regel nach 30 Tagen“.</li><li>Rechtliche Festlegungen: „Sie brauchen keinen AVV“, „Eine Folgenabschätzung ist nicht nötig“, „Im Test sind wir allein verantwortlich“. Sag auch nicht, der AVV liege schon fertig vor. Richtig ist: „kommt vor dem ersten Brief am Dienst-PC“.</li><li>Gesundheitsdaten freigeben, etwa mit „Briefe von der Krankenkasse gehen“. Das schätzt ihre Datenschutzstelle ein.</li><li>„Die KI macht keine Fehler“, „erfindet nie etwas“, „rät nie“, „perfekte Übersetzung“, „von Muttersprachlern geprüft“. Sag stattdessen: „Die KI hat die feste Regel …“.</li><li>„Bei ChatGPT braucht man ein Konto“. Das stimmt so nicht mehr und wurde am 25.10. bewusst aus dem Handzettel gestrichen.</li><li>„Vorlesen“ oder „fertige Antworten“ als Funktion der Webseite. Achtung: In den Metadaten von webseite/demo.html stehen noch „Vorlesen der Inhalte“ und „Fertige Antworten generieren“. Lass das vor dem Code-Stopp am Di 27.10. abends prüfen, falls jemand die Seite googelt.</li><li>Überholte Sätze aus dem alten Spickzettel: „Die Knöpfe übersetze ich als Nächstes“, „Drucken kommt als Nächstes“, „Darf ich Ihre Stelle auf meiner Seite nennen und würden Sie verlinken?“. Und keinen angeblichen Fehler im Datenschutz-Blatt ankündigen. Abschnitt 6 (Stand 25.10.) nennt schon 27 Sprachen und stimmt.</li><li>Ein Datum für die App, mehrere Fotos pro Brief oder andere neue Funktionen. Auch keine Zusagen zur Reihenfolge wie „kommt zuerst“, „kommt ganz oben auf die Liste“ oder „Ihre Rückmeldung bestimmt, was ich baue“.</li><li>„Unbegrenzt“. Es gibt immer eine feste Zahl an Briefen.</li><li>Preise von dir aus nennen, die eigene Untergrenze, ein Vergleich mit den Kosten für Sprachmittler, „zuzüglich Mehrwertsteuer“. Und nicht „ich bin Kleinunternehmer“, sondern „wir“ (Webklar GbR).</li><li>„Ich will Ihnen nichts verkaufen“. Nach dem Test kostet es die Stelle Geld. Ehrlicher ist: „Heute geht es nicht um einen Vertrag.“</li><li>„Rufen Sie einfach bei der Ausländerbehörde an“. Die Behörde im Kreis bittet selbst darum, auf telefonische Nachfragen zu verzichten. Kritisier die Ausländerbehörde des Kreises auch nicht.</li><li>Haushalt, Kürzungen, Stellenabbau oder Fälle pro Stelle von dir aus ansprechen. Und nicht „Ihre Beraterinnen sind überlastet“, frag lieber.</li><li>Am ersten Tag: „ganz Deutschland“, „bundesweit“, „900 Stellen“, Namen von Verbänden und Ämtern (Paritätischer, BAMF, BMI), „die Briefe sind überall dieselben“. Bitte heute auch nicht um eine Empfehlung oder um Kontakte zum Träger oder Verband.</li><li>„Sie wären die erste MBE in Deutschland“. Höchstens auf Nachfrage: „die erste Stelle mit eigenem Testzugang“, und nur, wenn das am 29.10. noch stimmt.</li><li>„Ich sehe nur Zahlen, keine Namen“ ohne Einschränkung. Richtig ist: „Über Ihre Ratsuchenden und ihre Briefe sehe ich nur Zahlen“, die Server-Protokolle gibt es zusätzlich.</li><li>Verallgemeinerungen ohne Beleg wie „Auf Deutsch anrufen ist für viele das Schwerste“. Und die Generalprobe nicht als Geschichte erzählen.</li><li>Die Mutter-Line truncated
<h2>Quellen (nur falls jemand fragt)</h2><ul class="klein"><li>DeZIM-Evaluation der MBE: In 60,5 % der Fälle bekamen befragte Ratsuchende eine inhaltliche Erklärung oder Hilfe beim Übersetzen und Ausfüllen von Dokumenten (Befragung von 1.751 Ratsuchenden, Frühjahr 2024, S. 36–37). Im Pitch: „rund sechs von zehn befragten Ratsuchenden“, nur wenn es passt. <span style="word-break:break-all">(https://www.dezim-institut.de/fileadmin/user_upload/fis/publikation_pdf/FA-6245.pdf)</span></li><li>DeZIM-Evaluation: Das häufigste Hauptanliegen sind rechtliche Fragen zum Aufenthalt (27,0 %, Tabelle 7, S. 36). Das ist die Begründung für den Musterbrief der Ausländerbehörde. <span style="word-break:break-all">(https://www.dezim-institut.de/fileadmin/user_upload/fis/publikation_pdf/FA-6245.pdf)</span></li><li>DeZIM-Evaluation: Das Leitbild der MBE ist „Hilfe zur Selbsthilfe“ (Bericht 2025, S. 6, 8). <span style="word-break:break-all">(https://www.dezim-institut.de/fileadmin/user_upload/fis/publikation_pdf/FA-6245.pdf)</span></li><li>BAGFW-Pressemeldung zum MBE-Kongress: MBE in rund 900 Beratungsstellen bundesweit (11.06.2026). Nur auf Nachfrage. <span style="word-break:break-all">(https://www.bagfw.de/fileadmin/user_upload/Veroeffentlichungen/Pressemeldungen/PM_2026/20260611_PM_MBE-Kongress.pdf)</span></li><li>Träger der MBE Kirchheimbolanden ist die Förderinitiative Donnersberg e.V. (FID), ein eingetragener Verein, nicht kirchlich, Mitglied im Paritätischen Landesverband Rheinland-Pfalz/Saarland. <span style="word-break:break-all">(https://www.fid-donnersberg.de/2015/html/das_sind_wir_start_15.html)</span></li><li>Die FID hat eine eigene betriebliche Datenschutzbeauftragung am Standort Kirchheimbolanden. <span style="word-break:break-all">(https://www.fid-donnersberg.de/2015/html/kontakt_15.html)</span></li><li>Die FID bietet Alphabetisierungskurse an (u. a. Alpha-Mobil in Kirchheimbolanden). Deshalb gehört die Grenze „kein Vorlesen“ aktiv in den Pitch. <span style="word-break:break-all">(https://www.fid-donnersberg.de/2015/html/alphakurs_15.html)</span></li><li>Die FID betreibt die MBE auch in Alzey. Die MBE-Standorte des Paritätischen in RLP/Saarland sind u. a. ABZ Kaiserslautern und Wörth, das Referat Migration sitzt in Mainz. Das ist nur Hintergrund für den Weg nach dem Test. <span style="word-break:break-all">(https://www.paritaet-rps.org/fachinformationen/integration-migration)</span></li><li>Der Paritätische Gesamtverband ist Zentralstelle für die paritätische MBE und richtet MBE-Workshops aus. Nur Hintergrund, kein Thema am 29.10. <span style="word-break:break-all">(https://www.der-paritaetische.de/themen/migration-und-internationale-kooperation/projekte/migrationsberatung-fuer-erwachsene-zuwanderer-mbe/)</span></li><li>Die Ausländerbehörde des Donnersbergkreises ist laut Integreat-Leitfaden sehr hoch ausgelastet und bittet, auf telefonische Nachfragen zu verzichten. Deshalb wird die Anruf-Hilfe nur für nötige Anrufe gezeigt (Termin absagen). <span style="word-break:break-all">(https://cms.integreat-app.de/donnersberg/de/wp-json/ig-mpdf/v1/pdf)</span></li><li>mbeon ist die Online-Beratung der MBE (Messenger-App, vom BMI finanziert, vom BAMF betreut). BehördenKlar ergänzt sie und konkurriert nicht damit. <span style="word-break:break-all">(https://www.der-paritaetische.de/themen/migration-und-internationale-kooperation/projekte/migrationsberatung-fuer-erwachsene-zugewanderte-mbe-mbeon/)</span></li><li>Das Data Processing Addendum von Anthropic mit EU-Standardvertragsklauseln ist Teil der Commercial Terms. Ein Data Privacy Framework ist nicht belegt. <span style="word-break:break-all">(https://www.anthropic.com/legal/data-processing-addendum)</span></li><li>Die MBE-Förderung ist 2026 bei 77,5 Mio. € eingefroren, der Regierungsentwurf 2027 sieht knapp 4 Mio. € weniger vor. Das ist nur der Grund für den Ton (keine Effizienz-Argumente), nicht ansprechen. <span style="word-break:break-all">(https://www.bagfw.de/fileadmin/user_upload/Veroeffentlichungen/Publikationen/Factsheet/Factsheet_MBE_2026_Stand_August_2026.pdf)</span></li></ul>
</body></html>
Binary file not shown.
+84
View File
@@ -0,0 +1,84 @@
# Preise für Beratungsstellen
> Stand 25.10.2026. Ergebnis der Preis-Prüfung (Kosten, Beschaffung, Vergleichspreise,
> 3 Modelle, bewertet aus Sicht von Träger und Gründer, Faktencheck).
> **Entscheidung von Justin (25.10.):** Am 29.10. nennt er auf Nachfrage **290 € im Jahr**.
> Ersetzt die alte Tabelle in `outreach-september.md` (100 Briefe 20 €, 500 Briefe 75 €).
> Alle Beträge sind Endpreise. Nach § 19 UStG wird keine Umsatzsteuer berechnet.
## Preisliste (Vorschlag)
| Paket | Preis pro Kalenderjahr | Briefe | pro Brief bei voller Nutzung |
|---|---|---|---|
| Test | 0 € | bis 100, 1 Monat | – |
| Klein (ca. 1 Beratende) | 190 € | 600 | ca. 32 ct |
| **Standard (2–5 Beratende)** | **290 €** | **1.200** | ca. 24 ct |
| Groß (6+ oder mehrere Standorte) | 450 € | 2.400 | ca. 19 ct |
| Träger ab 3 Stellen (FID schon ab der 2.) | 160 / 260 / 420 € | wie oben | – |
| Verband oder Land, ab 20 Stellen | 130 / 230 / 390 € | wie oben | – |
| Privatleute (unverändert) | 2,99 € / 6,99 € | 5 / 15 | 60 / 47 ct |
- Ein Code für das ganze Team, eine Rechnung im Januar, Überweisung in 30 Tagen.
- Kein Abo. Endet am 31.12. von selbst, Restbriefe verfallen dann.
- Nie „unbegrenzt“, immer eine feste Briefzahl.
- Untergrenze beim Verhandeln: **15 ct pro Brief** bei voller Nutzung (alt: 10 ct).
## Was am Do 29.10. gesagt wird (nur auf Nachfrage)
> „Über Ihren Code zahlen Ihre Ratsuchenden auch danach nichts. Für eine Stelle Ihrer Größe
> sind es voraussichtlich 290 Euro im Jahr für bis zu 1.200 Briefe. Endpreis, eine Rechnung im
> Januar, endet am 31. Dezember von selbst. Das ist ein Richtpreis, das genaue Angebot bringe
> ich am 26. November mit.“
Nicht nennen: den Pilotpreis von 190 €, „24 € im Monat“, Cent pro Brief, die alten Pakete.
## Angebot für die MBE Donnersberg am 26.11. (Vorschlag)
1. **Brücke, 0 €:** Bei einer Zusage den Code am selben Tag bis 31.12.2026 verlängern, bei Bedarf
100 Briefe aufladen. Läuft die Bestellung im Januar noch, bis 31.01.2027.
`node tools/einrichtungs-code.js verlaengern <CODE> 2026-12-31`
2. **Pilotjahr 2027, 190 €:** Standard-Paket (1.200 Briefe) zum Klein-Preis, offen als Rabatt auf
den Listenpreis. Gilt für jede Stelle, die 2027 nach einem Test startet.
3. **Preisobergrenze 2028 und 2029:** höchstens 290 € im Jahr, Endpreis, auch falls Webklar
umsatzsteuerpflichtig wird. Die MBE-Förderrichtlinie gilt bis 31.12.2029, bewilligt wird
aber jedes Jahr einzeln.
4. **Gegenleistung:** Rückmeldung nach 3 und nach 12 Monaten. Als Referenz nur mit Zustimmung.
Rabatte gehen an die Einrichtung, nie an Personen.
## Was übrig bleibt (Schätzung, nicht gemessen)
Ein zweisprachiger Brief kostet an KI ca. 3,8 ct, mit Puffer 4,6 ct, ungünstig 10,8 ct,
mehrseitiges PDF ca. 13 ct (Sonnet 5: 2 $/10 $, Haiku 4.5: 1 $/5 $ je Mio. Tokens).
Stripe entfällt (Überweisung), Cloudflare wahrscheinlich 0 €.
| Standard, 290 € | KI-Kosten | Bleibt übrig (vor Steuern) |
|---|---|---|
| halbe Nutzung (600 Briefe) | ca. 28 € | ca. 262 € |
| volle Nutzung, normal | ca. 55 € | ca. 235 € |
| volle Nutzung, ungünstig | ca. 130 € | ca. 160 € |
| Pilot 190 €, voll, ungünstig | ca. 130 € | ca. 60 € |
Arbeit pro Stelle: ca. 4 Std. im 1. Jahr, ca. 2 Std. danach.
## Vor dem Angebot am 26.11. erledigen
- [ ] Echte Kosten messen (`usage` im Worker mitschreiben oder Anthropic-Konsole / Zahl der Analysen).
Liegen sie deutlich über 5 ct pro Brief: Pilotpreis neu prüfen.
- [ ] PDF-Seitenlimit einbauen (heute nur Dateigröße, proxy/src/index.ts).
- [ ] Angebotsvorlage (1 Seite) und Rechnungsvorlage nach § 34a UStDV, mit „MBE 2027“ und Leistungszeitraum.
- [ ] Bedingungen für Einrichtungen (die AGB gelten heute nur für Verbraucher).
- [ ] AVV, TOMs, Unterauftragsverarbeiter, Angaben für eine Folgenabschätzung: ohne die kauft kein Träger.
- [ ] Steuerberater: Umsatz der ganzen Webklar GbR gegen die 25.000-€-Grenze (§ 19 UStG), § 13b für Anthropic.
- [ ] Code-Werkzeug: Befehl `setzen` für den Jahreswechsel. Heute zählt `aufladen` zum Rest dazu.
- [ ] Monatlich `stand <CODE>` prüfen und vor 0 aufladen. Eine automatische 80-%-Warnung gibt es noch nicht.
## Gut zu wissen
- 2027 kommt das Geld voraussichtlich aus der Sachkostenpauschale oder aus Eigenmitteln. Den Antrag
für 2027 reicht die Zentralstelle schon bis 15.11.2026 ein. Ab 2028 kann der Träger BehördenKlar
als IT-Dienstleistung beantragen (Förderrichtlinie 2027, Ziff. 5.3.1 d, Antrag bis 15.11.2027).
- Konkurrenz: DokLotse Organisation S 348 € im Jahr (30 Analysen im Monat, 4 Sprachen).
KlarBrief bietet Behörden und Beratungsstellen kostenlose Piloten an, Preis auf Anfrage.
- Echte Behörden (Jobcenter, Ausländerbehörde) sind ein eigener Markt mit eigener Beschaffung und
bekommen später eine eigene, eher höhere Preisliste.
- Keine Rechts- oder Steuerberatung. Rechtsfragen beantwortet der Träger bzw. ein Steuerberater.
+12 -2
View File
@@ -27,8 +27,16 @@ function kv(...args) {
return execFileSync('npx', ['wrangler', 'kv', 'key', ...args, '--namespace-id', KV_ID, '--remote'], return execFileSync('npx', ['wrangler', 'kv', 'key', ...args, '--namespace-id', KV_ID, '--remote'],
{ cwd: PROXY, encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] }).trim(); { cwd: PROXY, encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] }).trim();
} }
/** null nur, wenn es den Schlüssel wirklich nicht gibt (404). Jeder andere Fehler bricht ab —
* sonst würden „aufladen"/„verlaengern" nach einem Wackler im Netz Guthaben oder Namen überschreiben. */
function lies(schluessel) { function lies(schluessel) {
try { return kv('get', schluessel, '--text'); } catch { return null; } try { return kv('get', schluessel, '--text'); } catch (e) {
const meldung = String((e && e.stderr) || (e && e.message) || '');
if (/404|not found/i.test(meldung)) return null;
abbruch(`Keine Verbindung zu Cloudflare (beim Lesen von ${schluessel.split(':')[0]}). Nichts wurde geändert.\n` +
'Einfach nochmal ausführen. Hilft das nicht: im Ordner proxy „npx wrangler login“ ausführen.\n\n' +
meldung.split('\n').filter((z) => z.trim()).slice(0, 3).join('\n'));
}
} }
function schreib(schluessel, wert) { kv('put', schluessel, wert); } function schreib(schluessel, wert) { kv('put', schluessel, wert); }
@@ -90,11 +98,13 @@ function zeige({ code, einrichtung, rest, walletId }) {
proSprache[sprache] = (proSprache[sprache] || 0) + 1; proSprache[sprache] = (proSprache[sprache] || 0) + 1;
} }
auswertung = ` auswertung = `
Genutzt: ${n.length} Briefe Genutzt: ${n.length} ${n.length === 1 ? 'Brief' : 'Briefe'}
Pro Woche: ${Object.keys(proWoche).sort().map((w) => `ab ${w}: ${proWoche[w]}`).join(' · ')} Pro Woche: ${Object.keys(proWoche).sort().map((w) => `ab ${w}: ${proWoche[w]}`).join(' · ')}
Sprachen: ${Object.entries(proSprache).sort((a, b) => b[1] - a[1]).map(([s, z]) => `${s} ${z}`).join(' · ')}`; Sprachen: ${Object.entries(proSprache).sort((a, b) => b[1] - a[1]).map(([s, z]) => `${s} ${z}`).join(' · ')}`;
} else if (n) { } else if (n) {
auswertung = '\n Genutzt: noch keine Briefe'; auswertung = '\n Genutzt: noch keine Briefe';
} else if (walletId) {
auswertung = '\n Genutzt: konnte gerade nicht geladen werden (nochmal ausführen)';
} }
console.log(` console.log(`
Einrichtung: ${einrichtung.name} Einrichtung: ${einrichtung.name}
+229 -85
View File
@@ -25,7 +25,7 @@
<meta name="apple-app-site-association" content="..."> <meta name="apple-app-site-association" content="...">
<meta name="app-links" content="..."> <meta name="app-links" content="...">
<meta name="target-audience" content="Alle, die schwierige Post bekommen — Privatpersonen, Selbständige, Menschen mit Deutsch als Fremdsprache"> <meta name="target-audience" content="Alle, die schwierige Post bekommen — Privatpersonen, Selbständige, Menschen mit Deutsch als Fremdsprache">
<meta name="accessibility" content="WCAG 2.1 AA, Vorlesen, einfache Sprache, mehrsprachig"> <meta name="accessibility" content="einfache Sprache, mehrsprachig">
<meta name="topics" content="civic-tech, legal-tech, accessibility, education, language-simplification, vulnerable-populations"> <meta name="topics" content="civic-tech, legal-tech, accessibility, education, language-simplification, vulnerable-populations">
<meta name="target-organizations" content="Beratungsstellen, Jobcenter, Caritas, Diakonie, VHS, Migrationsberatung"> <meta name="target-organizations" content="Beratungsstellen, Jobcenter, Caritas, Diakonie, VHS, Migrationsberatung">
<meta name="problem-statement" content="Amtsdeutsch und Vertragssprache sind unnötig schwer. BehördenKlar macht daraus Klartext mit Frist und To-do-Liste."> <meta name="problem-statement" content="Amtsdeutsch und Vertragssprache sind unnötig schwer. BehördenKlar macht daraus Klartext mit Frist und To-do-Liste.">
@@ -68,6 +68,17 @@
} }
.mono { font-family: 'Courier New', ui-monospace, monospace; letter-spacing: 0.02em; } .mono { font-family: 'Courier New', ui-monospace, monospace; letter-spacing: 0.02em; }
.wrap { max-width: 720px; margin: 0 auto; padding: 0 20px 72px; } .wrap { max-width: 720px; margin: 0 auto; padding: 0 20px 72px; }
/* Schriften mit verbundenen Buchstaben (Arabisch, Devanagari …): kein
Buchstabenabstand und keine Schreibmaschine — sonst reißen Wörter auseinander */
html.verbundene-schrift .formular-kopf, html.verbundene-schrift .betreff-label,
html.verbundene-schrift h2, html.verbundene-schrift .karten-label {
font-family: inherit; letter-spacing: 0; text-transform: none;
}
@media (max-width: 420px) {
/* Cloudflare-Prüfung ist fest 300 px breit — sonst ragt sie aus dem Kasten */
.wrap { padding: 0 14px 56px; }
.antrag { padding: 22px 14px; }
}
.briefkopf { .briefkopf {
display: flex; justify-content: space-between; align-items: baseline; display: flex; justify-content: space-between; align-items: baseline;
@@ -200,6 +211,28 @@
margin-top: 18px; font-size: 14px; color: var(--grau); margin-top: 18px; font-size: 14px; color: var(--grau);
border-top: 1px dashed rgba(33,33,29,0.3); padding-top: 12px; border-top: 1px dashed rgba(33,33,29,0.3); padding-top: 12px;
} }
/* Einrichtungs-Zugang: Hinweis auf die Beratungsstelle unter der Erklärung (nur am Handy) */
.stelle-hinweis {
margin-top: 18px; padding: 12px 14px; background: #fff;
border: 1.5px solid var(--tinte); border-inline-start: 6px solid var(--amtsblau); font-size: 16.5px;
}
/* PC: Drucken und „Fertig, nächste Person" */
.pc-aktionen { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 12px; }
.pc-aktionen .cta { width: auto; flex: 1 1 230px; margin-top: 0; }
.nur-druck { display: none; }
@media print {
@page { margin: 14mm; }
body { background: #fff !important; }
.wrap { max-width: none; padding: 0; }
.wrap > *:not(#ergebnis):not(.briefkopf) { display: none !important; }
#sprachUmschalter, #kalenderKnopf, #ergKalenderHinweis, #mitnehmenTeil, .stelle-hinweis { display: none !important; }
.nur-druck { display: block !important; }
.brief-karte { break-inside: avoid; box-shadow: none !important; }
#ergAnrufKontakt .cta { background: none !important; color: var(--tinte) !important; border: none !important;
box-shadow: none !important; padding: 0 !important; font-size: 17px; }
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
}
/* Warteliste-Formular (wie Startseite) */ /* Warteliste-Formular (wie Startseite) */
.wl-form { display: flex; flex-direction: column; gap: 12px; margin-top: 4px; } .wl-form { display: flex; flex-direction: column; gap: 12px; margin-top: 4px; }
@@ -248,8 +281,8 @@
"Klartext in einfacher Sprache", "Klartext in einfacher Sprache",
"Übersetzung in über 25 Sprachen", "Übersetzung in über 25 Sprachen",
"Automatische Erinnerungen für Fristen", "Automatische Erinnerungen für Fristen",
"Fertige Antworten generieren", "Frist und Termin in den Kalender",
"Vorlesen der Inhalte", "Anruf-Hilfe mit Sätzen auf Deutsch",
"Keine Anmeldung erforderlich" "Keine Anmeldung erforderlich"
], ],
"targetGroup": "Alle, die schwierige offizielle Post bekommen — Privatpersonen und Selbständige", "targetGroup": "Alle, die schwierige offizielle Post bekommen — Privatpersonen und Selbständige",
@@ -265,23 +298,23 @@
<div class="briefkopf"> <div class="briefkopf">
<span class="absender"><a href="index.html">📬 BehördenKlar</a> <span style="font-weight:400;font-size:.62em;opacity:.6;letter-spacing:.04em;">by Webklar</span></span> <span class="absender"><a href="index.html">📬 BehördenKlar</a> <span style="font-weight:400;font-size:.62em;opacity:.6;letter-spacing:.04em;">by Webklar</span></span>
<span class="az mono">Formular D-01 · Gratis-Demo</span> <span class="az mono" id="kopfAz">Formular D-01 · Gratis-Demo</span>
</div> </div>
<header> <header>
<p class="betreff-label">Betreff</p> <p class="betreff-label" data-t="betreff">Betreff</p>
<h1>Probieren Sie es aus —<br><span class="markiert">mit Ihrem eigenen Brief.</span></h1> <h1><span data-t="titel1">Probieren Sie es aus —</span><br><span class="markiert" data-t="titel2">mit Ihrem eigenen Brief.</span></h1>
<p class="anrede"> <p class="anrede">
Kein Konto. Keine App-Installation. Laden Sie ein Foto Ihres <span data-t="anrede">Kein Konto. Keine App-Installation. Laden Sie ein Foto Ihres
Behördenbriefs hoch — in etwa einer Minute lesen Sie ihn in einfacher Behördenbriefs hoch — nach ein bis zwei Minuten lesen Sie ihn in einfacher
Sprache. <strong>2 Analysen gratis.</strong> Sprache.</span> <strong id="anredeAngebot" data-t="anredeGratis">2 Analysen gratis.</strong>
</p> </p>
</header> </header>
<section id="demo"> <section id="demo">
<h2><span class="nr">§ 1</span> Brief hochladen</h2> <h2><span class="nr">§ 1</span> <span data-t="abschnittHochladen">Brief hochladen</span></h2>
<div class="antrag"> <div class="antrag">
<p class="formular-kopf">Antrag auf Klartext · 2 Gratis-Analysen</p> <p class="formular-kopf" data-t="formKopfGratis">Brief erklären lassen · 2 kostenlose Analysen</p>
<p class="verbunden" id="verbundenBanner"></p> <p class="verbunden" id="verbundenBanner"></p>
@@ -290,7 +323,7 @@
✅ Kauf erfolgreich! Ihr Guthaben wurde aktiviert. ✅ Kauf erfolgreich! Ihr Guthaben wurde aktiviert.
</p> </p>
<p id="guthabenBanner" class="bonus-zeile" style="display: none;"> <p id="guthabenBanner" class="bonus-zeile" style="display: none;">
<span id="guthabenText">💳 Ihr Guthaben:</span> <strong id="guthabenZahl">0</strong> Analysen — laden Sie den nächsten Brief hoch. <span id="guthabenText">💳 Ihr Guthaben:</span> <strong id="guthabenZahl">0</strong> <span data-t="bannerRest">Analysen — laden Sie den nächsten Brief hoch.</span>
<br><button type="button" class="link-knopf" id="guthabenHandyKnopf" style="font-size: 14.5px;">📱 Auch auf dem Handy nutzen</button> <br><button type="button" class="link-knopf" id="guthabenHandyKnopf" style="font-size: 14.5px;">📱 Auch auf dem Handy nutzen</button>
</p> </p>
<div class="qr-box" id="guthabenQrBox"> <div class="qr-box" id="guthabenQrBox">
@@ -299,20 +332,20 @@
<p class="klein" style="margin-top: 0;">Mit der Handy-Kamera scannen. Danach können Sie Briefe auch direkt am Handy erklären lassen.</p> <p class="klein" style="margin-top: 0;">Mit der Handy-Kamera scannen. Danach können Sie Briefe auch direkt am Handy erklären lassen.</p>
</div> </div>
<p style="margin-bottom: 14px; font-size: 15.5px;"> <p style="margin-bottom: 14px; font-size: 15.5px;">
🌐 <label for="sprachWahl">Erklärung in dieser Sprache:</label> 🌐 <label for="sprachWahl" data-t="spracheLabel">Erklärung in dieser Sprache:</label>
<select id="sprachWahl" style="font-family: inherit; font-size: 15.5px; padding: 5px 8px; border: 1.5px solid var(--tinte); background: #fff; margin-inline-start: 6px;"></select> <select id="sprachWahl" style="font-family: inherit; font-size: 15.5px; padding: 5px 8px; border: 1.5px solid var(--tinte); background: #fff; margin-inline-start: 6px;"></select>
</p> </p>
<label class="konsens"> <label class="konsens">
<input type="checkbox" id="konsens"> <input type="checkbox" id="konsens">
<span> <span>
Ich bin einverstanden, dass das Foto dieses Briefs zur Erklärung <span data-t="konsens">Ich bin einverstanden, dass das Foto dieses Briefs zur Erklärung
an den Server von BehördenKlar und an den KI-Dienst Anthropic an den Server von BehördenKlar und an den KI-Dienst Anthropic
(USA) geschickt wird. Briefe können sehr persönliche Angaben (USA) geschickt wird. Briefe können sehr persönliche Angaben
enthalten, zum Beispiel zu Gesundheit, Herkunft oder Aufenthalt. enthalten, zum Beispiel zu Gesundheit, Herkunft oder Aufenthalt.
BehördenKlar speichert den Brief nicht. Anthropic löscht ihn in BehördenKlar speichert den Brief nicht. Anthropic löscht ihn in
der Regel nach 30 Tagen und nutzt ihn nicht zum Training. der Regel nach 30 Tagen und nutzt ihn nicht zum Training.</span>
<a href="datenschutz.html" target="_blank">Datenschutzerklärung</a> <a href="datenschutz.html" target="_blank" data-t="datenschutzLink">Datenschutzerklärung</a>
</span> </span>
</label> </label>
@@ -330,7 +363,7 @@
</div> </div>
<input type="file" id="datei" accept="image/jpeg,image/png,application/pdf" style="display: none;"> <input type="file" id="datei" accept="image/jpeg,image/png,application/pdf" style="display: none;">
<button class="cta" id="startKnopf">📷 Brief auswählen &amp; erklären lassen</button> <button class="cta" id="startKnopf" data-t="startKnopf">📷 Brief auswählen &amp; erklären lassen</button>
<button class="cta cta-zwei" id="handyKnopf" type="button" style="display: none;">📱 Lieber mit dem Handy fotografieren</button> <button class="cta cta-zwei" id="handyKnopf" type="button" style="display: none;">📱 Lieber mit dem Handy fotografieren</button>
<div class="qr-box" id="handyBox"> <div class="qr-box" id="handyBox">
<strong>Mit dem Handy fotografieren</strong> <strong>Mit dem Handy fotografieren</strong>
@@ -355,36 +388,38 @@
if (/^(localhost|127\.0\.0\.1)$/.test(location.hostname)) { if (/^(localhost|127\.0\.0\.1)$/.test(location.hostname)) {
document.querySelector('.cf-turnstile').setAttribute('data-sitekey', '1x00000000000000000000AA'); document.querySelector('.cf-turnstile').setAttribute('data-sitekey', '1x00000000000000000000AA');
} }
// Sehr schmale Handys (< 350 px): kompakte Cloudflare-Prüfung
if (window.innerWidth < 350) document.querySelector('.cf-turnstile').setAttribute('data-size', 'compact');
</script> </script>
<p class="klein"> <p class="klein" data-t="tippFoto">
Geht mit Foto (JPG/PNG) oder PDF, max. 5 MB. Tipp: gutes Licht, Geht mit Foto (JPG/PNG) oder PDF, max. 5 MB. Tipp: gutes Licht,
Brief von oben, ganzer Text im Bild. Brief von oben, ganzer Text im Bild.
</p> </p>
<p class="klein"> <p class="klein">
📱 <strong>Am Handy:</strong> Wählen Sie „Galerie" oder „Dateien", <strong data-t="tippHandyTitel">📱 Am Handy:</strong> <span data-t="tippHandy">Wählen Sie „Galerie" oder „Dateien",
wenn Sie den Brief schon fotografiert haben. Tippen Sie auf wenn Sie den Brief schon fotografiert haben. Tippen Sie auf
„Kamera", öffnet sich die Kamera-App Ihres Handys — und die fragt „Kamera", öffnet sich die Kamera-App Ihres Handys — und die fragt
nach ihren eigenen Berechtigungen. <strong>Diese Abfrage kommt von nach ihren eigenen Berechtigungen. Diese Abfrage kommt von
Ihrem Handy, nicht von uns:</strong> Diese Seite greift weder auf Ihrem Handy, nicht von uns: Diese Seite greift weder auf
Kamera noch auf Mikrofon zu. Kamera noch auf Mikrofon zu.</span>
</p> </p>
</div> </div>
<div class="status" id="status"> <div class="status" id="status">
<span class="sanduhr">⏳</span> <span class="sanduhr">⏳</span>
<p class="gross">Ihr Brief wird analysiert…</p> <p class="gross">Ihr Brief wird erklärt …</p>
<p class="sub">Das dauert bis zu einer Minute. Bitte lassen Sie die Seite geöffnet.</p> <p class="sub" data-t="statusDauer">Das dauert ein bis zwei Minuten. Bitte lassen Sie die Seite geöffnet.</p>
</div> </div>
<div class="fehlerbox" id="fehler"></div> <div class="fehlerbox" id="fehler"></div>
<details id="codeTeil" style="margin-top: 16px; border-top: 1px solid rgba(33, 33, 29, 0.2);"> <details id="codeTeil" style="margin-top: 16px; border-top: 1px solid rgba(33, 33, 29, 0.2);">
<summary>🤝 Sie haben einen Code von einer Beratungsstelle?</summary> <summary data-t="codeFrage">🤝 Sie haben einen Code von einer Beratungsstelle?</summary>
<p>Dann ist BehördenKlar für Sie kostenlos. Geben Sie den Code hier ein:</p> <p data-t="codeText">Dann ist BehördenKlar für Sie kostenlos. Geben Sie den Code hier ein:</p>
<input class="wl-input" id="codeFeld" placeholder="z. B. MBE-K7QX" autocapitalize="characters" autocomplete="off" spellcheck="false" style="margin-top: 10px; text-transform: uppercase;"> <input class="wl-input" id="codeFeld" placeholder="z. B. MBE-K7QX" autocapitalize="characters" autocomplete="off" spellcheck="false" style="margin-top: 10px; text-transform: uppercase;">
<button class="cta" id="codeKnopf" type="button">Code einlösen</button> <button class="cta" id="codeKnopf" type="button" data-t="codeKnopf">Code einlösen</button>
</details> </details>
</div> </div>
</section> </section>
@@ -435,7 +470,8 @@
</section> </section>
<section id="ergebnis"> <section id="ergebnis">
<h2><span class="nr">§ 3</span> Ihr Brief in Klartext</h2> <h2><span class="nr">§ 3</span> <span data-t="ergebnisTitel">Ihr Brief in Klartext</span></h2>
<p class="nur-druck klein" id="druckDatum"></p>
<div class="umschalter" id="sprachUmschalter" role="group" aria-label="Sprache der Erklärung"></div> <div class="umschalter" id="sprachUmschalter" role="group" aria-label="Sprache der Erklärung"></div>
<div class="brief-karte"> <div class="brief-karte">
@@ -447,31 +483,31 @@
<div class="brief-karte" id="ergKalenderKarte" style="display: none;"> <div class="brief-karte" id="ergKalenderKarte" style="display: none;">
<span class="karten-label" id="ergKalenderLabel">Nicht vergessen</span> <span class="karten-label" id="ergKalenderLabel">Nicht vergessen</span>
<div id="ergKalenderText" style="margin-top: 6px;"></div> <div id="ergKalenderText" style="margin-top: 6px;"></div>
<button class="cta" id="kalenderKnopf" type="button" style="margin-top: 12px;">📅 In meinen Kalender eintragen</button> <button class="cta" id="kalenderKnopf" type="button" style="margin-top: 12px;" data-t="kalenderKnopf">📅 In meinen Kalender eintragen</button>
<p class="klein" id="ergKalenderHinweis"> <p class="klein" id="ergKalenderHinweis" data-t="kalenderHinweis">
Ihr Handy erinnert Sie <strong>3 Tage</strong> und <strong>1 Tag</strong> vorher. Ihr Handy erinnert Sie 3 Tage und 1 Tag vorher.
Der Eintrag landet nur in Ihrem eigenen Kalender — wir speichern nichts. Der Eintrag landet nur in Ihrem eigenen Kalender — wir speichern nichts.
</p> </p>
</div> </div>
<div class="brief-karte"> <div class="brief-karte">
<span class="karten-label">Einfach erklärt</span> <span class="karten-label" data-t="labelEinfach">Einfach erklärt</span>
<p id="ergErklaerung" dir="auto" style="white-space: pre-line;"></p> <p id="ergErklaerung" dir="auto" style="white-space: pre-line;"></p>
</div> </div>
<div class="brief-karte" id="ergChecklisteKarte" style="display: none;"> <div class="brief-karte" id="ergChecklisteKarte" style="display: none;">
<span class="karten-label neutral">Das müssen Sie tun</span> <span class="karten-label neutral" data-t="labelTun">Das müssen Sie tun</span>
<div id="ergCheckliste"></div> <div id="ergCheckliste"></div>
</div> </div>
<div class="brief-karte" id="ergAnrufKarte" style="display: none;"> <div class="brief-karte" id="ergAnrufKarte" style="display: none;">
<span class="karten-label neutral">Anrufen</span> <span class="karten-label neutral" data-t="labelAnrufen">Anrufen</span>
<div id="ergAnrufKontakt" style="margin-top: 6px;"></div> <div id="ergAnrufKontakt" style="margin-top: 6px;"></div>
<div id="ergAnrufSaetze"></div> <div id="ergAnrufSaetze"></div>
</div> </div>
<div class="brief-karte" id="ergBegriffeKarte" style="display: none;"> <div class="brief-karte" id="ergBegriffeKarte" style="display: none;">
<span class="karten-label neutral">Schwere Wörter erklärt</span> <span class="karten-label neutral" data-t="labelWoerter">Schwere Wörter erklärt</span>
<div id="ergBegriffe"></div> <div id="ergBegriffe"></div>
</div> </div>
@@ -482,11 +518,17 @@
<div class="qr" id="mitnehmenQr"></div> <div class="qr" id="mitnehmenQr"></div>
<p class="klein" style="margin-top: 0;">Mit der Handy-Kamera scannen. Dort gibt es den Kalender-Eintrag und die Anruf-Hilfe. Verschlüsselt, der Code gilt 15 Minuten.</p> <p class="klein" style="margin-top: 0;">Mit der Handy-Kamera scannen. Dort gibt es den Kalender-Eintrag und die Anruf-Hilfe. Verschlüsselt, der Code gilt 15 Minuten.</p>
</div> </div>
<div class="pc-aktionen">
<button class="cta cta-zwei" id="druckKnopf" type="button">🖨️ Drucken oder als PDF</button>
<button class="cta cta-zwei" id="fertigKnopf" type="button">✅ Fertig, nächste Person</button>
</div>
</div> </div>
<p class="hinweis-recht"> <p class="stelle-hinweis" id="ergStelle" style="display: none;"></p>
<p class="hinweis-recht" data-t="rechtHinweis">
⚖️ BehördenKlar erklärt Briefe, ersetzt aber keine Rechtsberatung. Bei ⚖️ BehördenKlar erklärt Briefe, ersetzt aber keine Rechtsberatung. Bei
wichtigen Entscheidungen hilft eine Beratungsstelle oder ein Anwalt. wichtigen Entscheidungen hilft eine Beratungsstelle oder eine Anwältin bzw. ein Anwalt.
</p> </p>
</section> </section>
@@ -534,8 +576,9 @@
</div> </div>
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script> <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
<script src="qrcode.js"></script> <script src="qrcode.js?v=2026-10-26"></script>
<script src="uebergabe.js"></script> <script src="uebergabe.js?v=2026-10-26"></script>
<script src="ui-texte.js?v=2026-10-26"></script>
<script> <script>
(function () { (function () {
'use strict'; 'use strict';
@@ -639,6 +682,42 @@
if (name) speicher.set(EINRICHTUNG_SCHLUESSEL, name); if (name) speicher.set(EINRICHTUNG_SCHLUESSEL, name);
else { speicher.remove(EINRICHTUNG_SCHLUESSEL); speicher.remove(ABLAUF_SCHLUESSEL); speicher.remove(CODE_SCHLUESSEL); } else { speicher.remove(EINRICHTUNG_SCHLUESSEL); speicher.remove(ABLAUF_SCHLUESSEL); speicher.remove(CODE_SCHLUESSEL); }
} }
// ── Bediensprache ─────────────────────────────────────────────────
// Am PC (Beratung) bleibt alles deutsch. Am Handy richtet sich die
// Bedienung nach der gewählten Erklärungssprache (Texte: ui-texte.js).
var UI = window.BK_UI_TEXTE || { de: {} };
var RTL = { ar: 1, fa: 1, ur: 1, ps: 1 };
var VERBUNDEN = { ar: 1, fa: 1, ur: 1, ps: 1, hi: 1, ti: 1, zh: 1 };
var uiSprache = 'de';
function t(schluessel, werte) {
var text = (UI[uiSprache] && UI[uiSprache][schluessel]) || (UI.de && UI.de[schluessel]) || schluessel;
if (werte) for (var k in werte) text = text.split('{' + k + '}').join(werte[k]);
return text;
}
function wendeUiSpracheAn() {
var amPc = window.matchMedia && window.matchMedia('(hover: hover) and (pointer: fine)').matches;
var gewuenscht = amPc ? 'de' : zielsprache();
uiSprache = UI[gewuenscht] ? gewuenscht : 'de';
document.documentElement.lang = uiSprache;
document.documentElement.dir = RTL[uiSprache] ? 'rtl' : 'ltr';
document.documentElement.classList.toggle('verbundene-schrift', !!VERBUNDEN[uiSprache]);
var elemente = document.querySelectorAll('[data-t]');
for (var i = 0; i < elemente.length; i++) {
var el = elemente[i], key = el.getAttribute('data-t');
if (UI.de && UI.de[key]) el.textContent = t(key);
}
// Was gerade dynamisch angezeigt wird, in der neuen Sprache neu setzen
var stelle = (typeof handyModus !== 'undefined' && handyModus && handyModus.e) || (einrichtung() && hatGuthaben() ? einrichtung() : '');
if (stelle) zeigeEinrichtungImKopf(stelle);
if (typeof handyModus !== 'undefined' && handyModus && !handyModus.fertig) verbundenBanner.textContent = t('verbunden');
}
/** Meldung des Servers: am Handy in der Bediensprache, sonst die genaue deutsche. */
function serverMeldung(daten) {
var zuordnung = { turnstile: 'srvTurnstile', ki: 'srvKi', ki_konfig: 'srvDienst', dienst: 'srvDienst', datei: 'srvDatei', inhalt: 'srvInhalt', aufgebraucht: 'srvAufgebraucht' };
if (uiSprache !== 'de' && zuordnung[daten.code]) return t(zuordnung[daten.code]);
return daten.meldung || t('srvKi');
}
// Handy ↔ PC: Ist dieses Gerät gerade das Handy, das für einen PC // Handy ↔ PC: Ist dieses Gerät gerade das Handy, das für einen PC
// fotografiert? Ein Guthaben aus dem QR-Code (w) gilt nur für diese // fotografiert? Ein Guthaben aus dem QR-Code (w) gilt nur für diese
// Sitzung und wird hier NICHT gespeichert. // Sitzung und wird hier NICHT gespeichert.
@@ -665,8 +744,11 @@
} }
function zeigeGuthabenBanner(n) { function zeigeGuthabenBanner(n) {
var bis = einrichtungBis(); var bis = einrichtungBis();
document.getElementById('guthabenHandyKnopf').textContent = einrichtung()
? '🔑 Zugang dauerhaft auf ein Handy geben (nur für Mitarbeitende)'
: '📱 Auch auf dem Handy nutzen';
guthabenText.textContent = einrichtung() guthabenText.textContent = einrichtung()
? '🤝 Kostenlos über ' + einrichtung() + (bis ? ' (bis ' + deDatum(bis) + ')' : '') + ':' ? t('bannerKostenlos', { name: einrichtung() + (bis ? ' ' + t('bannerBis', { datum: deDatum(bis) }) : '') })
: '💳 Ihr Guthaben:'; : '💳 Ihr Guthaben:';
guthabenZahl.textContent = n; guthabenZahl.textContent = n;
guthabenBanner.style.display = 'block'; guthabenBanner.style.display = 'block';
@@ -678,8 +760,19 @@
function benutzt() { return parseInt(speicher.get(SPEICHER_SCHLUESSEL) || '0', 10); } function benutzt() { return parseInt(speicher.get(SPEICHER_SCHLUESSEL) || '0', 10); }
function setzeBenutzt(n) { speicher.set(SPEICHER_SCHLUESSEL, String(n)); } function setzeBenutzt(n) { speicher.set(SPEICHER_SCHLUESSEL, String(n)); }
var LEER_HINWEIS = 'Die kostenlosen Analysen sind aufgebraucht oder abgelaufen. Ratsuchende: Bitte fragen Sie bei Ihrer Beratungsstelle nach. Beratungsstelle: Ein Anruf genügt, Justin Klein, 0170 4969375. Nach dem Aufladen einfach diese Seite neu laden oder den Code unten noch einmal eingeben.'; /** Text mit {name}: der Name kommt in ein <bdi>, damit „(Test)." in arabischem Text richtig steht. */
var KEIN_ZUGANG_HANDY = 'Auf diesem Handy sind die kostenlosen Analysen verbraucht. Bitte am Computer den Code der Beratungsstelle einlösen und dann einen neuen QR-Code erzeugen.'; function mitName(el, vorlage, name) {
var teile = vorlage.split('{name}');
el.textContent = teile[0];
var b = document.createElement('bdi'); b.textContent = name; el.appendChild(b);
if (teile[1]) el.appendChild(document.createTextNode(teile[1]));
}
/** Einrichtungs-Zugang: oben nicht mehr „2 Analysen gratis" anpreisen. */
function zeigeEinrichtungImKopf(name) {
mitName(document.querySelector('#demo .formular-kopf'), t('formKopfKostenlos'), name);
mitName(document.getElementById('anredeAngebot'), t('anredeKostenlos'), name);
document.getElementById('kopfAz').textContent = 'Formular D-01 · ' + name;
}
function zeigeStand() { function zeigeStand() {
if (handyModus && handyModus.fertig) return; if (handyModus && handyModus.fertig) return;
// Handy-Modus: nie Kaufangebot oder Code-Feld (die Beratung ist dabei) // Handy-Modus: nie Kaufangebot oder Code-Feld (die Beratung ist dabei)
@@ -690,7 +783,7 @@
if (benutzt() >= 2) { if (benutzt() >= 2) {
eingabe.style.display = 'none'; eingabe.style.display = 'none';
fehlerBox.style.display = 'block'; fehlerBox.style.display = 'block';
fehlerBox.textContent = KEIN_ZUGANG_HANDY; fehlerBox.textContent = t('keinZugangHandy');
meldeAnPc({ schritt: 'fehler', code: 'kein_zugang', meldung: 'Am Handy sind die kostenlosen Analysen verbraucht.' }); meldeAnPc({ schritt: 'fehler', code: 'kein_zugang', meldung: 'Am Handy sind die kostenlosen Analysen verbraucht.' });
} else { } else {
eingabe.style.display = 'block'; eingabe.style.display = 'block';
@@ -706,12 +799,10 @@
kaufBlock.style.display = 'none'; kaufBlock.style.display = 'none';
codeTeil.style.display = 'block'; codeTeil.style.display = 'block';
fehlerBox.style.display = 'block'; fehlerBox.style.display = 'block';
fehlerBox.textContent = LEER_HINWEIS; fehlerBox.textContent = t('leerHinweis');
return; return;
} }
if (einrichtung() && hatGuthaben()) { if (einrichtung() && hatGuthaben()) zeigeEinrichtungImKopf(einrichtung());
document.querySelector('#demo .formular-kopf').textContent = 'Antrag auf Klartext · kostenlos über ' + einrichtung();
}
if (handyModus && handyModus.w) { if (handyModus && handyModus.w) {
eingabe.style.display = 'block'; eingabe.style.display = 'block';
guthabenBanner.style.display = 'none'; guthabenBanner.style.display = 'none';
@@ -752,7 +843,7 @@
startKnopf.addEventListener('click', function () { startKnopf.addEventListener('click', function () {
fehlerBox.style.display = 'none'; fehlerBox.style.display = 'none';
if (!konsens.checked) { if (!konsens.checked) {
zeigeFehler('Bitte zuerst oben das Häkchen bei der Einwilligung setzen.'); zeigeFehler(t('fehlerKonsens'));
fehlerBox.dataset.art = 'konsens'; fehlerBox.dataset.art = 'konsens';
konsens.closest('label').scrollIntoView({ behavior: 'smooth', block: 'center' }); konsens.closest('label').scrollIntoView({ behavior: 'smooth', block: 'center' });
konsens.focus(); konsens.focus();
@@ -781,16 +872,14 @@
function zeigeFertigBanner(angekommen, ohneUebersetzung, paket) { function zeigeFertigBanner(angekommen, ohneUebersetzung, paket) {
verbundenBanner.innerHTML = ''; verbundenBanner.innerHTML = '';
verbundenBanner.appendChild(document.createTextNode(angekommen verbundenBanner.appendChild(document.createTextNode(angekommen ? t('fertig') : t('nichtAngekommen')));
? '✅ Fertig. Die Erklärung steht hier und auf dem Computer. Für einen weiteren Brief tippt die Beratung am Computer noch einmal auf „Lieber mit dem Handy fotografieren".' if (ohneUebersetzung) verbundenBanner.appendChild(document.createTextNode(' ' + t('ohneUebersetzung')));
: '⚠️ Die Erklärung steht hier, ist aber am Computer nicht angekommen.'));
if (ohneUebersetzung) verbundenBanner.appendChild(document.createTextNode(' Die Übersetzung hat diesmal nicht geklappt, deshalb steht die Erklärung auf Deutsch.'));
if (!angekommen) { if (!angekommen) {
var knopf = document.createElement('button'); var knopf = document.createElement('button');
knopf.type = 'button'; knopf.className = 'cta cta-zwei'; knopf.type = 'button'; knopf.className = 'cta cta-zwei';
knopf.textContent = '🔁 Noch einmal an den Computer senden'; knopf.textContent = t('nochmalSenden');
knopf.addEventListener('click', async function () { knopf.addEventListener('click', async function () {
knopf.disabled = true; knopf.textContent = 'Wird gesendet …'; knopf.disabled = true; knopf.textContent = t('wirdGesendet');
var ok = await ergebnisAnPc(paket); var ok = await ergebnisAnPc(paket);
zeigeFertigBanner(ok, ohneUebersetzung, paket); zeigeFertigBanner(ok, ohneUebersetzung, paket);
}); });
@@ -840,17 +929,17 @@
async function starteAnalyse(datei) { async function starteAnalyse(datei) {
fehlerBox.style.display = 'none'; fehlerBox.style.display = 'none';
if (datei.size > 5 * 1024 * 1024 && datei.type === 'application/pdf') { if (datei.size > 5 * 1024 * 1024 && datei.type === 'application/pdf') {
zeigeFehler('Die PDF-Datei ist zu groß (max. 5 MB). Tipp: Fotografieren Sie den Brief stattdessen.'); zeigeFehler(t('fehlerPdfGross'));
return; return;
} }
var token = turnstileToken(); var token = turnstileToken();
if (!token) { if (!token) {
zeigeFehler('Die Sicherheitsprüfung lädt noch — bitte warten Sie 2 Sekunden und versuchen Sie es erneut.'); zeigeFehler(t('fehlerTurnstileLaedt'));
return; return;
} }
eingabe.style.display = 'none'; eingabe.style.display = 'none';
status.querySelector('.gross').textContent = 'Ihr Brief wird analysiert…'; status.querySelector('.gross').textContent = t('statusLaeuft');
status.style.display = 'block'; status.style.display = 'block';
try { try {
@@ -884,7 +973,7 @@
meldeAnPc({ schritt: 'fehler', code: daten.code || '', meldung: daten.meldung || '' }); meldeAnPc({ schritt: 'fehler', code: daten.code || '', meldung: daten.meldung || '' });
// Guthaben vom PC: Fehler nur anzeigen, am Handy nichts umstellen // Guthaben vom PC: Fehler nur anzeigen, am Handy nichts umstellen
if (handyModus && handyModus.w) { if (handyModus && handyModus.w) {
zeigeFehler(daten.meldung || 'Etwas ist schiefgelaufen. Bitte erneut versuchen.'); zeigeFehler(serverMeldung(daten));
return; return;
} }
// Handy ohne Zugang vom PC: Kontingent-Fehler nicht als Kaufangebot zeigen // Handy ohne Zugang vom PC: Kontingent-Fehler nicht als Kaufangebot zeigen
@@ -892,7 +981,7 @@
if (daten.code === 'aufgebraucht') setzeBenutzt(2); if (daten.code === 'aufgebraucht') setzeBenutzt(2);
eingabe.style.display = 'none'; eingabe.style.display = 'none';
fehlerBox.style.display = 'block'; fehlerBox.style.display = 'block';
fehlerBox.textContent = KEIN_ZUGANG_HANDY; fehlerBox.textContent = t('keinZugangHandy');
meldeAnPc({ schritt: 'fehler', code: 'kein_zugang', meldung: 'Am Handy sind die kostenlosen Analysen verbraucht.' }); meldeAnPc({ schritt: 'fehler', code: 'kein_zugang', meldung: 'Am Handy sind die kostenlosen Analysen verbraucht.' });
return; return;
} }
@@ -922,7 +1011,7 @@
kaufBlock.scrollIntoView({ behavior: 'smooth' }); kaufBlock.scrollIntoView({ behavior: 'smooth' });
return; return;
} }
zeigeFehler(daten.meldung || 'Etwas ist schiefgelaufen. Bitte erneut versuchen.'); zeigeFehler(serverMeldung(daten));
return; return;
} }
@@ -972,7 +1061,7 @@
eingabe.style.display = 'block'; eingabe.style.display = 'block';
if (window.turnstile) window.turnstile.reset(); if (window.turnstile) window.turnstile.reset();
meldeAnPc({ schritt: 'fehler', code: 'verbindung', meldung: 'Verbindung fehlgeschlagen.' }); meldeAnPc({ schritt: 'fehler', code: 'verbindung', meldung: 'Verbindung fehlgeschlagen.' });
zeigeFehler('Verbindung fehlgeschlagen. Bitte prüfen Sie Ihr Internet und versuchen Sie es erneut.'); zeigeFehler(t('fehlerVerbindung'));
} }
} }
@@ -1001,11 +1090,11 @@
var farbe = tage <= 7 ? 'var(--rot)' : tage <= 21 ? 'var(--gelb)' : 'var(--gruen)'; var farbe = tage <= 7 ? 'var(--rot)' : tage <= 21 ? 'var(--gelb)' : 'var(--gruen)';
var punkt = tage <= 7 ? '🔴' : tage <= 21 ? '🟡' : '🟢'; var punkt = tage <= 7 ? '🔴' : tage <= 21 ? '🟡' : '🟢';
var datum = deDatum(erstes.iso); var datum = deDatum(erstes.iso);
var wann = erstes.art === 'Termin' ? 'Termin am ' + datum : 'Frist bis ' + datum; var wann = erstes.art === 'Termin' ? t('ampelTerminAm', { datum: datum }) : t('ampelFristBis', { datum: datum });
var text = tage < 0 ? (erstes.art === 'Termin' ? 'Der Termin war am ' + datum + '!' : 'Die Frist ist womöglich schon vorbei (' + datum + ')!') : var text = tage < 0 ? (erstes.art === 'Termin' ? t('ampelTerminWar', { datum: datum }) : t('ampelFristVorbei', { datum: datum })) :
tage === 0 ? 'HEUTE: ' + wann + '!' : tage === 0 ? t('ampelHeute') + ': ' + wann + '!' :
tage === 1 ? 'Morgen: ' + wann : tage === 1 ? t('ampelMorgen') + ': ' + wann :
'Noch ' + tage + ' Tage · ' + wann; t('ampelNoch', { n: tage }) + ' · ' + wann;
return { farbe: farbe, text: punkt + ' ' + text, istFrist: erstes.art === 'Frist' }; return { farbe: farbe, text: punkt + ' ' + text, istFrist: erstes.art === 'Frist' };
} }
@@ -1087,6 +1176,7 @@
zeigeKalender(analyse); zeigeKalender(analyse);
zeigeAnruf(analyse); zeigeAnruf(analyse);
zeigeStellenHinweis();
zeichneUmschalter(); zeichneUmschalter();
document.getElementById('mitnehmenTeil').style.display = istPc && !handyModus && !leseModus ? 'block' : 'none'; document.getElementById('mitnehmenTeil').style.display = istPc && !handyModus && !leseModus ? 'block' : 'none';
document.getElementById('mitnehmenBox').style.display = 'none'; document.getElementById('mitnehmenBox').style.display = 'none';
@@ -1240,9 +1330,9 @@
// oder bedingte Fristen ("bis zum 10. Tag nach jedem Vierteljahr"), // oder bedingte Fristen ("bis zum 10. Tag nach jedem Vierteljahr"),
// aus denen sich kein einzelnes Datum machen laesst. Ein Haekchen // aus denen sich kein einzelnes Datum machen laesst. Ein Haekchen
// wuerde dann "alles erledigt" signalisieren — gefaehrlich falsch. // wuerde dann "alles erledigt" signalisieren — gefaehrlich falsch.
label.textContent = 'Kalender'; label.textContent = t('labelKalender');
zeile('ℹ️ Kein festes Datum zum Eintragen gefunden.'); zeile(t('keinDatum1'));
zeile('Wichtig: Manche Fristen haben kein festes Datum, zum Beispiel „jedes Vierteljahr" oder nur unter bestimmten Bedingungen. Lesen Sie dazu die Erklärung oben.'); zeile(t('keinDatum2'));
knopf.style.display = 'none'; knopf.style.display = 'none';
hinweis.style.display = 'none'; hinweis.style.display = 'none';
karte.style.border = ''; karte.style.border = '';
@@ -1250,12 +1340,12 @@
return; return;
} }
letzteAnalyse = a; letzteAnalyse = a;
label.textContent = 'Nicht vergessen'; label.textContent = t('labelNichtVergessen');
knopf.style.display = ''; knopf.style.display = '';
hinweis.style.display = ''; hinweis.style.display = '';
karte.style.border = '2px solid var(--amtsblau)'; karte.style.border = '2px solid var(--amtsblau)';
if (frist) zeile('⚠️ Frist: ' + deDatum(frist.datum), frist.aktion); if (frist) zeile(t('fristZeile', { datum: deDatum(frist.datum) }), frist.aktion);
if (termin) zeile('📅 Termin: ' + deDatum(termin.datum) + (termin.uhrzeit ? ', ' + termin.uhrzeit + ' Uhr' : ''), termin.ort); if (termin) zeile(t('terminZeile', { datum: deDatum(termin.datum) }) + (termin.uhrzeit ? ', ' + t('uhrzeit', { zeit: termin.uhrzeit }) : ''), termin.ort);
karte.style.display = 'block'; karte.style.display = 'block';
} }
@@ -1293,22 +1383,23 @@
if (hervorheben) w.className = 'az-wert'; if (hervorheben) w.className = 'az-wert';
p.appendChild(b); p.appendChild(w); box.appendChild(p); p.appendChild(b); p.appendChild(w); box.appendChild(p);
} }
angabe('Ansprechpartner', k.ansprechpartner); angabe(t('ansprechpartner'), k.ansprechpartner);
angabe('Erreichbar', k.sprechzeiten); angabe(t('erreichbar'), k.sprechzeiten);
angabe('Danach werden Sie gefragt', k.aktenzeichen, true); angabe(t('gefragt'), k.aktenzeichen, true);
var liste = document.getElementById('ergAnrufSaetze'); var liste = document.getElementById('ergAnrufSaetze');
liste.innerHTML = ''; liste.innerHTML = '';
if (saetze.length) { if (saetze.length) {
var kopf = document.createElement('p'); var kopf = document.createElement('p');
kopf.style.marginTop = '12px'; kopf.style.marginTop = '12px';
kopf.innerHTML = '<strong>Das können Sie am Telefon sagen:</strong>'; var stark = document.createElement('strong'); stark.textContent = t('amTelefon'); kopf.appendChild(stark);
liste.appendChild(kopf); liste.appendChild(kopf);
var angezeigt = versionen.length ? versionen[aktiveVersion].code : zielsprache(); var angezeigt = versionen.length ? versionen[aktiveVersion].code : zielsprache();
var mitBedeutung = angezeigt !== 'de'; var mitBedeutung = angezeigt !== 'de';
saetze.forEach(function (s) { saetze.forEach(function (s) {
var d = document.createElement('div'); d.className = 'anruf-satz'; var d = document.createElement('div'); d.className = 'anruf-satz';
var de = document.createElement('p'); de.className = 'anruf-de'; var de = document.createElement('p'); de.className = 'anruf-de';
de.setAttribute('dir', 'ltr'); // wird auf Deutsch gesagt — auch auf arabischer Seite links-nach-rechts
de.textContent = '„' + s.deutsch + '“'; de.textContent = '„' + s.deutsch + '“';
d.appendChild(de); d.appendChild(de);
if (mitBedeutung && s.bedeutung && s.bedeutung !== s.deutsch) { if (mitBedeutung && s.bedeutung && s.bedeutung !== s.deutsch) {
@@ -1442,7 +1533,7 @@
zeichneHandyQr(); zeichneHandyQr();
zeigeStand(); zeigeStand();
if (res.d.guthaben <= 0) return; // zeigeStand zeigt den Leer-Hinweis mit Telefonnummer if (res.d.guthaben <= 0) return; // zeigeStand zeigt den Leer-Hinweis mit Telefonnummer
kaufOk.textContent = '✅ Code eingelöst. BehördenKlar ist für Sie kostenlos, über ' + res.d.einrichtung + '.'; kaufOk.textContent = t('codeEingeloest', { name: res.d.einrichtung });
kaufOk.style.display = 'block'; kaufOk.style.display = 'block';
}) })
.catch(function () { .catch(function () {
@@ -1593,6 +1684,53 @@
document.getElementById('ergebnis').scrollIntoView({ behavior: 'smooth' }); document.getElementById('ergebnis').scrollIntoView({ behavior: 'smooth' });
} }
// ---- Hinweis auf die Beratungsstelle (nur am Handy) --------------------
// Mit Einrichtungs-Code steht unter jeder Erklärung, wer weiterhilft. So
// schickt BehördenKlar die Leute zur Beratung zurück, nicht weg.
var mitgenommeneStelle = ''; // kommt beim „Mitnehmen" vom PC mit
function zeigeStellenHinweis() {
var el = document.getElementById('ergStelle');
var stelle = istPc ? '' :
((typeof handyModus !== 'undefined' && handyModus && handyModus.e) || mitgenommeneStelle ||
(einrichtung() && hatGuthaben() ? einrichtung() : ''));
var vorlage = t('stelleHinweis');
// Alte ui-texte.js aus dem Browser-Speicher kennt den Text noch nicht: dann lieber nichts zeigen
if (!stelle || vorlage === 'stelleHinweis') { el.style.display = 'none'; return; }
mitName(el, vorlage, String(stelle).slice(0, 80));
el.style.display = 'block';
}
// ---- PC: Drucken und „Fertig, nächste Person" ------------------------
document.getElementById('druckKnopf').addEventListener('click', function () { window.print(); });
var zumDruckGeoeffnet = [];
window.addEventListener('beforeprint', function () {
document.getElementById('druckDatum').textContent = 'Erklärung von BehördenKlar, erstellt am ' +
new Date().toLocaleDateString('de-DE') + '. Maßgeblich ist immer der Originalbrief.';
// Schwere Wörter aufklappen, damit die Erklärungen mitgedruckt werden
zumDruckGeoeffnet = [];
document.querySelectorAll('#ergBegriffe details').forEach(function (d) {
if (!d.open) { d.open = true; zumDruckGeoeffnet.push(d); }
});
});
window.addEventListener('afterprint', function () {
zumDruckGeoeffnet.forEach(function (d) { d.open = false; });
zumDruckGeoeffnet = [];
});
// Alles weg für die nächste Person: Erklärung, Verbindung, Sprache zurück auf Deutsch
document.getElementById('fertigKnopf').addEventListener('click', function () {
stoppeWarten();
speicher.set(SPRACH_SCHLUESSEL, 'de');
// Firefox stellt Formularwerte beim Neuladen wieder her: Einwilligung und
// E-Mail der vorigen Person vorher leeren
document.querySelectorAll('#konsens, #kaufKonsens').forEach(function (c) { c.checked = false; });
document.querySelectorAll('#email, #wlEmail').forEach(function (f) { f.value = ''; });
// Nach dem Neuladen oben anfangen, nicht an der alten Stelle
if ('scrollRestoration' in history) history.scrollRestoration = 'manual';
window.scrollTo(0, 0);
// Ohne ?sprache= und #… neu öffnen, damit wirklich Deutsch voreingestellt ist
window.location.replace(window.location.pathname);
});
// PC: Ergebnis per QR-Code aufs Handy mitgeben // PC: Ergebnis per QR-Code aufs Handy mitgeben
document.getElementById('mitnehmenKnopf').addEventListener('click', async function () { document.getElementById('mitnehmenKnopf').addEventListener('click', async function () {
var knopf = this; var knopf = this;
@@ -1600,7 +1738,8 @@
knopf.disabled = true; knopf.disabled = true;
try { try {
var ue = await BKUebergabe.neu(); var ue = await BKUebergabe.neu();
await BKUebergabe.senden(ue, 'ergebnis', letzteDaten); // Name der Stelle mitgeben: Am Handy steht dann „Fragen dazu? Ihre Beratungsstelle …"
await BKUebergabe.senden(ue, 'ergebnis', Object.assign({}, letzteDaten, { e: einrichtung() && hatGuthaben() ? einrichtung() : '' }));
zeigeQr(document.getElementById('mitnehmenQr'), BKUebergabe.adresse({ a: 'm', s: ue.id, k: ue.k })); zeigeQr(document.getElementById('mitnehmenQr'), BKUebergabe.adresse({ a: 'm', s: ue.id, k: ue.k }));
document.getElementById('mitnehmenBox').style.display = 'block'; document.getElementById('mitnehmenBox').style.display = 'block';
} catch (e) { } catch (e) {
@@ -1625,7 +1764,7 @@
if (h.a === 'g') { uebernehmeGuthaben(h); return; } if (h.a === 'g') { uebernehmeGuthaben(h); return; }
var ue = await BKUebergabe.oeffne(h.s, h.k).catch(function () { return null; }); var ue = await BKUebergabe.oeffne(h.s, h.k).catch(function () { return null; });
if (!ue) { if (!ue) {
zeigeFehler('Dieser QR-Code ist ungültig. Bitte am Computer einen neuen erzeugen.'); zeigeFehler(t('qrUngueltig'));
return; return;
} }
@@ -1636,10 +1775,11 @@
sitzungsSprache = h.l; sitzungsSprache = h.l;
document.getElementById('sprachWahl').value = h.l; document.getElementById('sprachWahl').value = h.l;
} }
verbundenBanner.textContent = '🔗 Mit dem Computer verbunden. Setzen Sie das Häkchen und fotografieren Sie Ihren Brief. Die Erklärung erscheint hier und auf dem Bildschirm.'; wendeUiSpracheAn();
verbundenBanner.textContent = t('verbunden');
verbundenBanner.style.display = 'block'; verbundenBanner.style.display = 'block';
handyKnopf.style.display = 'none'; handyKnopf.style.display = 'none';
if (handyModus.e) document.querySelector('#demo .formular-kopf').textContent = 'Antrag auf Klartext · kostenlos über ' + handyModus.e; if (handyModus.e) zeigeEinrichtungImKopf(handyModus.e);
// „verbunden" zuerst melden — zeigeStand meldet danach ggf. „kein Zugang", // „verbunden" zuerst melden — zeigeStand meldet danach ggf. „kein Zugang",
// und das darf nicht von „verbunden" überschrieben werden // und das darf nicht von „verbunden" überschrieben werden
await meldeAnPc({ schritt: 'verbunden' }); await meldeAnPc({ schritt: 'verbunden' });
@@ -1653,7 +1793,7 @@
leseModus = true; leseModus = true;
eingabe.style.display = 'none'; eingabe.style.display = 'none';
kaufBlock.style.display = 'none'; kaufBlock.style.display = 'none';
status.querySelector('.gross').textContent = 'Das Ergebnis wird geladen …'; status.querySelector('.gross').textContent = t('statusLaden');
status.style.display = 'block'; status.style.display = 'block';
var f = null; var f = null;
try { f = await BKUebergabe.holen(ue); } catch (e) {} try { f = await BKUebergabe.holen(ue); } catch (e) {}
@@ -1661,14 +1801,15 @@
if (!f || !f.ergebnis) { if (!f || !f.ergebnis) {
leseModus = false; leseModus = false;
zeigeStand(); zeigeStand();
zeigeFehler('Dieser QR-Code ist abgelaufen oder wurde schon benutzt (er gilt ' + BKUebergabe.LEBENSDAUER_MIN + ' Minuten und nur einmal). Bitte am Computer einen neuen erzeugen.'); zeigeFehler(t('qrAbgelaufen', { min: BKUebergabe.LEBENSDAUER_MIN }));
return; return;
} }
BKUebergabe.loeschen(ue); BKUebergabe.loeschen(ue);
codeTeil.style.display = 'none'; codeTeil.style.display = 'none';
kaufBlock.style.display = 'none'; kaufBlock.style.display = 'none';
verbundenBanner.textContent = '📱 Vom Computer übernommen. Tragen Sie die Frist gleich in Ihren Kalender ein, dann vergessen Sie nichts.'; verbundenBanner.textContent = t('mitgenommen');
verbundenBanner.style.display = 'block'; verbundenBanner.style.display = 'block';
mitgenommeneStelle = typeof f.ergebnis.e === 'string' ? f.ergebnis.e.slice(0, 80) : '';
zeigeAnalyse(bereiteVersionen(f.ergebnis, false)); zeigeAnalyse(bereiteVersionen(f.ergebnis, false));
document.getElementById('ergebnis').scrollIntoView({ behavior: 'smooth' }); document.getElementById('ergebnis').scrollIntoView({ behavior: 'smooth' });
} }
@@ -1683,7 +1824,7 @@
setzeWallet(h.w); setzeWallet(h.w);
setzeGuthaben(parseInt(h.n, 10) || 1); setzeGuthaben(parseInt(h.n, 10) || 1);
setzeEinrichtung(h.e || null); setzeEinrichtung(h.e || null);
kaufOk.textContent = h.e ? '✅ Übernommen. BehördenKlar ist für Sie kostenlos, über ' + h.e + '.' : '✅ Guthaben übernommen.'; kaufOk.textContent = h.e ? t('uebernommen', { name: h.e }) : '✅ Guthaben übernommen.';
kaufOk.style.display = 'block'; kaufOk.style.display = 'block';
zeigeStand(); zeigeStand();
} }
@@ -1731,6 +1872,8 @@
feld.addEventListener('change', function () { feld.addEventListener('change', function () {
speicher.set(SPRACH_SCHLUESSEL, feld.value); speicher.set(SPRACH_SCHLUESSEL, feld.value);
sitzungsSprache = null; sitzungsSprache = null;
wendeUiSpracheAn();
zeigeStand();
if (/[?&]sprache=/.test(window.location.search) && window.history.replaceState) { if (/[?&]sprache=/.test(window.location.search) && window.history.replaceState) {
var u = new URL(window.location.href); var u = new URL(window.location.href);
u.searchParams.delete('sprache'); u.searchParams.delete('sprache');
@@ -1741,6 +1884,7 @@
})(); })();
rendrePakete(); rendrePakete();
wendeUiSpracheAn();
var startHash = BKUebergabe.ausAdresse(); var startHash = BKUebergabe.ausAdresse();
var startSuche = window.location.search; // vor pruefeRueckkehr, das die Adresse aufräumt var startSuche = window.location.search; // vor pruefeRueckkehr, das die Adresse aufräumt
// Handy-Verbindung übersteht ein Neuladen (z. B. wenn Android den Tab beim // Handy-Verbindung übersteht ein Neuladen (z. B. wenn Android den Tab beim
+2166
View File
File diff suppressed because it is too large. Load diff