Praesentation MBE: Datenschutz-Blatt (Traeger), Kurzanleitung Beratungs-PC, Spickzettel, STAND

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
JUSNandClaude Opus 5.5 committed 2026-10-22 22:30:33 +02:00
1 parent 82235dc529
commit f5eea8ca66
7 files changed
+582 -10

No files matched your search

+21 -10
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:** Do 22.10.2026, nachts: live, plus Handy in 27 Sprachen und zwei Dokumente fertig (warten auf Deploy).
--- ---
## 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.). Morgen: Generalprobe 1 mit deinem Laptop und Handy.
--- ---
@@ -71,10 +71,21 @@ 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. Neu seit dem Deploy (Do 22.10., spät): fertig, wartet auf den nächsten Deploy
- ✅ **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.
- ⏳ **Dein Okay für den nächsten Deploy.**
- ℹ️ 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**.
## 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? - 👤 **Fr 23.10.: Generalprobe 1** mit Laptop und Handy: `behoerdenklar.de/demo?code=VORF-2EDF`, Arabisch, Musterbrief (Ampel noch gelb = richtig).
- ✅ ~~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.
- 👤 **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. - 👤 **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.
- 👤 **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**, der im Juli im Chat gepostet wurde (console.anthropic.com → API Keys).
@@ -86,10 +97,10 @@ 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×, Datenschutz-Blatt 2×). 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 +109,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.
--- ---
@@ -85,6 +85,7 @@
<div class="schritt"><span class="zeit">9–11'</span><div> <div class="schritt"><span class="zeit">9–11'</span><div>
<h3>Das Angebot: Handzettel übergeben</h3> <h3>Das Angebot: Handzettel übergeben</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">„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><b>Wenn Interesse da ist:</b> „Zu welchem Träger gehören Sie, und gibt es bei Ihnen eine Datenschutzbeauftragte? Dann schicke ich ihr unser Datenschutz-Blatt und auf Wunsch einen AVV.“</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> <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>
Binary file not shown.
@@ -0,0 +1,357 @@
<!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: 22.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 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>Sprache:</b> Der Text steht derzeit nur auf Deutsch, Übersetzungen sind in Arbeit.
Bis dahin erklärt die Beraterin ihn bei Bedarf mündlich.</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>Gemeinsamer Dienst-PC.</b> Nach jedem Gespräch die Seite neu laden. Kalender-Einträge am
Handy der Person anlegen, am PC landet sonst eine Datei mit der Frist im Download-Ordner.</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 und ein Textbaustein fürs Verarbeitungsverzeichnis.
Sie kommen vor dem ersten echten 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 22.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.
@@ -0,0 +1,203 @@
<!DOCTYPE html>
<!--
Kurzanleitung „So geht's am Beratungs-PC“ (DIN A4, 1 Seite, für Beraterinnen).
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, „Der Zugang über …
ist abgelaufen“ aus proxy/src/index.ts (Stand 22.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; --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: 10mm 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: 11pt; line-height: 1.36;
}
.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: 3.5mm; font-size: 8pt; color: var(--grau); text-transform: uppercase; letter-spacing: .14em; }
h1 { font-size: 23pt; line-height: 1.12; 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: 11.5pt; line-height: 1.36; }
/* Knöpfe und Bildschirm-Texte so, wie man sie auf der Seite wiedererkennt */
.k { font-weight: 700; background: #fff; border: 0.35mm solid var(--tinte); border-radius: 1mm;
padding: 0 1.3mm; margin-right: .5mm; box-shadow: 0.5mm 0.5mm 0 var(--tinte);
-webkit-box-decoration-break: clone; box-decoration-break: clone; }
.m { background: rgba(29,78,137,.09); padding: 0 .8mm; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.kasten { background: #fff; border: 0.5mm solid var(--tinte); padding: 3.6mm 4mm 3.2mm; position: relative; }
.kasten .label { position: absolute; top: -2.6mm; left: 3.5mm; font-family: 'Courier New', monospace; font-size: 7.5pt;
text-transform: uppercase; letter-spacing: .1em; background: var(--tinte); color: var(--papier); padding: .4mm 2mm; }
.einmalig { margin-top: 4.4mm; display: grid; grid-template-columns: 1fr 27mm; gap: 5mm; align-items: start; }
.einmalig p { font-size: 10.6pt; line-height: 1.34; }
.adresse { font-family: 'Courier New', monospace; font-weight: 700; font-size: 12.5pt; color: var(--amtsblau);
background: var(--marker); display: inline-block; padding: .4mm 2mm; margin: 1.2mm 0 1.6mm; word-break: break-all; }
.luecke { display: inline-block; width: 26mm; border-bottom: 0.35mm solid var(--amtsblau); height: 4.2mm; vertical-align: -0.6mm; }
.einmalig ul { list-style: none; font-size: 10pt; line-height: 1.32; }
.einmalig li { padding-left: 4mm; position: relative; margin-top: .9mm; }
.einmalig li::before { content: '›'; position: absolute; left: .5mm; color: var(--amtsblau); font-weight: 700; }
.qrteil { text-align: center; }
#qr { width: 25mm; height: 25mm; margin: 0 auto 1.2mm; }
#qr svg { width: 100%; height: 100%; display: block; }
.qrteil .klein { font-size: 7.8pt; color: var(--grau); line-height: 1.3; }
.code { font-family: 'Courier New', monospace; font-weight: 700; font-size: 11pt; letter-spacing: .08em; background: var(--marker); padding: 0 1.5mm; margin-right: 1mm; }
h2 { font-size: 8pt; text-transform: uppercase; letter-spacing: .14em; color: var(--grau); font-weight: 400;
margin: 3.6mm 0 1.4mm; display: flex; align-items: center; gap: 3mm; }
h2::after { content: ''; flex: 1; border-top: 0.25mm solid rgba(33,33,29,.25); order: 1; }
h2 .legende { order: 2; text-transform: none; letter-spacing: 0; font-size: 9.5pt; color: var(--grau); }
.schritte { list-style: none; }
.schritte li { display: grid; grid-template-columns: 9mm 1fr; gap: 1.5mm; padding: 0.8mm 0; border-bottom: 0.25mm dashed rgba(33,33,29,.22); }
.schritte li:last-child { border-bottom: none; }
.nr { font-family: 'Courier New', monospace; font-weight: 700; font-size: 17pt; line-height: 1; color: var(--amtsblau); padding-top: .4mm; }
.schritte b.t { font-size: 11.6pt; }
.schritte p { font-size: 11pt; line-height: 1.34; }
.schritte .zusatz { font-size: 9.6pt; color: #3a3833; margin-top: .4mm; }
.wichtig { margin-top: 3.8mm; border-color: var(--stempelrot); border-width: 0.6mm; }
.wichtig .label { background: var(--stempelrot); }
.wichtig > p { font-size: 10.4pt; line-height: 1.33; padding-left: 4.5mm; position: relative; margin-bottom: .8mm; }
.wichtig > p::before { content: '!'; position: absolute; left: .6mm; color: var(--stempelrot); font-weight: 700; }
.meldungen { width: 100%; border-collapse: collapse; margin-top: 1.4mm; font-size: 9.6pt; line-height: 1.28; }
.meldungen caption { text-align: left; font-family: 'Courier New', monospace; font-size: 7.5pt; text-transform: uppercase; letter-spacing: .1em; color: var(--grau); padding-bottom: .8mm; }
.meldungen td { padding: .4mm 0; vertical-align: top; border-top: 0.25mm solid rgba(33,33,29,.15); }
.meldungen td:first-child { width: 39%; padding-right: 3mm; }
.meldungen tr.leer td { background: rgba(255,230,107,.45); }
.meldungen tr.leer td:first-child { padding-left: 1mm; }
.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 .anruf { font-size: 12.5pt; font-weight: 700; line-height: 1.3; }
.fuss .anruf .nummer { font-family: 'Courier New', monospace; background: var(--marker); padding: 0 1.5mm; }
.stempel { display: inline-block; padding: 1mm 2.5mm; border: 0.5mm solid var(--stempelrot); color: var(--stempelrot);
font-family: 'Courier New', monospace; font-weight: 700; font-size: 7.5pt; letter-spacing: .1em;
text-transform: uppercase; transform: rotate(-4deg); margin-bottom: 1mm; }
</style>
</head>
<body>
<div class="seite">
<div class="briefkopf">
<span class="absender">📬 BehördenKlar <small>by Webklar</small></span>
<span class="az mono">Az: KLAR-BERATUNG/2026 · Kurzanleitung Beratungs-PC</span>
</div>
<p class="betreff">Kurzanleitung · 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="kasten einmalig">
<span class="label">Einmal einrichten: Lesezeichen</span>
<div>
<p>Diese Adresse am Beratungs-PC als Lesezeichen speichern, genau so, mit Code:</p>
<p><span class="adresse" id="adresseText"></span></p>
<ul>
<li><b>Lesezeichen von Hand anlegen</b> und die Adresse eintragen. Nicht nur den Stern ☆ klicken: Nach dem Öffnen ist der Code aus der Adresszeile verschwunden.</li>
<li>Ihr Code: <span class="code" id="codeText"></span> Nur für die Beratungsstelle: nicht an Ratsuchende weitergeben, Blatt nicht offen auslegen.</li>
</ul>
</div>
<div class="qrteil">
<div id="qr"></div>
<p class="klein">Gleiche Adresse als QR-Code</p>
</div>
</div>
<h2><span>Ablauf für jede Person</span><span class="legende"><span class="k">Knopf</span> = klicken oder tippen · <span class="m">„Text“</span> = steht so auf dem Bildschirm</span></h2>
<ol class="schritte">
<li><span class="nr">1</span><div>
<p><b class="t">Seite öffnen.</b> Lesezeichen anklicken. Oben steht <span class="m">„🤝 Kostenlos über <span id="stelleText"></span> …“</span></p>
<p class="zusatz">Fehlt das? Unten <span class="k">🤝 Sie haben einen Code von einer Beratungsstelle?</span> öffnen und den Code einlösen.</p>
</div></li>
<li><span class="nr">2</span><div>
<p><b class="t">Sprache wählen.</b> Bei <span class="m">„🌐 Erklärung in dieser Sprache:“</span> die Sprache der Person einstellen.
Oder <span class="m">„Deutsch“</span> lassen: Dann erkennt das Handy seine Sprache selbst.</p>
</div></li>
<li><span class="nr">3</span><div>
<p><b class="t">QR-Code zeigen.</b> <span class="k">📱 Lieber mit dem Handy fotografieren</span> klicken. Die Person scannt den QR-Code mit der Handy-Kamera.
Am PC steht dann <span class="m">„✅ Handy verbunden …“</span></p>
<p class="zusatz">Nicht <span class="k">🔑 Zugang dauerhaft auf ein Handy geben</span> klicken: Das gibt Ihren Zugang dauerhaft aufs Handy.</p>
</div></li>
<li><span class="nr">4</span><div>
<p><b class="t">Am Handy: Häkchen und Foto.</b> Das Häkchen setzt <b>die Person selbst</b>. Es ist ihre Einwilligung: Das Foto geht an BehördenKlar und an den KI-Dienst Anthropic (USA).
Dann tippt sie auf <span class="k">📷 Brief auswählen &amp; erklären lassen</span> und fotografiert den Brief.</p>
<p class="zusatz">Häkchen-Text unklar? Kurz erklären. Ein Foto pro Brief, bei mehreren Seiten die mit Betreff und Frist.</p>
</div></li>
<li><span class="nr">5</span><div>
<p><b class="t">1 bis 2 Minuten warten.</b> Dann steht die Erklärung am PC auf Deutsch und am Handy in der Sprache der Person.
Umschalten über dem Ergebnis, z. B. <span class="k">Deutsch</span> <span class="k">العربية</span></p>
</div></li>
<li><span class="nr">6</span><div>
<p><b class="t">Kalender am Handy.</b> Die Person tippt am Handy auf <span class="k">📅 In meinen Kalender eintragen</span>. Nicht am PC, sonst landet die Datei auf dem Dienst-PC.</p>
<p class="zusatz">Seite am Handy schon zu? Am PC <span class="k">📱 Ergebnis aufs Handy mitnehmen</span> klicken.</p>
</div></li>
<li><span class="nr">7</span><div>
<p><b class="t">Fertig: Seite neu laden (Taste F5).</b> Nächste Person: Sprache neu wählen.</p>
</div></li>
</ol>
<div class="kasten wichtig">
<span class="label">Wichtig</span>
<p><b>Beim Warten nicht neu laden.</b> Falls doch: Das Ergebnis steht am Handy, dort <span class="k">Deutsch</span> tippen.</p>
<p><b>Ein QR-Code gilt für einen Brief.</b> Nächster Brief: ab Schritt 3.</p>
<table class="meldungen">
<caption>Meldungen am PC und was sie bedeuten</caption>
<tr><td><span class="m">„⚠️ Am Handy hat es nicht geklappt: …“</span></td><td>Am Handy steht, warum. Dort neu fotografieren.</td></tr>
<tr><td><span class="m">„⚠️ Das dauert ungewöhnlich lange …“</span></td><td>Am Handy: <span class="k">🔁 Noch einmal an den Computer senden</span><br>Kein Knopf da? Am PC <span class="k">Abbrechen</span>, dann ab Schritt 3.</td></tr>
<tr><td><span class="m">„Der QR-Code ist abgelaufen …“</span></td><td>Schritt 3 wiederholen.</td></tr>
<tr><td><span class="m">„⚠️ Keine Verbindung zum Server …“</span></td><td>Internet am PC prüfen, sonst Ihre IT fragen.</td></tr>
<tr class="leer"><td><span class="m">„Die kostenlosen Analysen sind aufgebraucht oder abgelaufen …“</span><br><span class="m">„Der Zugang über … ist abgelaufen …“</span></td><td><b>Kontingent leer oder Test zu Ende: Justin anrufen, <span style="white-space: nowrap;">0170 4969375</span>.</b> Danach das Lesezeichen neu öffnen.</td></tr>
</table>
</div>
<div class="fuss">
<div class="wer">
<span class="anruf">Bei Fragen einfach anrufen: Justin Klein · <span class="nummer">0170 4969375</span></span><br>
Webklar GbR · Am Schwimmbad 10, 67722 Winnweiler · justin@webklar.com · <b>behoerdenklar.de</b>
</div>
<span class="stempel">Stand Oktober 2026</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.fontSize = '9pt'; 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>