Repository navigation
Browser V13 Compatibility
The browser vault remains SECURE-BROWSER-V13 and is intentionally separate from the V14 server package engine.
The browser environment has different cryptographic primitives and deployment constraints than the PHP/Sodium server engine.
V13 uses:
- Web Crypto API
- PBKDF2-HMAC-SHA-256
- AES-256-GCM
- HKDF-SHA-256
- browser-side streaming/chunk processing
V14 uses:
- libsodium Argon2id13
- XChaCha20-Poly1305-IETF
- secretstream XChaCha20-Poly1305
- server-side package processing
These are deliberately not silently mapped onto each other.
Format: SECURE-BROWSER-V13
Extension: .spk13
Container magic: SPK13BIN1
Footer magic: SPK13FOOT
The browser descriptor specifies:
PBKDF2-HMAC-SHA-256
1,500,000 iterations
This is a browser portability choice, not the V14 server KDF.
Browser content uses AES-256-GCM.
The browser descriptor also exposes HKDF-SHA-256 for key separation and SHA-256 for chunk integrity and package Merkle integrity.
The browser descriptor uses content-defined streaming with:
- minimum chunk: 1 MiB
- target chunk: 4 MiB
- maximum chunk: 8 MiB
Current descriptor limits include:
| Limit | Value |
|---|---|
| Package bytes | 4 GiB |
| Header | 2 MiB |
| Manifest | 32 MiB |
| Files | 100,000 |
| Chunks | 1,000,000 |
| Name parts | 256 |
| Name bytes | 4 KiB |
| Total plaintext | 64 GiB |
V13 can also create an independent recovery credential and stores explicit slot type/version metadata.
A V13 regression that previously caused browser-created packages to reject themselves was fixed by ensuring slots include:
primary: type=password-pattern, version=1
recovery: type=recovery, version=1
A .spk13 package is not a .spkg14 package.
Do not rename an extension, edit a version field, or inject V13 data into the V14 reader and expect a valid migration.
The V14 reader intentionally rejects unsupported formats instead of guessing.
During a transition period:
- keep V13 tooling available for existing browser packages;
- create new server packages as V14;
- preserve legacy V13 packages until an explicit migration workflow exists;
- do not silently reinterpret V13 package metadata as V14;
- test any future conversion path as its own security-critical feature.
Because V13 executes in a browser, endpoint compromise and malicious browser extensions can affect the client-side secret boundary.
The project therefore treats V13 as a compatibility component with its own threat assumptions rather than claiming that the V13 and V14 designs provide identical guarantees.
Secure Package V14 · SECURE-PKG-V14 · Version 14.1.0 · MIT License · Author: ElmanCod110
This Wiki describes the implementation currently documented by the repository. Security-sensitive behavior should be verified against the active source tree before production deployment.
Start
V14 Engine
Security
Integration
Operations
- Storage and Data Lifecycle
- Deployment
- Testing and Validation
- Release and Supply Chain
- Migration V13 to V14
Contributing