Reisen05 / 12
RETURN
Tag scannen, Besitzer erreichen, Tasche zurückbekommen
- Status
- Live
- Zeitraum
- 2026 →
- Rolle
- Konzeption und Entwicklung, von Anfang bis Ende
- Für
- Reisende, angefangen bei mir: ein Besitzer pro Installation, selbst gehostet im eigenen Cloudflare-Konto. Open Source unter MIT.
Problem
Wer eine verlorene Tasche findet, braucht einen schnellen Weg zum Besitzer, aber ein Anhänger mit Telefonnummer und Adresse zeigt private Daten jedem, der hinsieht.
Ein selbst gehostetes QR- und NFC-Tag-System für mein Gepäck auf Cloudflare Workers. Wer eine Tasche findet, scannt den Tag und kann mir schreiben, anrufen oder WhatsApp nutzen, ohne Konto und ohne App, und teilt einen Standort nur, wenn er es selbst will.
Fallstudie
Jeder Gegenstand bekommt einen Tag: eine druckbare Karte mit QR-Code und einen NFC-Chip mit demselben Link. Der Scan öffnet eine öffentliche Karte auf Englisch, Deutsch oder Spanisch mit den Kontaktwegen, die ich freigebe (E-Mail, Telefon, WhatsApp oder Vertrauenskontakte), und einer Unterhaltung, die der Finder ohne Anmeldung beginnen kann.
Der Standort wird nie heimlich erfasst: Das GPS des Finders wird erst nach einem bewussten Tippen abgefragt, als Vorschau gezeigt und erst nach Bestätigung gesendet. Unbekannte, widerrufene oder fehlerhafte Tags liefern alle dasselbe 404, der erste Kontakt läuft über Turnstile, und Schreibzugriffe sind pro IP und pro Tag begrenzt.
Auf meiner Seite liegt hinter Cloudflare Access ein privates Panel mit Gegenständen, Tags, Unterhaltungen, Rückgabeplänen und Wiederfunden, dazu eine installierbare App, die nie private Daten zwischenspeichert. E-Mail-Benachrichtigungen sind gebaut; der Versand über die Domain wird noch eingerichtet. Druckbare Karten gibt es als PDF oder PNG im CR80-Format mit Beschnitt und Schnittmarken.
Architektur
Ein Cloudflare Worker bedient zwei Hosts: die öffentlichen Finder-Seiten, serverseitig mit Hono JSX gerendert und ohne Client-Bundle, und das Besitzer-Panel in React 19 und Vite hinter Cloudflare Access. Die Daten liegen in D1 und einem privaten R2-Bucket in der EU. Finder-Links sind Capability-URLs (128-Bit-Tag-Tokens; Gesprächslinks mit 256 Bit, nur als SHA-256 gespeichert), jede Abfrage ist nach Besitzer gefiltert, und ein nächtlicher Cron erledigt Aufbewahrung und Backups.
Technische Entscheidungen
- Kein Konto und keine App für den Finder: Ein Scan muss für einen Fremden in Eile funktionieren.
- Standort nur mit Einwilligung: bewusstes Tippen, Vorschau und Bestätigung; der Standort des Besitzers wird nie erfasst.
- Ein einheitliches 404 für jeden ungültigen oder widerrufenen Tag, damit sich Tags nicht abtasten lassen.
- Selbst gehostet für einen Besitzer auf Cloudflare, kein SaaS, das fremde Daten hält.
- Ein Bedrohungsmodell, in dem jede Zeile den Test nennt, der sie prüft.
Herausforderungen & Abwägungen
Einen gedruckten Tag zu bauen, der jahrelang funktioniert und für jeden leicht zu nutzen ist, und dabei einem Fremden so wenig wie möglich zu geben: keine persönlichen Daten, außer ich wähle sie, kein heimliches Tracking und Missbrauchsgrenzen, die einem ehrlichen Finder nicht im Weg stehen.
Belegte Ergebnisse
- Finder-Host live unter return.lr0y.dev; Besitzer-Panel hinter Cloudflare Access
- Finder-Seiten auf Englisch, Deutsch und Spanisch
- 30 Unit- und Integrationstestdateien und 16 Playwright-Specs (Finder-Ablauf, Standort-Privatsphäre, Isolation, Barrierefreiheit)
- Web Push für den Besitzer in Arbeit; ein echter Tag muss noch auf einem Handy gescannt werden
Die Status sind sachlich: Nichts wird fertiger dargestellt, als es ist.