v0.3.0 — Security & Passkey Authentication
Security Fixes
- Device token leak fixed:
/api/location/latestno longer exposes device tokens to shared circle members - Security headers: Added CSP, HSTS, X-Content-Type-Options, Referrer-Policy, and Permissions-Policy via
next.config.js - JWT hardcoded fallback removed:
JWT_SECRETis now required at runtime —docker-entrypoint.shauto-generates one if not set
New Features
- Passkey authentication on mobile: "Sign in with passkey" button on login screen prompts for server URL, then opens Android credential manager for passwordless WebAuthn login
- Digital Asset Links:
assetlinks.jsonships with the Docker image, enabling passkey association between the app and any deployed instance
Technical
- JWT secret initialization changed from eager IIFE to lazy getter to fix Docker build failures