Design a tamper-evident video chain-of-custody audit system
Company: Axon
Role: Software Engineer
Category: System Design
Difficulty: hard
Interview Round: Technical Screen
Design a scalable, tamper-evident audit logging system for video evidence that preserves an accurate chain of custody. The system must record all actions (upload, view, redact/delete sensitive data, transcribe), never lose an event, and support legal discovery. Specify:
1) functional and non-functional requirements;
2) architecture and storage choices (e.g., append-only log, replication, WORM/immutable storage);
3) event schema, ordering, idempotency, and delivery guarantees (exactly-once vs at-least-once);
4) integrity mechanisms (hash chaining/Merkle trees, digital signatures), encryption and key management, and access controls;
5) scalability, partitioning, and backpressure handling;
6) APIs and query patterns for auditors and investigators;
7) retention policies, legal hold, and compliance considerations;
8) monitoring, audit-of-the-auditor, and disaster recovery;
9) cost/latency trade-offs and capacity planning;
10) testing, verification, and rollout plan.
Quick Answer: This question evaluates system design, distributed-systems, security, and compliance competencies by focusing on a scalable, tamper-evident audit logging architecture that preserves chain-of-custody, immutable event capture, ordering, integrity mechanisms, encryption, and reliable delivery in a multi-tenant video-evidence environment.