Real-World Applications of Shadowforge
This document explores practical applications and use case scenarios for Shadowforge.
Challenge: Distribute a sensitive document to 10 stakeholders without exposing its existence.
Solution:
# 1. Create password-protected archive
shadowforge archive create \
--output classified.zip \
--password "secure-passphrase" \
--encryption aes-256 \
--files document.pdf appendix.pdf evidence.zip
# 2. Analyze distribution requirements
PAYLOAD_SIZE=$(stat -f%z classified.zip)
shadowforge analyze capacity --technique lsb --cover sample.png
# 3. Select cover media
shadowforge scan ./photos --recursive
shadowforge select ./photos --payload-size $PAYLOAD_SIZE
# 4. Execute distribution
shadowforge embed-distributed \
--payload classified.zip \
--data-shards 8 \
--parity-shards 5 \
--covers photo1.jpg photo2.jpg ... photo13.jpg
# 5. Distribute carriers to recipients
# Each recipient receives 2-3 carriers from the 13 total
# Any 8 carriers enables recoveryBenefits:
- Classified content appears as innocuous photos
- Loss of up to 5 carriers doesn't compromise security
- No single person has complete information
- Plausible deniability (photos can be explained naturally)
Challenge: Create backups that survive location loss with undetectable storage.
Solution:
# 1. Create and encrypt backup
tar czf critical-backup.tar.gz /database /configs
openssl enc -aes-256-cbc -in critical-backup.tar.gz \
-out critical-backup.bin
# 2. Distribute across geographic locations
# Location A: Office (8 carriers)
# Location B: Remote server (5 carriers)
# Location C: Off-site vault (8 carriers)
shadowforge embed-distributed \
--payload critical-backup.bin \
--data-shards 12 \
--parity-shards 9 \
--covers \
/location-a/photo*.jpg \
/location-b/archive*.png \
/location-c/images/*.jpg
# 3. Each location stores carries as innocent media
# Location A: 8 family photos
# Location B: 5 website screenshots
# Location C: 8 historical archivesBenefits:
- Backup hidden in plain sight across locations
- Survives location loss (can recover with any 12 of 21 carriers)
- Undetectable storage method
- No traditional backup infrastructure needed
Scenario: Establish Hidden Communication Between Agents
Challenge: Communicate securely without evidence of contact.
Solution:
# Agent A (Sender) prepares message
shadowforge chain create secure-channel \
--mode sequential \
--payload "rendezvous location and time" \
--techniques phase,echo,lsb \
--covers audio1.wav audio2.wav image.png
shadowforge chain execute secure-channel
# Output: stego1.wav, stego2.wav, stego.png
# Transmit through innocuous channels:
# - Email attachments as personal audio
# - Message board as "random" image
# - Cloud storage as backups
# Agent B (Receiver) extracts message
shadowforge chain extract secure-channel \
--stego-files received1.wav received2.wav received.png \
--output recovered-message.txtBenefits:
- Message hidden in plain audio/images
- Multiple transmission routes possible
- No metadata indicating communication
- Plausible explanation for shared media
Challenge: Safely transmit sensitive evidence to journalists/authorities.
Solution:
# Whistleblower prepares evidence
tar czf evidence.tar.gz documents/ screenshots/ logs/
# Add extra layer of encryption
openssl enc -aes-256-cbc -in evidence.tar.gz \
-out evidence.bin \
-pass pass:secure-passphrase
# Distribute across multiple carriers
# Use high redundancy for reliability
shadowforge embed-distributed \
--payload evidence.bin \
--data-shards 6 \
--parity-shards 8 \
--covers photo1.jpg photo2.jpg photo3.jpg photo4.jpg \
audio1.wav audio2.wav video.mp4 landscape.png \
screenshot.jpg document_scan.png screenshot2.jpg
# Share carriers through multiple channels:
# - Send some as email attachments
# - Upload to cloud storage
# - Share via messaging apps
# - Mail USB drive via post
# Recipient can reconstruct with any 6 carriers
# Complete loss of 8 carriers still allows recoveryBenefits:
- Evidence hidden in innocuous media
- Survives carrier loss (high parity)
- Multiple transmission methods possible
- Receiver anonymity protected
Challenge: Share research papers with collaborators before publication without leaking to competitors.
Solution:
# Researcher creates distribution package
shadowforge archive create \
--output research-papers.zip \
--password "research-passphrase" \
--files paper1.pdf paper2.pdf data.xlsx presentation.pptx
# Distribute to 15 collaborators
# Each gets unique subset preventing correlation
shadowforge embed-distributed \
--payload research-papers.zip \
--data-shards 10 \
--parity-shards 5 \
--covers lab-photo1.png ... lab-photo15.png
# Each collaborator receives:
# Collaborator 1: carriers 1,2,3,5,7,10
# Collaborator 2: carriers 1,2,4,6,8,11
# Collaborator 3: carriers 2,3,4,6,9,12
# ... etcBenefits:
- Research hidden as lab photos
- Each collaborator has unique subset
- Leaks traceable to specific person
- Distribution prevents unauthorized sharing
Challenge: Safely distribute sensitive cryptographic keys.
Solution:
# Generate keys for each agent
shadowforge keygen --key-id agent-alice
shadowforge keygen --key-id agent-bob
shadowforge keygen --key-id agent-charlie
# Create key distribution package
tar czf agent-keys.tar.gz agent-*.pem
# Distribute different agents' keys to each carrier
# This prevents any single carrier loss from exposing all keys
shadowforge embed-distributed \
--payload agent-keys.tar.gz \
--data-shards 9 \
--parity-shards 6 \
--covers passport-photo1.jpg ... passport-photo15.jpg
# Distribution to field agents
# Agent Alice: gets 4 photos containing key distribution info
# Agent Bob: gets different 4 photos
# Agent Charlie: gets different 4 photos
# Central server: stores copies of all photosBenefits:
- Keys hidden in mundane photos
- Can be transmitted through regular channels
- No metadata indicating cryptographic content
- Provides deniability
Challenge: Include hidden metadata (watermarks, signatures) in published images.
Solution:
# Publishing house embeds publisher ID and publication date
shadowforge watermark embed \
--stego-file published-image.png \
--metadata "publisher:springerverlag,date:2025-12-21,edition:5"
# Later verification: watermark extraction
shadowforge watermark extract \
--stego-file received-image.png \
--output metadata.txt
# Result: metadata.txt contains:
# publisher:springerverlag
# date:2025-12-21
# edition:5Benefits:
- Copyright information invisible to users
- Tampering detection (metadata changes = image altered)
- No visible watermarks that distract from content
- Automated detection of unauthorized modifications
Challenge: Prove system state at specific time without separate audit logs.
Solution:
# System audit embeds metadata in system screenshot
AUDIT_DATA="timestamp:2025-12-21T14:30:00Z,user:admin,\
hash:a1b2c3d4e5f6,disk_usage:87%,cpu_temp:65C"
echo $AUDIT_DATA > audit-metadata.txt
shadowforge embed \
--payload audit-metadata.txt \
--cover system-screenshot.png \
--technique zero-width
# Screenshot appears normal to viewers
# But contains embedded audit trail
# Later verification
shadowforge extract \
--stego-file archived-screenshot.png \
--output recovered-audit.txtBenefits:
- Audit trail invisible to system users
- Proves system state at specific time
- Tamper-evident (screenshot modifications affect metadata)
- Single file contains evidence + documentation
Scenario: Protect Digital Art with Hidden Signature
Challenge: Prove ownership of digital artwork while allowing distribution.
Solution:
# Artist embeds signature in artwork
SIGNATURE="artist:JohnDoe,created:2025-01-15,\
license:CC-BY-SA,copyright:2025"
shadowforge watermark embed \
--stego-file digital-artwork.png \
--metadata "$SIGNATURE"
# Share artwork on social media
# Anyone can enjoy the art
# But artist's signature is embedded
# If stolen or misattributed, verify ownership
shadowforge watermark extract \
--stego-file suspicious-image.png
# Signature confirms artist and creation dateBenefits:
- Invisible copyright notice
- Proves ownership if disputes arise
- Doesn't interfere with artwork enjoyment
- Survives format conversions (if quality preserved)
Challenge: Safely distribute anonymous survey to participants.
Solution:
# Create survey in document
cat > survey.txt << 'EOF'
[CONFIDENTIAL SURVEY - ID: 12345]
1. Question about workplace safety...
2. Question about management practices...
3. Question about compensation...
EOF
# Create multiple versions (different IDs for tracking)
for i in {1..50}; do
sed "s/ID: 12345/ID: RESP$i/" survey.txt > survey-$i.txt
done
# Distribute hidden in images
shadowforge embed-batch \
--payloads survey-*.txt \
--cover generic-landscape.png
# Each survey hidden in same image, different embedding
# Recipient extracts only their versionBenefits:
- Survey hidden from casual observation
- Responses appear as innocuous images
- Recipient anonymity preserved
- No metadata indicating survey content
Challenge: Establish communication when normal channels are compromised.
Solution:
# Create emergency message
echo "Evacuate area immediately. Fallback location: $(date +%s | md5sum | cut -c1-6)" > message.txt
# Embed in multiple innocuous carriers
shadowforge chain create emergency \
--mode split \
--payload message.txt \
--techniques lsb,zero-width \
--covers photo.jpg document.txt
# Share through multiple public channels:
# - Post as social media background
# - Include as email signature
# - Upload to backup storage
# - Message to broadcast list
# Recipients know to extract message from these sourcesBenefits:
- Message hidden in plain sight
- Multiple distribution methods possible
- No indication of emergency communication
- Deniability if questioned
- Use distributed embedding (1:N pattern)
- High redundancy (parity shards ≥ 40% of total)
- Multiple transmission methods
- Store manifest separately
- Test extraction before production use
- Double encryption (Shadowforge + external)
- Zero-width or phase encoding (maximum stealth)
- Large carriers (preserve statistics)
- Capacity under 70% of available
- Archive format for multiple files
- Use watermark commands
- Zero-width encoding for text metadata
- LSB for image metadata
- Small metadata sizes
- Verify extraction regularly
Use Cases Documentation for Shadowforge v1.0+ Last Updated: December 2025