Der Nutzer suchte den Kalender-Knopf und fand ihn nicht. Grund: Die Karte blieb komplett weg, wenn die KI keine Frist und keinen Termin fand. Man konnte also nicht unterscheiden, ob gesucht und nichts gefunden wurde oder ob etwas kaputt ist. Jetzt erscheint die Karte immer: - mit Datum: Knopf 'In meinen Kalender eintragen' wie bisher - ohne Datum: 'In diesem Brief steht keine Frist und kein Termin — es gibt nichts in den Kalender einzutragen.' Fuer einen aengstlichen Leser ist 'keine Frist' selbst eine wichtige Nachricht, die vorher einfach fehlte. Nicht im Browser sichtbar geprueft: Der lokale Testserver wurde nicht freigegeben. Syntax und Logik geprueft, Aufruf-Reihenfolge (vor dem Ausstieg fuer den Bezahl-Modus) kontrolliert. 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.