feat(storage): per-app/owner/system encryption live: gatekeeper hands seed + fresh flag, storage unlocks layer, init seeds areas from factory/ (empties on new key); rmdir op; test-qemu checks sealed home + reboot persistence
This commit is contained in:
13
docs/apps.md
13
docs/apps.md
@@ -31,11 +31,13 @@ declares `display`. Nothing gets anything "just in case".
|
||||
## Disk layout
|
||||
|
||||
```
|
||||
/home/ the owner's files; the shell's `/`
|
||||
/home/ the owner's files; the shell's `/` (encrypted)
|
||||
/apps/<id>/ an installed app: manifest.toml and its binary
|
||||
/data/<id>/ the app's private folder (its `storage` capability)
|
||||
/system/permissions/ the owner's decisions, one file per app id
|
||||
/data/<id>/ the app's private folder (its `storage`) (encrypted, its own key)
|
||||
/system/permissions/ the owner's decisions, one file per app id (encrypted)
|
||||
/bin/ system servers and the shell (init starts these)
|
||||
/factory/ plaintext starter content the encrypted areas are
|
||||
seeded from with a new master key
|
||||
```
|
||||
|
||||
Only the permission manager reaches `/apps`, `/data` and `/system`. The
|
||||
@@ -89,8 +91,9 @@ granted = ["display"]
|
||||
```
|
||||
|
||||
Written by the permission manager when the owner decides; apps on the
|
||||
system image ship with their decisions already recorded (pre-approved by
|
||||
whoever built the image). Changing one later is the owner's call, through
|
||||
system image ship with their decisions already recorded under
|
||||
`factory/system/` (pre-approved by whoever built the image), and init
|
||||
seeds them into the encrypted `system/` on a fresh setup. Changing one later is the owner's call, through
|
||||
the permission manager.
|
||||
|
||||
## Permission manager
|
||||
|
||||
Reference in New Issue
Block a user