Read this when changing configuration encoding, runtime loading, backup behavior, or administrator configuration access.
| File | Key symbols |
|---|---|
index.php |
LoadEncryptedConfig('cfg/config.bin') during bootstrap |
src/Core/System/RuntimeServices.php |
LoadEncryptedConfig, Encrypt, Decrypt |
src/Core/Api/AdminController.php |
Admin read/save and backup restoration |
cfg/config.ini.example |
Tracked placeholder template for local configuration |
cfg/config.ini |
Ignored local plaintext configuration, potentially containing credentials |
RuntimeServices to load cfg/config.bin.config(), then deletes the temporary file.cfg/config.bin before bootstrap; no configuration-generation script is tracked..old, writes the encoded replacement, and restores the backup if writing fails.| Boundary | Mechanism | Location |
|---|---|---|
| Runtime config presence | Bootstrap throws when the required file is absent | RuntimeServices::LoadEncryptedConfig() |
| Sensitive config disclosure | Numeric permission ID 1 required before reading plaintext |
AdminController::load() |
| Sensitive config mutation | Numeric permission ID 1 and CSRF validation required |
AdminController::save() |
| Partial replacement failure | Backup rename and restore attempt after write failure | AdminController::saveConfiguration() |
| Local config source | Placeholder template is copied to an ignored local file | cfg/config.ini.example |
cfg/config.bin.cfg/config.bin.old.base64_encode(gzcompress()); decoding is gzuncompress(base64_decode()).See configuration spec and commands.