Skip to content

dougdevitre/evidence-vault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔐 Privacy-First Evidence Vault — Secure Storage for Sensitive Legal Data

License: MIT TypeScript 5.0 Contributions Welcome PRs Welcome

The Problem

Sensitive legal evidence — texts, photos, recordings, documents — is stored insecurely. Parents in custody cases keep screenshots on their phones. Domestic violence survivors email evidence to themselves. Attorneys share files through unencrypted cloud storage. Chain-of-custody is broken the moment evidence leaves the device. Sharing with courts or attorneys is ad-hoc, unverifiable, and inadmissible.

The Solution

End-to-end encrypted evidence storage with chain-of-custody tracking, access audit logs, and secure sharing with courts and attorneys. Every piece of evidence is encrypted client-side before upload, timestamped with tamper-evident hashes, and tracked through every access event.

graph LR
    EU[Evidence Upload] --> CSE[Client-Side Encryption<br/>AES-256-GCM]
    CSE --> ES[Encrypted Storage<br/>S3/equivalent]
    ES --> AC[Access Control<br/>Role-Based + Case-Linked]
    AC --> COC[Chain-of-Custody<br/>Logger]
    COC --> SS[Secure Share<br/>Time-Limited Links<br/>+ Watermarking]
    SS --> CE[Court Export<br/>Tamper-Evident Package]
Loading

Who This Helps

  • Parents in custody cases — securely preserve text messages, photos, and communications as evidence
  • Domestic violence survivors — safely store evidence without risk of abuser access
  • Attorneys — receive and manage evidence with verifiable chain-of-custody
  • Guardians ad litem — access case evidence through controlled, audited channels
  • Court evidence officers — receive tamper-evident evidence packages ready for proceedings

Features

  • End-to-end encryption (AES-256-GCM) — evidence encrypted on the client before upload; server never sees plaintext
  • Chain-of-custody tracking — every access, transfer, and modification logged with cryptographic timestamps
  • Tamper-evident timestamps — hash-chain verification proves evidence has not been altered since upload
  • Role-based access control — permissions tied to case roles (attorney, judge, guardian, party)
  • Secure sharing with time-limited links — share evidence with expiring, watermarked links
  • Court-ready evidence packages — export tamper-evident bundles with custody logs for court proceedings
  • Complete access audit trail — who accessed what, when, from where, and what they did with it

Quick Start

npm install @justice-os/evidence-vault
import { Encryptor, VaultStore, SecureShare } from '@justice-os/evidence-vault';

// Upload evidence with client-side encryption
const encryptor = new Encryptor();
const vault = new VaultStore({ region: 'us-east-1', bucket: 'evidence' });

const key = await encryptor.generateKey();
const encrypted = await encryptor.encrypt(fileBuffer, key);

const item = await vault.store({
  caseId: 'case-2024-1234',
  type: 'text-message',
  data: encrypted.ciphertext,
  metadata: {
    iv: encrypted.iv,
    timestamp: new Date().toISOString(),
    hash: encrypted.hash,
    description: 'Text messages from Jan 2024',
  },
});

// Share securely with attorney
const share = new SecureShare();
const link = await share.createLink({
  itemId: item.id,
  recipientEmail: 'attorney@lawfirm.com',
  expiresIn: '48h',
  watermark: true,
  accessLevel: 'view',
});

Project Structure

src/
├── index.ts
├── encryption/
│   ├── encryptor.ts           # Encryptor — AES-256-GCM client-side
│   ├── key-manager.ts         # KeyManager — key derivation, rotation
│   └── integrity.ts           # IntegrityChecker — hash verification
├── storage/
│   ├── vault-store.ts         # VaultStore — encrypted CRUD
│   ├── metadata-store.ts      # MetadataStore — searchable metadata
│   └── retention.ts           # RetentionPolicy — auto-deletion rules
├── custody/
│   ├── chain-tracker.ts       # ChainOfCustody — every access logged
│   └── tamper-detector.ts     # TamperDetector — integrity validation
├── sharing/
│   ├── secure-share.ts        # SecureShare — time-limited links
│   ├── watermarker.ts         # Watermarker — invisible watermarks
│   └── court-export.ts        # CourtExport — tamper-evident packages
├── access/
│   ├── access-control.ts      # AccessControl — role + case based
│   └── audit-logger.ts        # AuditLogger — all access events
└── types/
    └── index.ts

Roadmap

  • Zero-knowledge proof of evidence existence without revealing contents
  • Mobile app for on-device evidence capture with automatic encryption
  • Integration with court e-filing systems for direct submission
  • Multi-party key sharing for collaborative case access
  • Automated retention policy enforcement with legal hold support
  • Blockchain-anchored timestamps for independent verification

Justice OS Ecosystem

This repository is part of the Justice OS open-source ecosystem — 32 interconnected projects building the infrastructure for accessible justice technology.

Core System Layer

Repository Description
justice-os Core modular platform — the foundation
justice-api-gateway Interoperability layer for courts
legal-identity-layer Universal legal identity and auth
case-continuity-engine Never lose case history across systems
offline-justice-sync Works without internet — local-first sync

User Experience Layer

Repository Description
justice-navigator Google Maps for legal problems
mobile-court-access Mobile-first court access kit
cognitive-load-ui Design system for stressed users
multilingual-justice Real-time legal translation
voice-legal-interface Justice without reading or typing
legal-plain-language Turn legalese into human language

AI + Intelligence Layer

Repository Description
vetted-legal-ai RAG engine with citation validation
justice-knowledge-graph Open data layer for laws and procedures
legal-ai-guardrails AI safety SDK for justice use
emotional-intelligence-ai Reduce conflict, improve outcomes
ai-reasoning-engine Show your work for AI decisions

Infrastructure + Trust Layer

Repository Description
evidence-vault Privacy-first secure evidence storage
court-notification-engine Smart deadline and hearing alerts
justice-analytics Bias detection and disparity dashboards
evidence-timeline Evidence timeline builder

Tools + Automation Layer

Repository Description
court-doc-engine TurboTax for legal filings
justice-workflow-engine Zapier for legal processes
pro-se-toolkit Self-represented litigant tools
justice-score-engine Access-to-justice measurement
justice-app-generator No-code builder for justice tools

Quality + Testing Layer

Repository Description
justice-persona-simulator Test products against real human realities
justice-experiment-lab A/B testing for justice outcomes

Adoption Layer

Repository Description
digital-literacy-sim Digital literacy simulator
legal-resource-discovery Find the right help instantly
court-simulation-sandbox Practice before the real thing
justice-components Reusable component library
justice-dev-starter-kit Ultimate boilerplate for justice tech builders

Built with purpose. Open by design. Justice for all.


⚠️ Disclaimer

This project is provided for informational and educational purposes only and does not constitute legal advice, legal representation, or an attorney-client relationship. No warranty is made regarding accuracy, completeness, or fitness for any particular legal matter. Always consult a licensed attorney in your jurisdiction before making legal decisions. Use of this software does not create any professional-client relationship.


Built by Doug Devitre

I build AI-powered platforms that solve real problems. I also speak about it.

CoTrackPro · admin@cotrackpro.com

Hire me: AI platform development · Strategic consulting · Keynote speaking

AWS AI/Cloud/Dev Certified · UX Certified (NNg) · Certified Speaking Professional (NSA) Author of Screen to Screen Selling (McGraw Hill) · 100,000+ professionals trained

About

Privacy-first secure storage for sensitive legal evidence

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors