Is a RAM-only PWA "Secure Camera" safe for journalists?
8 points| blackknightdev | 1 month ago
The architecture: 1. "Zero-Trace" Camera: Uses `getUserMedia` to stream video.
2. RAM-Only: Captures frame to an off-screen Canvas -> Blob. Never touches the filesystem or Camera Roll.
3. Client-Side Encrypt: Blob is encrypted immediately (TweetNaCl) with a public key.
4. Upload & Wipe: Encrypted blob is uploaded, then memory is nulled.
My hypothesis is this beats "Standard Camera -> Gallery -> Upload" because there are no deleted files to recover from the SSD.
Is "RAM-only" in a browser sandbox reliable enough for life-or-death privacy? What side-channels (swap files, browser cache) am I missing?
Tech stack: Next.js, Dexie, WebCrypto. Open source.
Hope I can get much feedback I want to make my photo vault app special and make an impact for the world here is the link to my app that I want to change to this www.saecretheaven.com
gucci-on-fleek|27 days ago
Personally, using something like steganography or deniable encryption [0] seems like a better solution to this problem.
[0]: https://en.wikipedia.org/wiki/Deniable_encryption
blackknightdev|26 days ago
blackknightdev|26 days ago
Tepix|27 days ago
To verify that nothing is written to persistent storage you'll have to look at target devices in question with the browsers of choice and then do forensics on them. Repeat after every major update.
When copying the image data to canvas, consider adding some kind of obfuscation and use a pixel shader (webgpu) to undo it, so the journalist can see the unobfuscated image before it it sent to the cloud.
Why use a PWA instead of a regular web page? Do you need certain PWA capabilities? Having the PWA on the device will make deniability harder to pull off.
blackknightdev|26 days ago
nine_k|27 days ago
blargthorwars|27 days ago
blackknightdev|26 days ago
112233|27 days ago
blackknightdev|26 days ago
blackknightdev|1 month ago