Cinema Deck & Floating Audio Dock
Many users store gigabytes of private photos, voice recordings, and video clips inside their encrypted vaults. Extracting them to disk to play them compromises confidentiality. ZevSafe's Cinema Deck and Floating Audio Dock allow instantaneous in-browser media playback with zero disk writes and deterministic memory revocation.
Playing Encrypted Media Effortlessly
Click Any Media File in the Explorer
Click on any audio file (.mp3, .wav, .m4a, .ogg) or video (.mp4, .webm, .mov). ZevSafe decrypts only the necessary chunks and begins playback in seconds.
Enjoy Persistent Background Audio
Want to browse other files or read encrypted notes while listening to audio? Simply close the modal or click another folder. Playback seamlessly shifts into a sleek Floating Audio Mini-Player at the bottom of the screen.
Stop Playback & Zero Memory
Clicking the close button on the floating dock or locking the vault stops playback and immediately frees browser memory. No audio trace remains in your history or cache.
Floating Audio Mini-Player Architecture
When audio starts playing in the modal, a persistent HTML5 <audio> element is managed by the application controller:
// app.js: Seamless transition between modal and persistent dock
function minimizeAudioToDock() {
if (!activeAudioState.isPlaying) return;
// Transfer current playhead timestamp and state to the floating dock
audioDockEl.classList.add('visible');
audioDockTrackName.textContent = activeAudioState.currentTrackName;
audioDockPlayer.currentTime = activeAudioModalPlayer.currentTime;
// Hide modal without interrupting audio context
closeMediaModal({ preserveAudio: true });
}
Zero-RAM Ephemeral Blob URL Lifecycle
Browsers retain object URLs indefinitely in their internal registry until explicitly freed. Unbounded media inspection can cause rapid memory exhaustion. ZevSafe implements strict URL revocation invariants:
| Lifecycle Event | Trigger Action | Cryptographic Cleanup |
|---|---|---|
| Media Close | User closes video modal | URL.revokeObjectURL(activeVideoUrl); sets src to empty string. |
| Track Switch | User selects new audio track | Revokes previous track URL before creating new blob instance. |
| Dock Dismiss | User clicks close (X) on mini dock | Halts audio buffer, revokes URL, and cleans active playback state. |
| Session Lock | Inactivity timer or Lock Vault | Stops all audio/video elements and executes full memory zeroization. |
Media Content Security Policy (CSP) Isolation
To guarantee that decrypted media elements cannot exfiltrate private frames or metadata, ZevSafe enforces:
media-src 'self' blob:;
img-src 'self' data: blob:;
connect-src 'self' blob: data:;
Security Invariants
| Invariant | Guarantee | Status |
|---|---|---|
| Zero Exfiltration | Media elements cannot connect to external tracking or CDN servers. | VERIFIED |
| Immediate GC Reclaim | Object URLs revoked immediately on stop, preventing memory bloat. | VERIFIED |
| No Disk Cache | Decrypted media is played from memory blobs; never written to temporary files. | VERIFIED |