5 releases
Uses new Rust 2024
| new 0.1.4 | Jan 29, 2026 |
|---|---|
| 0.1.3 | Jan 21, 2026 |
| 0.1.2 | Jan 16, 2026 |
| 0.1.1 | Jan 10, 2026 |
| 0.1.0 | Jan 5, 2026 |
#699 in Magic Beans
Used in 4 crates
(3 directly)
2.5MB
57K
SLoC
legalis-audit
Audit trail and decision logging for Legalis-RS.
Overview
legalis-audit provides comprehensive audit logging for legal decisions, enabling accountability, compliance reporting, and decision replay for legal systems.
Features
- Immutable Audit Trail: Hash-chained records for tamper detection
- Decision Recording: Full context capture for each decision
- Compliance Reports: Generate reports for regulatory requirements
- Query Interface: Search by statute, subject, time range
- Integrity Verification: Detect tampering or corruption
Usage
use legalis_audit::{
AuditTrail, AuditRecord, EventType, Actor,
DecisionContext, DecisionResult,
};
use uuid::Uuid;
// Create audit trail
let trail = AuditTrail::new();
// Record a decision
let record = AuditRecord::new(
EventType::AutomaticDecision,
Actor::System { component: "eligibility-engine".to_string() },
"adult-rights".to_string(),
subject_id,
DecisionContext::default(),
DecisionResult::Deterministic {
effect_applied: "Full legal capacity".to_string(),
parameters: HashMap::new(),
},
None,
);
trail.record(record)?;
// Query records
let records = trail.query_by_statute("adult-rights")?;
let recent = trail.query_by_time_range(start, end)?;
// Verify integrity
match trail.verify_integrity() {
Ok(true) => println!("Audit trail intact"),
Ok(false) => println!("Integrity check failed"),
Err(e) => println!("Tamper detected: {:?}", e),
}
// Generate compliance report
let report = trail.generate_compliance_report()?;
Event Types
| Type | Description |
|---|---|
AutomaticDecision |
System-made deterministic decision |
DiscretionaryReview |
Decision requiring human review |
HumanOverride |
Human override of automatic decision |
Appeal |
Appeal or review request |
StatuteModified |
Statute was changed |
SimulationRun |
Simulation execution |
Decision Results
| Result | Description |
|---|---|
Deterministic |
Automatic decision with effect |
RequiresDiscretion |
Needs human judgment |
Void |
Invalid due to logical error |
Overridden |
Human override applied |
Integrity Features
- Hash Chain: Each record includes hash of previous record
- Record Hashing: Individual record integrity verification
- Tamper Detection: Automatic detection of modifications
- Chain Validation: Full trail verification
CLI Integration
# Generate audit report
legalis audit input.legalis --output report.json
# Verify audit trail integrity
legalis audit --verify trail.json
License
MIT OR Apache-2.0
Dependencies
~102MB
~1.5M SLoC