Decryption Tool

Decrypt your Maat Journal export files using your recovery phrase. This tool gives you complete control over your data.

Why This Tool Exists

Complete Data Control

We believe you should always have full control over your data. This open-source decryption tool ensures that even without the Maat Journal app, you can always access your journal entries using your recovery phrase. Your data belongs to you, not to us.

What is Python?

Python is a popular programming language that's easy to learn and widely used. This tool is written in Python, which means it can run on any computer system (Windows, Mac, or Linux) and is completely transparent - you can see exactly what the code does.

Works on All Systems

This tool works on Windows, Mac, and Linux computers. The installation process is slightly different for each system, but the tool itself works identically. Don't worry if you're not technical - the instructions below will guide you through each step.

Future-Proof Design

This tool includes automatic version detection and migration support. As Maat Journal evolves and adds new features, the decryption tool will automatically handle different export formats, ensuring your data remains accessible even as the app improves.

Multiple Output Formats

Choose between JSON format for data analysis or plain text format for easy reading. The text format presents your journal entries in a clean, readable format with dates, mood ratings, and content.

How to Get Your JSON Export

1. Open Maat Journal App

Launch the Maat Journal app on your device.

2. Access Backup Menu

Tap the three-dot menu (⋮) in the top-right corner of the app, then select "Backup".

3. Choose Export Method

You have two options:

USB Export: Connect your device to a computer via USB and transfer the file directly.
Share Export: Use email, cloud storage (Google Drive, iCloud, Dropbox), or any other sharing method to save the file to your computer.

4. Download the File

Once you have the JSON export file on your computer, you can use this decryption tool to access your journal entries.

Installation & Usage

1. Download Files

Download the required files from the links below:

2. Install Dependencies

Terminal
# Make install script executable
chmod +x install.sh

# Run installation
./install.sh

3. Create Configuration

Terminal
# Create .env file with your recovery phrase
echo 'RECOVERY_PHRASE="your 12 words here"' > .env

Replace "your 12 words here" with your actual 12-word recovery phrase from Maat Journal.

4. Decrypt Your Data

Terminal
# Activate virtual environment
source venv/bin/activate

# Decrypt your export file (JSON format)
python maat_decrypt.py --input your_export.json

# Or decrypt to plain text for easy reading
python maat_decrypt.py --input your_export.json --format text

The tool will create a decrypted JSON file with all your journal entries in readable format.

Technical Details

Recovery Phrase: 12-word BIP39 mnemonic
Seed Generation: BIP39 standard (512 bits)
Key Derivation: HKDF-SHA256 with salt "maat-journal-v1" and info "master-encryption-key"
Encryption: AES-256-GCM per journal entry
Format: Base64(IV + ciphertext + authentication tag)
Export Format Version: Current version 1.0, with automatic version detection and migration support

Troubleshooting

Recovery phrase not working

Double-check that you've entered all 12 words in the exact order with correct spelling. Common issues include mixing up similar words or changing the order.

Installation errors

Make sure you have Python 3.9+ installed. On Ubuntu/Debian, you may need to install python3-venv: sudo apt install python3-venv

Decryption fails

Ensure your export file is from Maat Journal and hasn't been corrupted. The tool will show specific error messages to help diagnose issues.

Output format options

Use --format text to get a plain text file for easy reading, or --format json (default) for structured data. The text format includes dates, mood ratings, and content in a readable format.

Output Formats

JSON Format (Default)

Structured data with all metadata. Suitable for data analysis or importing to other tools.

Command
python maat_decrypt.py --input your_export.json

Text Format (For Reading)

Plain text file for easy reading. Includes dates, mood ratings, and content in a readable format.

Command
python maat_decrypt.py --input your_export.json --format text