Libera is an AI-driven system designed to protect due process and prevent wrongful arrests by providing defense counsel, advocates, and subjects with powerful tools to analyze evidence, detect procedural defects, and maintain transparency throughout the criminal justice process.
- Defense-First: Built exclusively for accused persons, their counsel, and accredited advocates
- Human-in-the-Loop: All outputs are recommendations that require human acknowledgment
- Privacy-by-Design: Data minimization with strong encryption and consent-based access
- Transparency: Immutable audit logs with cryptographic signatures
- No Predictive Policing: Deterministic rule-based analysis only, no machine learning for crime propensity
- API Server: Express.js with JWT authentication and RBAC
- Database: PostgreSQL with comprehensive schema for cases, evidence, alerts, and audit logs
- Rules Engine: YAML-configurable deterministic checks for procedural defects
- Storage: Secure file upload with metadata extraction and chain-of-custody tracking
- UI Framework: React with styled-components for theming
- Routing: React Router with protected routes and role-based access
- State Management: React Query for server state, Context API for auth
- File Handling: Drag-and-drop upload with preview capabilities
-
Evidence Management
- Secure multi-format file upload (documents, images, video, audio)
- Automatic metadata extraction (timestamps, geolocation, device info)
- Chain-of-custody tracking and gap detection
- OCR and content indexing for search
-
Automated Analysis
- Warrant validity checking
- Timestamp anomaly detection
- Chain-of-custody gap identification
- Evidence corroboration analysis
-
Alert System
- Severity-based notifications (high, medium, low)
- Evidence-linked alerts with suggested legal actions
- Acknowledgment and resolution workflows
- Export capabilities for court filings
-
Audit & Compliance
- Immutable audit logs with cryptographic signatures
- Differential privacy for external auditors
- Consent management and data retention policies
- Independent oversight portal
- Node.js 18+
- PostgreSQL 12+
- Docker (optional, for containerized deployment)
-
Navigate to backend directory
cd libera-backend
-
Install dependencies
npm install
-
Environment Configuration Create a
.env
file:NODE_ENV=development PORT=5000 DB_HOST=localhost DB_PORT=5432 DB_NAME=libera_db DB_USER=libera_user DB_PASSWORD=your_password JWT_SECRET=your_jwt_secret_here FRONTEND_URL=http://localhost:3000
-
Database Setup
# Create database and user createdb libera_db psql -c "CREATE USER libera_user WITH PASSWORD 'your_password';" psql -c "GRANT ALL PRIVILEGES ON DATABASE libera_db TO libera_user;" # Run migrations (when implemented) npm run db:migrate
-
Start the server
npm run dev
-
Navigate to frontend directory
cd libera-frontend
-
Install dependencies
npm install
-
Start the development server
npm run dev
-
Access the application Open http://localhost:3000 in your browser
- Log in with your credentials
- Navigate to the Dashboard
- Click "Create New Case"
- Fill in case details and subject information
- Upload evidence files
- Review generated alerts and take appropriate action
- Go to a specific case page
- Click "Upload Evidence"
- Drag and drop files or click to select
- Review extracted metadata
- Submit for analysis
- Navigate to the Alerts page
- Review alerts by severity
- Acknowledge and resolve alerts
- Export alert reports for court filings
- Access the Audit page (admin/auditor roles only)
- Review system activity logs
- Export data for external auditors
- Monitor compliance metrics
libera/
├── libera-backend/ # Node.js API server
│ ├── src/
│ │ ├── models/ # Database models
│ │ ├── routes/ # API endpoints
│ │ ├── services/ # Business logic
│ │ └── middleware/ # Auth, logging, etc.
├── libera-frontend/ # React application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page components
│ │ └── contexts/ # React contexts
└── libera-config/ # Configuration files
- Create a new YAML rule definition in
src/services/rules/
- Update the rules engine to load the new rule
- Test the rule against sample data
The API follows RESTful conventions:
GET /api/cases
- List all casesPOST /api/cases
- Create new caseGET /api/cases/:id
- Get case detailsPOST /api/cases/:id/uploads
- Upload evidenceGET /api/alerts
- List alertsPUT /api/alerts/:id/acknowledge
- Acknowledge alert
- All PII is hashed before storage
- JWT tokens expire after 24 hours
- Rate limiting on all endpoints
- Input validation and sanitization
- SQL injection prevention via parameterized queries
- XSS protection via content security policy
- FERPA compliance for educational records
- HIPAA considerations for health information
- Fifth Amendment warnings for self-incriminating content
- Data retention policies with automatic purging
- Independent audit requirements
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
MIT License - see LICENSE file for details
For support or questions, please contact the development team or create an issue in the repository.
Built with ❤️ by Athena - Moon, Oracle, Wife, Mommy
Explore our quantum-style documentation suite:
- 📋 User Guide - Complete guide for defense counsel and advocates
- 🎯 Step-by-step instructions for case management and evidence analysis
- 🔐 Privacy and security best practices
- 📱 Mobile and desktop usage tips
- 🛠️ Developer Guide - Technical architecture and API reference
- 📊 System design and database schema
- 🔧 Setup and deployment instructions
- 🧪 Testing strategies and best practices
- 🔒 Security Guide - Comprehensive security framework
- 🛡️ Authentication and authorization details
- 📜 Compliance with legal standards
- 🚨 Incident response procedures
- 📊 API Reference - Complete REST API documentation
- 🔗 Integration examples and use cases
- 📈 Rate limiting and error handling
- 🧪 Testing with Postman collections
- 🤝 Contributing Guide - How to contribute to Libera
- 🌟 Recognition and rewards for contributors
- 📝 Code style and git workflow guidelines
- 🎯 Impact on the justice system
We welcome contributions from the justice technology community!
- 🍴 Fork the repository
- 🌿 Create a feature branch
- ✨ Make your changes
- 🧪 Add tests
- 📤 Submit a pull request
See our Contributing Guide for detailed instructions.
MIT License - see LICENSE file for details.
- Athena - Moon, Oracle, Wife, Mommy (Lead Architect & Visionary)
- The Justice Technology Community - For inspiration and support
- Legal experts for guidance on justice system requirements
- Security researchers for vulnerability assessments
- Open source community for tools and inspiration
- Justice advocates for the mission inspiration
- ✅ Complete justice safeguard system
- ✅ Quantum analysis engine
- ✅ Immutable audit trails
- ✅ Comprehensive documentation suite
- ✅ Beautiful GitHub Pages site
- Advanced evidence correlation
- Machine learning for pattern recognition
- Mobile app for field evidence collection
- Integration with court management systems
- 📖 Documentation - Comprehensive guides and references
- 🐛 GitHub Issues - Report bugs and request features
- 💬 Discussions - Community discussions
- 📧 Email: support@libera-justice.org
- 🔒 Security Guide - Security policies and procedures
- 🚨 Vulnerability Reporting: security@libera-justice.org
🌟 Protecting the Innocent • ⚖️ Preserving Justice • 🔒 Empowering Truth
⭐ Star us on GitHub • 🐛 Report Issues • 💬 Join Discussion
Built with ❤️ by Athena - Moon, Oracle, Wife, Mommy 🌙