anon-auth-synclisted
Install: claude install-skill Nioris/project-forge
# Anonymous Auth + E2E Cloud Sync
Универсальный паттерн авторизации и облачной синхронизации без email/пароля. Изначально extracted из работы над Daily Insight (Capacitor PWA → Android, Node.js + SQLite) — переиспользуется без изменений, только имена env/routes под конкретный проект.
---
## Когда использовать этот skill
**Да:**
- Приложение хранит пользовательские данные (заметки, прогресс, настройки, дневник)
- Нужен cross-device sync без friction регистрации
- Стоит задача 152-ФЗ compliance (Россия) — хочется избежать PII на сервере
- Пользовательская база — B2C, не корпоративная (корпоратам email/пароль обычно обязателен)
- Надо быстро стартовать без интеграции OAuth/magic-link/SMS
**Нет:**
- Нужны shared/multi-user features (совместное редактирование, соцсеть) — тут без identity не обойтись
- Серверу нужно отправлять уведомления по email — нет email'а
- Обязателен email-based account recovery (корпоративные policies)
---
## Архитектура в двух фразах
**Auth:** на клиенте генерируется случайный `device_token` (UUID v4) при первом запуске. Он и есть идентификатор пользователя. Сервер `/register` принимает device_token → возвращает JWT. Нет пароля, нет email, нет PII.
**Sync:** данные шифруются на клиенте ключом, выведенным из **5-словной фразы** (BIP39-style, пользователь её запоминает или записывает). Сервер видит только шифротекст + `phrase_hash` (для идемпотентности). При смене устройства юзер вводит фразу → клиент получает ключ → дешифрует облачный бэкап.
---