Skip to content

Immutable forensic logging — hash-chained evidence, blockchain-anchored, tamper-proof incident recording for digital forensics.

License

Notifications You must be signed in to change notification settings

bad-antics/cool-memories

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

◈ COOL-MEMORIES

 ██████╗ ██████╗  ██████╗ ██╗         
██╔════╝██╔═══██╗██╔═══██╗██║         
██║     ██║   ██║██║   ██║██║         
██║     ██║   ██║██║   ██║██║         
╚██████╗╚██████╔╝╚██████╔╝███████╗    
 ╚═════╝ ╚═════╝  ╚═════╝ ╚══════╝    
███╗   ███╗███████╗███╗   ███╗ ██████╗ ██████╗ ██╗███████╗███████╗
████╗ ████║██╔════╝████╗ ████║██╔═══██╗██╔══██╗██║██╔════╝██╔════╝
██╔████╔██║█████╗  ██╔████╔██║██║   ██║██████╔╝██║█████╗  ███████╗
██║╚██╔╝██║██╔══╝  ██║╚██╔╝██║██║   ██║██╔══██╗██║██╔══╝  ╚════██║
██║ ╚═╝ ██║███████╗██║ ╚═╝ ██║╚██████╔╝██║  ██║██║███████╗███████║
╚═╝     ╚═╝╚══════╝╚═╝     ╚═╝ ╚═════╝ ╚═╝  ╚═╝╚═╝╚══════╝╚══════╝
immutable forensic blockchain

stars forks issues

FRAGMENTARY TRUTH THAT CANNOT BE ALTERED

Immutable logging • Blockchain anchoring • Encrypted storage • Cross-platform sync


◈ CONCEPT

Baudrillard's "Cool Memories" were fragmentary observations—truths captured in the moment. cool-memories provides immutable, cryptographically secured logging for research findings, anomaly detections, and forensic evidence that cannot be altered after the fact.

"Memory is neither good nor bad. It is simply true—if it cannot be changed."


◈ FEATURES

▸ IMMUTABLE LOGGING

Every entry is cryptographically chained to previous entries:

from cool_memories import ImmutableLog

log = ImmutableLog()

# Log an event
entry = await log.record(
    event_type="emf_anomaly",
    data={
        "reading": 52.8,
        "baseline": 47.2,
        "deviation_sigma": 2.3,
        "location": {"lat": 47.6205, "lon": -122.3493}
    },
    severity="medium"
)

print(f"Entry ID: {entry.id}")
print(f"Hash: {entry.hash}")
print(f"Previous hash: {entry.prev_hash}")

▸ ATTACHMENTS

Store binary data alongside entries:

# Log with attachment
entry = await log.record(
    event_type="thermal_anomaly",
    data=anomaly.to_dict(),
    attachment=thermal_frame.raw_bytes,
    attachment_type="image/thermal"
)

▸ BLOCKCHAIN ANCHORING

Periodically anchor hashes to public blockchains:

from cool_memories import BlockchainAnchor

anchor = BlockchainAnchor(network="ethereum")

# Anchor current state
receipt = await anchor.anchor(log)

print(f"Block: {receipt.block}")
print(f"Transaction: {receipt.tx_hash}")
print(f"Proof: {receipt.merkle_proof}")

▸ VERIFICATION

Verify log integrity at any time:

# Verify entire log
result = log.verify()

if result.valid:
    print("Log integrity: VERIFIED")
    print(f"Entries: {result.entry_count}")
    print(f"First entry: {result.first_timestamp}")
    print(f"Last entry: {result.last_timestamp}")
else:
    print(f"TAMPERING DETECTED at entry {result.tampered_entry}")

◈ SAMPLE OUTPUT

◈ COOL-MEMORIES v2.0 › FORENSIC LOG
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

LOG STATUS
  Entries: 847
  First: 2024-01-15 08:47:23 UTC
  Last: 2024-02-03 14:23:47 UTC
  Integrity: VERIFIED ✓
  
BLOCKCHAIN ANCHORS
  Latest: Ethereum block #18,847,392
  Anchored entries: 823
  Pending: 24
  
RECENT ENTRIES

▸ #847 [2024-02-03 14:23:47]
  Type: emf_anomaly
  Severity: MEDIUM
  Hash: 7f3c...a892
  Location: 47.6205°N, 122.3493°W
  Data: +5.6µT deviation, 2.3σ

▸ #846 [2024-02-03 14:12:03]  
  Type: network_phantom
  Severity: HIGH
  Hash: b2d8...3f41
  Location: 47.6205°N, 122.3493°W
  Data: 10.0.0.47 responded, no host

▸ #845 [2024-02-03 13:47:22]
  Type: thermal_anomaly
  Severity: HIGH
  Hash: 9e1c...7d23
  Attachment: thermal_frame.raw (12.4 KB)
  Data: Cold spot -8.9°C delta

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TOTAL SIZE: 47.8 MB • CHAIN VALID ✓

◈ ENCRYPTION

All data can be encrypted at rest:

from cool_memories import ImmutableLog, Encryption

# Create encrypted log
encryption = Encryption(key_derivation="argon2")
log = ImmutableLog(encryption=encryption, password="your-secure-password")

# Entries are encrypted before storage
# Attachments use AES-256-GCM
# Key is derived from password using Argon2id

◈ CROSS-PLATFORM SYNC

Sync logs across devices while maintaining immutability:

from cool_memories import SyncManager

sync = SyncManager(log)

# Sync to cloud
await sync.push()

# Pull from other devices
await sync.pull()

# Resolve conflicts (uses hash chain, never loses data)

◈ PLATFORMS

Desktop

Full log management with:

  • Timeline visualization
  • Search and filter
  • Export capabilities
  • Verification tools

Mobile

Capture evidence on the go:

  • Quick event logging
  • Voice memo transcription
  • Photo/video capture
  • GPS tagging
  • Background sync

CLI

Command-line interface for automation:

# Log an event
cool-memories log --type "observation" --data '{"note": "Strange occurrence"}'

# Verify log
cool-memories verify

# Export for legal use
cool-memories export --format legal --output evidence.pdf

◈ LEGAL CONSIDERATIONS

cool-memories is designed to produce logs that can serve as evidence:

  • Cryptographic proof of non-tampering
  • Timestamped entries with optional blockchain anchoring
  • Chain of custody through hash linkage
  • Export in legally accepted formats

◈ INTEGRATION

All Baudrillard Suite tools integrate with cool-memories:

from spectral import MultiModalScanner
from cool_memories import ImmutableLog

log = ImmutableLog()
scanner = MultiModalScanner()

# Auto-log all anomalies
scanner.set_logger(log)

async for anomaly in scanner.scan():
    # Already logged immutably
    print(f"Logged: {anomaly.log_entry.hash}")

◈ INSTALLATION

pip install baudrillard-cool-memories

# Mobile apps
cd apps/cool-memories-mobile
npm install && npx expo build

◈ BAUDRILLARD SUITE

Part of the Baudrillard Security Suite — philosophical security tools for the postmodern threat landscape:

Tool Purpose Language
simulacra Rootkit detection via process ontology Python
hyperreal Memory forensics & negative space analysis Rust/Python
cool-memories (this repo) Immutable forensic logging & evidence chains Python
spectral Liminal signal analysis Python

Built by NullSec — Security through philosophy.


"What is remembered cannot be unremembered. What is recorded cannot be unrecorded."

ko-fi