Der Nutzer konnte in einer Praesentation nicht kontern, und die Ursache war real: Alles, was BehoerdenKlar von ChatGPT unterscheidet (Erinnerungen, Kalender, Antwort-Entwurf), steckte in der App — und die ist noch nicht veroeffentlicht. Das Web-Produkt, das Kunden heute kaufen, war im Kern nur 'Brief erklaeren'. Kalender (.ics, rein im Browser, nichts wird hochgeladen): - Frist und Termin mit Erinnerung 3 Tage und 1 Tag vorher - Zeilen nach BYTES gefaltet (RFC 5545), damit Arabisch/Tigrinya nicht reissen - Termin 23:30 endet korrekt am naechsten Tag - Wanduhrzeit ohne Zeitzone = Ortszeit des Geraets - getestet: Frist, Termin mit Uhrzeit, Mitternacht, langer arabischer Text, Brief ohne Datum (-> keine Datei) Anruf-Hilfe (Worker-Schema um kontakt + anruf erweitert): - Telefonnummer als tel:-Knopf, Aktenzeichen hervorgehoben - Spickzettel: Satz auf Deutsch + Bedeutung in der Nutzersprache - Prompt-Regel: Kontaktdaten nur, wenn woertlich im Brief. Getestet mit Brief ohne Nummer -> telefon: null, nichts erfunden. Nebenbei zwei bestehende Fehler behoben: - Optionale Ergebniskarten wurden nie ausgeblendet: Beim zweiten Brief stand die Checkliste des ERSTEN Briefs noch da. Jetzt Reset zu Beginn. - dir=auto auf den Ergebnistexten: Arabisch/Farsi/Urdu wurden im Web linksbuendig dargestellt (in der App war das schon behoben). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
BehördenKlar
Behördenbriefe scannen, in einfacher Sprache verstehen, übersetzen und direkt beantworten.
Funktionen
- 📷 Brief scannen — Foto, Galerie-Bild oder PDF
- 🧠 KI-Analyse (Claude Vision) — ein Aufruf liefert strukturiert:
- „Was will das Amt von mir?" in 2-3 Sätzen (A2-Niveau)
- Ausführliche Erklärung in einfacher Sprache
- Fachbegriffe mit Erklärung
- Fristen & Termine (exakte Daten)
- Checkliste („Diese Unterlagen mitbringen…")
- 🚦 Dringlichkeits-Ampel — lokal berechnet: 🔴 < 7 Tage · 🟡 7–21 Tage · 🟢 keine Frist
- 🌐 Übersetzung in 9 Sprachen (Türkisch, Arabisch, Englisch, Russisch, Ukrainisch, Französisch, Farsi, Rumänisch, Polnisch) — on demand, gecacht
- ✍️ Antwort-Generator — Vorlagen (Terminbestätigung, Verschiebung, Widerspruch, Unterlagen nachreichen, Rückfrage), frei editierbar, PDF-Export
- 🗓️ Kalender-Export für Termine, ⏰ lokale Erinnerungen 3 + 1 Tage vor Fristen
- 📖 Behörden-Glossar (offline), 🔊 Vorlese-Funktion, 📡 Offline-Hinweis
- 🔒 Datenschutz: Einwilligung vor erstem Scan, alle Daten nur lokal, „Alles löschen"-Funktion
Starten (Entwicklung)
npm install
npx expo start
App in Expo Go (oder Development Build) öffnen, dann:
- Einstellungen → Anthropic-API-Schlüssel eintragen (von console.anthropic.com). Der Schlüssel landet verschlüsselt im Secure Store des Geräts.
- Brief scannen → Einwilligung bestätigen → Foto machen.
Hinweis: Erinnerungen (Benachrichtigungen) sind in Expo Go auf Android eingeschränkt — im Development Build (
npx expo run:android) voll verfügbar.
Produktion: Backend-Proxy statt API-Key in der App
Für Endkunden darf kein API-Key in der App stecken. Der fertige Proxy
(Cloudflare Worker) liegt in proxy/ — er hält den Key
serverseitig, erlaubt nur die App-Modelle, deckelt max_tokens und setzt ein
Tageslimit pro Gerät durch.
Nach dem Deployment (Anleitung: proxy/README.md) in
src/services/claudeClient.ts die Worker-URL eintragen:
const PROXY_URL: string | null = 'https://behoerdenklar-proxy.<account>.workers.dev';
Abrechnung der Endkunden dann per Abo/In-App-Kauf (Abo-Prüfung im Proxy ergänzen).
Architektur
src/
services/
claudeClient.ts – Low-Level Claude-API-Client (Dev-Direkt / Prod-Proxy)
analyse.ts – Vision-Aufruf + JSON-Schema (Structured Output)
uebersetzung.ts – Übersetzung pro Sprache, gecacht
antwort.ts – Antwort-Entwurf-Generator
storage.ts – SecureStore (Key) + AsyncStorage (Archiv, Consent)
erinnerungen.ts – lokale Benachrichtigungen vor Fristen
kalender.ts – Termin-Export
utils/ampel.ts – Dringlichkeits-Ampel (deterministisch, lokal)
store/useAppStore.ts – Zustand-Store, synchron zu AsyncStorage
screens/ – Home, Consent, Scan, Analyse, Antwort, Glossar, Einstellungen
components/ – GrossButton, Ampel (barrierefrei: 56px-Targets, große Schrift)
data/glossar.ts – Offline-Glossar
Die KI-Antworten sind über Structured Output (JSON-Schema) garantiert valide — kein fragiles Text-Parsing.
Wichtig
Diese App ersetzt keine Rechtsberatung. Bei rechtlich relevanten Antworten (z. B. Widerspruch) Beratungsstelle oder Anwalt hinzuziehen.