Signed operations
Verified before they change state, through the same apply path local writes use. There is no route into the state machine that skips it.
Security Model
NexusFS is verifier-first: every boundary where bytes arrive from somewhere else — a peer, a facade, a proof file — re-derives the fact rather than trusting the claim. The page below states what is actually enforced, and then what is not, because a security page that only lists the wins is a marketing page.
Verified before they change state, through the same apply path local writes use. There is no route into the state machine that skips it.
A chunk is hashed before it is stored — and content that was never requested is dropped even when it hashes correctly. Self-consistency is not the same as having been asked for.
A write seals its file key to each enrolled peer and to this device, so a replica holding every stored byte still cannot read a file it is not a recipient of. No key is shared across replicas.
Removing a peer and running nexusfs rotate re-encrypts
content under fresh keys, so it loses access from then on. What no
system can do is reach the copy it already took.
An ed25519 key pinned on first use, independent of TLS. Replacing one
needs --rotate, so an unexpected key is never silently
accepted as a planned rotation.
A proof bundle that does not parse, or does not match its operation, is rejected deterministically. Evidence that can be malformed and still accepted only looks like a check.
check-proof reports the inode the proof commits to, not the
labels the file carries — those are not covered by the proof, so they are
printed as unverified and flagged when they disagree.
Absence rests on two entries being adjacent, not merely bracketing. The claimed map size is prover-supplied, so the whole space of lies is swept by test rather than argued for.
identity.toml is what opens your content — losing it loses everything sealed to this device.Auditing
nexusfs verify checks every signature and proof and reads
every file — so missing chunks, wrong keys and tampered ciphertext all
surface. It exits non-zero on failure, which makes it usable directly as
a cron or CI check, and the same report is served at
/api/security.