Skip to content

danielrosehill/Proofmode-Unpacker

Repository files navigation

Claude Code Repos Index

ProofMode Unpacker

A utility for managing ProofMode evidence bundles with automated cloud backup and chain of custody preservation.

Note: This is an independent, community-developed tool and is not officially affiliated with the ProofMode project.

Purpose

ProofMode is a mobile application that captures photos and videos with cryptographic proofs of authenticity - useful for documenting evidence in situations like:

  • Tenancy disputes (property conditions, damage documentation)
  • Workplace incidents
  • Insurance claims
  • Legal documentation
  • Journalism and human rights documentation
  • Any scenario requiring verifiable evidence

This utility helps you:

  1. Preserve evidence integrity by storing original ProofMode bundles untouched
  2. Maintain chain of custody through parallel storage on multiple cloud platforms
  3. Organize media for easy access while keeping originals immutable
  4. Automate backups via Rclone to any supported cloud provider

Chain of Custody Philosophy

The core principle is evidence preservation:

  • Original ProofMode .zip bundles are never modified - they contain cryptographic signatures proving authenticity
  • Bundles are stored on a primary cloud (ideally with WORM/immutable storage)
  • A secondary cloud provides redundancy and tamper-detection (if files differ between clouds, tampering may have occurred)
  • Unpacked photos/videos are organized by date for convenient viewing, but the original zips are the source of truth

Installation

# Clone the repository
git clone https://github.com/danielrosehill/Proofmode-Unpacker.git
cd Proofmode-Unpacker

# Create virtual environment
uv venv
source .venv/bin/activate

# Install
pip install -e .

# Ensure rclone is installed
sudo apt install rclone  # Ubuntu/Debian
# or: curl https://rclone.org/install.sh | sudo bash

Configuration

Environment Variables

Configure your cloud targets via environment variables for flexibility:

# Primary cloud (for original archives) - S3-compatible recommended
export PROOFMODE_PRIMARY_REMOTE="wasabi:"
export PROOFMODE_PRIMARY_PATH="evidence/proofmode"

# Secondary cloud (for redundancy/unpacked files)
export PROOFMODE_SECONDARY_REMOTE="gdrive:"
export PROOFMODE_SECONDARY_PATH="Evidence/ProofMode"

# Base evidence folder name (customize per case/project)
export PROOFMODE_EVIDENCE_FOLDER="tenancy-dispute-2025"

# Device path (where ProofMode bundles are located)
export PROOFMODE_DEVICE_PATH="/media/user/Phone/ProofMode"

Configuration File

Alternatively, use ~/.config/proofmode-unpacker/config.yaml:

device_path: /media/user/Phone/ProofMode
local_staging: ~/proofmode-staging
date_format: DDMM

primary_cloud:
  name: "S3 Archive"
  remote: "wasabi:"
  base_path: "evidence/proofmode"
  purpose: archives
  worm_enabled: true

secondary_cloud:
  name: "Google Drive Backup"
  remote: "gdrive:"
  base_path: "Evidence/ProofMode"
  purpose: unpacked

See config/config.example.yaml for a full example.

Usage

Initial Setup

Run the onboarding wizard (if using with Claude Code):

/onboard

Or configure manually:

# Set up rclone remotes
rclone config

# Create configuration
proofmode config --edit

Daily Workflow

# 1. Import new bundles from your device
proofmode import --source /path/to/proofmode/bundles

# 2. Sync to cloud storage
proofmode sync

# 3. Check status
proofmode status

Dry Run

Preview what would be synced without making changes:

proofmode sync --dry-run

Cloud Storage Structure

Primary Cloud (Archives)

Original zip bundles preserved in date folders:

remote:base_path/proof-mode-archives/
├── 2601/                    # January 26
│   ├── ProofMode_001.zip
│   └── ProofMode_002.zip
├── 2701/                    # January 27
│   └── ProofMode_003.zip
└── ...

Secondary Cloud (Organized Media)

Unpacked files organized for easy access:

remote:base_path/
├── photos/
│   ├── 2601/
│   │   ├── IMG_001.jpg
│   │   ├── IMG_001.jpg.proof.json
│   │   └── IMG_002.jpg
│   └── 2701/
│       └── IMG_003.jpg
└── videos/
    ├── 2601/
    │   └── VID_001.mp4
    └── 2701/
        └── VID_002.mp4

Recommended Cloud Providers

For Primary Storage (Immutable Archives)

  • Wasabi - S3-compatible with Object Lock support
  • Backblaze B2 - Object Lock available
  • AWS S3 - Glacier with Vault Lock for long-term
  • MinIO - Self-hosted S3-compatible

For Secondary Storage (Redundancy)

  • Google Drive - Easy access and sharing
  • Dropbox - Cross-platform sync
  • OneDrive - Microsoft ecosystem integration
  • Any rclone-supported provider

Adapting for Different Use Cases

The tool is designed to be flexible for various evidence-gathering scenarios:

  1. Set the evidence folder via PROOFMODE_EVIDENCE_FOLDER for each case
  2. Use descriptive remote names like case-2025-smith: in rclone
  3. Configure WORM storage for legal evidence requirements
  4. Multiple instances can run with different configs for separate cases

Security Considerations

  • Keep your rclone configuration secure (~/.config/rclone/rclone.conf)
  • Use WORM/Object Lock where available for true immutability
  • The dual-cloud approach provides tamper detection - differing files indicate potential issues
  • Original bundles contain cryptographic proofs from ProofMode itself

License

MIT License - See LICENSE file for details.

Related Projects

Disclaimer: This utility is an independent, community-developed tool. It is not an official ProofMode project and is not affiliated with or endorsed by Guardian Project or the ProofMode team.

ProofMode

ProofMode is a mobile app by Guardian Project that adds verifiable metadata and cryptographic signatures to photos and videos:

Content Authenticity

ProofMode is part of the broader movement toward authenticated media:

Tools Used

  • Rclone - Cloud sync tool used for uploads

For more Claude Code projects, visit my index.

About

Claude space template for processing Proofmode evidence bundles

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages