Polyglot Media Camouflage
When transmitting encrypted files through restrictive corporate firewalls, forensic inspection points, or cloud storage providers that ban encrypted archives, having a .zev extension can arouse suspicion. Polyglot Media Camouflage merges the encrypted vault with genuine media files (such as .jpg or .png). Standard image viewers render the cover photo perfectly, while ZevSafe automatically detects the hidden cryptographic container.
Disguising Your Vault as a Photo
Select or Generate Cover Media
Under the Camouflage options in the Lock Vault tab, drop any real JPEG or PNG photograph (e.g. landscape, wallpaper). Alternatively, click "Generate Cover Photo" to synthesize an authentic abstract cover image client-side.
Download Disguised Image File
Lock the vault as usual. The output file is saved as vacation_photo.jpg instead of vault.zev. Double-clicking it opens the image in Windows Photos, macOS Preview, or Android Gallery with zero errors.
Unlock Naturally
Drop the .jpg directly onto ZevSafe's Unlock tab. ZevSafe automatically detects the embedded vault, asks for your passphrase, and opens your private files instantly.
Bicontextual Container Format
Media container formats are defined by strict file structure specifications that instruct image decoders where the bitstream ends:
| Format | Termination Marker | Decoder Behavior Upon Marker |
|---|---|---|
| JPEG / JFIF | 0xFF 0xD9 (EOI - End of Image) |
Halts parser immediately. Any subsequent bytes appended to the file are ignored as non-standard metadata. |
| PNG | IEND chunk: 49 45 4E 44 AE 42 60 82 |
Marks the end of the PNG datastream. Standard viewers close the image pipeline without scanning further. |
| MP4 / ISO BMFF | End of moov or mdat atom |
Demuxer reads explicit atom sizes; unindexed trailing bytes are bypassed. |
+-------------------------------------------------------------------------+
| Authentic Media Header & Bitstream (Bytes 0 .. K) |
| e.g. Valid JPEG (FF D8 ... FF D9) or PNG (89 50 4E 47 ... IEND) |
+-------------------------------------------------------------------------+
| ZERO-BYTE TERMINATION BOUNDARY (Offset K) |
+-------------------------------------------------------------------------+
| Authentic ZV3 Container Header (Bytes K .. K + 57) |
| [ 'ZV3\0' (4B) | VERSION: 0x03 | FLAGS | CHUNK_SIZE | SALT | IV | OFFSET ]|
+-------------------------------------------------------------------------+
| STREAM AEAD 4 MB Ciphertext Chunks + Tail Manifest Trailer |
+-------------------------------------------------------------------------+
Sliding-Window Offset Detector
When any file is dropped into ZevSafe, findPolyglotVaultOffset() inspects the first 64 MB using a zero-allocation sliding byte scanner:
// js/stream-unpacker.js: Zero-allocation sliding-window detector
function findPolyglotVaultOffset(buffer) {
const bytes = new Uint8Array(buffer);
// 1. Fast check: is this a standard standalone vault?
if (bytes[0] === 0x5A && bytes[1] === 0x56 && bytes[2] === 0x33 && bytes[3] === 0x00) {
return 0; // Standard offset
}
// 2. Scan for 'ZV3\0' magic signature within first 64 MB
const maxScan = Math.min(bytes.length - 57, 64 * 1024 * 1024);
for (let i = 0; i < maxScan; i++) {
if (bytes[i] === 0x5A && bytes[i+1] === 0x56 && bytes[i+2] === 0x33 && bytes[i+3] === 0x00) {
// Verify version byte at offset + 4
if (bytes[i+4] === 0x03) {
return i; // Found authentic polyglot container offset!
}
}
}
return -1; // No vault signature detected
}
In-Memory Cover Generator
If the user does not have a photo ready, ZevSafe generates a 100% standard 1920×1080 gradient cover canvas rendered in-memory and converted to a valid JPEG/PNG blob via canvas.toBlob(). Zero external network assets or stock image downloads are required.
Security Invariants
| Invariant | Guarantee | Status |
|---|---|---|
| Cryptographic Integrity | Polyglot packaging alters 0 bytes of the encrypted payload; AEAD tags remain 100% valid. | VERIFIED |
| Standard Media Compatibility | Renders in default operating system previewers without corrupt image dialogs. | VERIFIED |
| Zero Cloud Reliance | Sliding-window scanning and cover generation execute completely in local browser RAM. | VERIFIED |