--- name: data-security-storage description: Prisma migrations, file storage, SSRF protection, and secrets handling rules. metadata: short-description: Data safety rules (Prisma/files/SSRF/encryption/idempotency) --- # Data + Security + Storage — Prisma, файлы, SSRF, secrets ## Prisma / миграции - по умолчанию только additive изменения (новые таблицы/nullable колонки/индексы) - NOT NULL делать двухфазно (nullable → backfill → not null) ## Idempotency - mobile/lifestyle write: обязателен `Idempotency-Key` - повтор ключа → вернуть тот же результат - reuse ключа для другого payload → 409 ## Файловые хранилища (volumes) - BACKUP_DIR (/data/backups) - AUTOTUNE_DIR (/data/autotune) - MEALS_DIR (/data/meals) - HEALTH_DIR (/data/health) - UI_ASSETS_DIR (/data/ui-assets) Файлы: - ограничение типа и размера - отдача файлов через backend (auth/ACL) - soft delete для документов (Health Vault) ## Secrets & encryption - в БД: AES-256-GCM, ключ ENCRYPTION_KEY_BASE64 - никогда не логировать и не отдавать в браузер ## SSRF - запрет localhost/private IP - запрет creds в URL - редиректы: только безопасные правила