Skip to content
Security invariants
- Every value a method or policy judges is welded to a root the kernel
recomputes from the same plaintext.
- No record is created without its signatories' authority, derived only as
in §4.3 (malicious-method test: a method that creates a record with a
foreign signatory fails in
K, not in the method).
- No record or note is consumed twice; no bound note is spent without its
owning record.
- Conservation per asset per fragment, including flows and fee; a
permissive method cannot mint (cheap-asset substitution test).
- Every flow is matched exactly once, across fragments only.
- Program isolation: a method of program A cannot consume or create
records of program B.
- Every actor and every new stakeholder is an admitted, unrevoked party.
- Every envelope decrypts for its stakeholder (encryption-consistency
test with wrong-key and malformed cases).
- Function privacy: two transactions with different programs produce
identically shaped calldata and events.
- A kernel proof cannot be replayed into another transaction
(
manifest_hash binds everything) or another FI (fi_index signed in
W).
- All of [Weld spec §9](/protocol/security-invariants) for the policy layer, unchanged.