Freeze
In-place freeze with freezeShallow and deepFreeze. No clone, no overhead.
From freeze to isolated snapshots — 7 defense levels, zero dependencies, TypeScript-first.
| Need | Use |
|---|---|
| Freeze existing object in place | freezeShallow, deepFreeze |
| Prevent mutation via one reference | immutableView |
| Create immutable data copy | snapshot |
| Prevent any mutable reference leak | vault |
| Harden plain config object | secureSnapshot |
| Add integrity fingerprint | tamperEvident |
| Verify immutability at runtime | isDeepFrozen, assertDeepFrozen |
| Detect builtin tampering | checkRuntimeIntegrity |
Not sure which to pick? See Choose the Right Model for a decision flowchart and comparison matrix.
Most "freeze" libraries stop at Object.freeze. Constancy gives you 7 levels of protection — from shallow freeze to tamper-evident vaults with hash verification — and defends against prototype pollution, builtin override attacks, and reference extraction. Zero dependencies, SLSA 3 provenance, fuzz-tested, 228+ tests at 98% coverage.