V Vant Docs

Steganographic Brain Recovery

Vant can encode your entire brain (memory |

How It Works

  1. Serialize brain to JSON
  2. Compress with zlib (reduces size ~70%)
  3. Optionally encrypt with AES-256-GCM
  4. Hide in image LSB bits
  5. Decode reverses the process

CLI Commands

Snapshot - Encode Brain to Image

node bin/stego.js snapshot --input=avatar.png --output=brain.png

Options:

Recover - Decode Brain from Image

node bin/stego.js recover --input=brain.png --output=brain.json

Options:

Check Capacity

node bin/stego.js capacity --image=avatar.png

Shows maximum embeddable bytes.

Usage in Code

const stego = require('./lib/stego');
const brain = require('vant').storage.get('brain');

// Encode brain into image
stego.encodeBrain('input.png' |
- 'output.png' |
- {
  encrypt: 'optional-password'
});

// Decode brain from image
const brainData = stego.decodeBrain('output.png' |
- {
  decrypt: 'optional-password'
});

// Load into brain
brain.fromJSON(brainData);

Image Capacity

Image Size
- Max Embeddable
100x100
- ~2.5 KB
256x256
- ~16 KB
512x512
- ~65 KB
1000x1000
- ~250 KB

Chunking Large Brains

For brains larger than image capacity:

// Encode across multiple images
const outputs = stego.encodeBrainChunked(['img1.png' |
- 'img2.png' |
- 'img3.png']);

// Decode from chunks
const brainData = stego.decodeBrainChunked(outputs);

Security

Use Cases

  1. Profile Picture Backup: Upload brain as profile picture |
    • recover if brain wiped
  2. Offline Storage: Save brain as image file
  3. Transfer: Share brain via image-only mediums
  4. Emergency Recovery: Restore from old profile picture

Caveats