NAOMS · building block
File storage
Chunked storage with indexing and direct transfer between devices.
What a person notices
- Large files, videos, backups, whole photo libraries, don’t choke the app or make it feel slow to open.
- Sharing a big file with their own other device happens directly, not by round-tripping through a server.
- A transfer that gets interrupted partway can pick back up, instead of starting over from zero.
What you get as a developer
File storage handles the case signed storage alone doesn’t: content too large to treat as one unit.
- Files are split into 1 MB chunks, and each chunk is independently hashed and encrypted, so a chunk can be verified, deduplicated, or resumed on its own instead of treating the whole file as a single unbreakable blob.
- Two chunk-encryption schemes exist side by side on purpose: older files keep working under the scheme that created them, and new files use a per-file key, so improving how keys are derived never breaks something already stored.
- A manifest ties a file’s chunks back together, and that manifest is stored the same way as any other piece of data, so a file carries no separate special case in how it’s handled.
- Indexing plugs a file straight into the knowledge graph as it’s stored, so something a person imports is searchable immediately, not after a separate processing step.
How it connects
Signed storageChunks are stored on this same content-addressed, encrypted layer.Knowledge graphEvery stored file is indexed into the same searchable graph.Import & packsFiles can leave a device packaged the same tamper-proof way.DevicesDirect device-to-device transfer is how a file moves without a server.