1. Select carrier
  2. Protect payload
  3. Export result
1

Select carrier

Choose a PNG that will carry the encrypted envelope. The image never leaves this browser.

Required
2

Protect payload

The message is encrypted with Argon2id and XChaCha20-Poly1305 before embedding.

0 B

Capacity is estimated from the actual UTF-8 payload plus envelope overhead. The encoder performs the final byte-level check.

Burn after decrypt

Requests a local wipe after opening.

Advanced privacy options
Decoy passphrase

Reveal a different message for a second passphrase. This is experimental and not coercion-proof.

3

Export result

Download the generated PNG before clearing local state.

Waiting

No export yet

Complete the carrier and protection steps to generate a downloadable PNG.

Garuda ChatEnd-to-end encryption · Ephemeral rooms · No accounts