Private Storage

Private Storage: критичные данные AntiPF не должны лежать в публичном webroot

AntiPF отделяет приложение, публичные assets и приватное состояние установки. Private Storage хранит конфигурацию, SQLite и private originals вне публичной директории, а Repair/DR обязаны сохранять installation identity, license binding и authoritative storage path.

Outside webrootPrivate dirs 0700Private files 0600Identity preserved
Storage health
Configured storage/private/antipf25
VERIFIED
Installation IDpreserved
MATCH
SQLiteintegrity check
PASS
Permissionsprivate files
0600
Healthy Repair сначала использует configured authoritative storage и не делает broad scan без необходимости.
Local-first data

Разделить код и состояние — значит сделать Update/Repair предсказуемыми

Когда SQLite/config/assets смешаны с webroot, atomic replacement легко уничтожает пользовательские данные. AntiPF хранит private state отдельно и использует config storage_dir как authoritative pointer при здоровой установке.

PRIVATE

Вне публичного каталога

Чувствительные state/config/source files не должны отдаваться web server.

IDENTITY

Installation continuity

Update/Repair сохраняет installation ID и license identity.

PERMISSIONS

Минимальные права

Private directories 0700, files 0600; installer не должен менять owner/group неожиданно.

Архитектура

Authoritative storage выбирается по config и identity, а не по «первой найденной папке»

10.050 Repair r18 отделяет Healthy Repair от Disaster Recovery: broad discovery разрешён только когда webroot/config/configured storage отсутствует или невалиден.

01
Read config

Получить configured storage_dir из текущей установки.

02
Canonicalize

realpath и защита от symlink ambiguity.

03
Validate marker

Проверить product/state/version metadata.

04
Validate identity

Installation/domain/license binding.

05
Validate DB

SQLite integrity и required storage structure.

06
Select

Использовать configured storage без broad discovery.

Repair r18. Соседние historical DR copies не должны ломать healthy Repair, если configured storage валиден.
Что умеет модуль

Что защищает Private Storage

Это foundation для installer, Challenge assets, backups, adaptive data и admin security.

03

Challenge originals

Custom source images хранятся приватно и могут регенерировать public derivatives.

Подробнее →
04

Identity markers

Installation/domain/license continuity проверяется перед recovery selection.

Подробнее →
05

Permissions policy

Private/public paths имеют разные declarative permissions.

Подробнее →
06

DR source

Если webroot потерян, valid private storage становится основой controlled recovery.

Подробнее →
Readiness & evidence

«Папка существует» недостаточно для выбора storage

Recovery проверяет marker, identity, domain, license, SQLite и структуру; несколько равноценных candidates должны давать ambiguity, а не silent selection.

VERIFIED
Authoritative storage подтверждёнМожно продолжать Healthy Repair.
INVALID
Storage не прошёл validationHealthy path прекращается и возможен DR discovery.
AMBIGUOUS
Несколько DR candidatesТребуется безопасное разрешение, silent choice запрещён.
DR
Broad discoveryИспользуется только при потере/поломке authoritative config/storage.
Практическое применение

Когда архитектура Private Storage особенно важна

Она почти незаметна в обычный день, но определяет, переживёт ли система update, repair и аварийное восстановление.

Эксплуатация

Repair не должен лечить permissions командой chmod -R 777

Права корректируются только для известных managed paths по declarative policy. Владелец и группа файлов не должны неожиданно меняться на shared hosting.

FAQ

Вопросы про Private Storage

Где должны лежать приватные данные AntiPF?

В каталоге вне публичного webroot, доступном PHP runtime, с restrictive permissions.

Что произойдёт при Full Repair?

Healthy Repair сначала валидирует configured storage_dir и сохраняет его; broad scan соседних backup copies не должен вмешиваться.

Можно ли автоматически выбрать первый найденный backup?

Нет. При нескольких равноценных recovery candidates корректное состояние — AMBIGUOUS.

Меняет ли installer владельца файлов?

По требованиям 10.050 owner/group должны сохраняться; нормализуются только известные permissions managed paths.

Следующий шаг

Проверим Private Storage перед обновлением или миграцией

Особенно полезно перед Full Repair: подтвердим authoritative path, identity, SQLite и permissions до любых замен webroot.