Skip to content

prglab/cryptagram

Repository files navigation

Cryptagram

Privacy-preserving image encryption and steganography.

Modernized Cryptagram is a high-performance, cross-platform architecture for local-first photo privacy. It allows you to encrypt photos locally and embed them into images that survive social network transformations (JPEG recompression), revealing them in-place via a browser extension.

πŸš€ Modern Architecture (Phase 2 & 3)

The project has transitioned from a legacy Closure-based implementation to a modern, monorepo-based core:

  • πŸ“¦ Shared Core (@cryptagram/core): TypeScript implementation of the Bacchant and Aesthete protocols with WebCrypto (AES-GCM).
  • 🧩 Chrome Extension (MV3): A modern, Vite-based extension for real-time image decoding and reveal.
  • πŸ¦€ Rust Core: High-performance Wasm-ready core for edge and proxy integration.
  • πŸ§ͺ Testing Harness: A rigorous Python-based suite for JPEG robustness and bit-parity verification.

πŸ›  Developer Onboarding

Please see DEVELOPER.md for detailed instructions on setup, building, and contributing to the modernized stack.

πŸ§ͺ Quick Test

Ensure everything is passing with the baseline suite:

make test

πŸ“œ History & Vision

Cryptagram was originally developed at the NYU Media Research Lab. The goal remains the same: to give users control over their visual privacy on the web without relying on trusted third-party servers.


Β© 2012-2026 Matt Tierney & Ian Spiro. BSD-3-Clause License.

About

Pixel-level crypto for JPEG photo sharing.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors