generated from knso/webklar-preview-template
Screenshot des Nutzers zeigte: Wer ein Link-Konto hat, landet auf einer Link-Ansicht mit gespeicherter Karte, schwarzem 'Pay'-Knopf und einem kleinen, englischen 'Pay without Link' als einzigem Ausweg. Fuer Menschen, die Deutsch kaum lesen, ist das eine Sackgasse — und das ist genau die Zielgruppe. payment_method_types[0]=card schaltet die automatische Methodenwahl ab und damit auch Link. Jeder sieht jetzt dieselbe Ansicht mit Kartenfeldern. ACHTUNG fuer spaeter: Solange diese Angabe gesetzt ist, erscheinen KEINE weiteren Methoden, auch wenn sie im Dashboard freigeschaltet werden. Wer PayPal oder Klarna anbieten will, muss sie hier ergaenzen. Kauf nach der Aenderung geprueft: liefert weiter gueltige cs_live_-Seiten. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
BehördenKlar Backend-Proxy
Cloudflare Worker, der den Anthropic-API-Key serverseitig hält. Die App schickt ihre Claude-Anfragen an diesen Worker statt direkt an Anthropic — kein API-Key in der App, Missbrauchsschutz inklusive.
Was der Worker macht
- Prüft die anonyme Geräte-ID (
x-geraete-id-Header) und setzt ein Tageslimit pro Gerät durch (Standard: 20 Anfragen, siehewrangler.toml) - Erlaubt nur die Modelle, die die App nutzt, und deckelt
max_tokens - Leitet den Request-Body unverändert an
api.anthropic.com/v1/messagesweiter und setzt dabei serverseitigx-api-key+anthropic-version - Gibt die Anthropic-Antwort unverändert zurück
Deployment (einmalig)
cd proxy
npm install
# Bei Cloudflare anmelden (kostenloser Account reicht für den Start)
npx wrangler login
# KV-Namespace für das Rate-Limit anlegen …
npx wrangler kv namespace create RATE_LIMIT
# … und die ausgegebene ID in wrangler.toml bei [[kv_namespaces]] eintragen
# Anthropic-API-Key als Secret hinterlegen (von console.anthropic.com)
npx wrangler secret put ANTHROPIC_API_KEY
# Deployen
npm run deploy
Der Deploy gibt eine URL aus, z. B. https://behoerdenklar-proxy.<account>.workers.dev.
App umstellen
In src/services/claudeClient.ts die URL eintragen:
const PROXY_URL: string | null = 'https://behoerdenklar-proxy.<account>.workers.dev';
Fertig — die App braucht dann keinen API-Key mehr in den Einstellungen.
Lokal testen
npm run dev # startet den Worker auf http://localhost:8787
Dann in claudeClient.ts vorübergehend PROXY_URL = 'http://localhost:8787'
setzen (im Simulator; auf echtem Gerät die LAN-IP des Rechners verwenden).
Später ergänzen (wenn Abo/IAP kommt)
- Abo-Prüfung: RevenueCat-Webhook oder Receipt-Validierung vor dem Weiterleiten
- Tageslimit je nach Abo-Stufe (Free: 3, Abo: 20+)
- Die Geräte-ID durch eine echte Nutzer-ID ersetzen