← Axon Interview Insights

Axon·Software Engineer·Onsite - System Design / Architecture·Senior

Senior
Jul 2026

Summary

System design round at Axon for a software engineer role. The prompt was dense, basically a full distributed systems problem around uploading body camera footage with legal chain-of-custody requirements. A lot to cover in one session.

Questions Asked (5)

Q1

Design a backend service for uploading large video files from body cameras or dashcams, where files may be several GBs, networks are unreliable, and uploads need to be resumable with chunk-level tracking.

System DesignAPI & IntegrationsTechnical Trade-offs
Author's notes

The size and reliability constraints were the easy part to talk through.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and constraints, then outline a high-level architecture that separates upload handling from storage and processing. Focus on the chunked, resumable upload protocol, including chunk-level tracking and integrity verification, and discuss trade-offs around consistency, scalability, and cost.

Pro tip: Emphasize idempotency and exactly-once semantics for chunk uploads to handle retries gracefully, and mention how you'd monitor and alert on upload failures and latency to ensure reliability.

1. Clarify Requirements

Ask about file sizes, network conditions, client types, security needs, and expected scale to scope the design appropriately.

2. High-Level Architecture

Propose a service-oriented design with an upload API, chunk storage, metadata database, and asynchronous processing pipeline.

3. Chunked Resumable Protocol

Detail the upload protocol: chunk size, unique upload ID, chunk tracking, retry logic, and integrity checks (e.g., checksums).

4. Storage and Consistency

Discuss storage options (object store vs. block store), metadata consistency, and how to handle concurrent chunk uploads.

5. Trade-offs and Scalability

Analyze trade-offs (e.g., latency vs. durability, cost vs. performance) and explain how the design scales horizontally.

Key Points to Mention

  • Chunk-level tracking with a unique upload ID and chunk index to enable resumability.
  • Idempotent chunk uploads to handle retries without duplication.
  • Integrity verification using checksums (e.g., MD5, SHA-256) per chunk and for the final file.
  • Use of object storage (e.g., S3) with multipart upload for scalability and durability.
  • Asynchronous processing for post-upload tasks like transcoding or analysis.
  • Monitoring and alerting for upload success rates, latency, and error rates.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

How would you design the storage layout to isolate newly uploaded footage from content that has passed security checks, and what does the promotion pipeline look like?

System DesignTechnical Trade-offsData Modeling
Author's notes

Quarantine bucket to evidence bucket, pretty standard pattern.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the requirements: what types of footage, security checks, and latency expectations exist. Then propose a two-zone storage architecture (quarantine and trusted) with a promotion pipeline that validates and moves data after checks pass. Emphasize trade-offs around consistency, cost, and access control.

Pro tip: Mention that the quarantine zone should be immutable and write-only for uploaders, with strict network isolation, to prevent tampering or data exfiltration before checks complete. Also highlight the importance of idempotent promotion to handle retries safely.

1. Clarify requirements and constraints

Ask about data volume, upload frequency, security check types (e.g., malware scan, content moderation), latency SLAs, and compliance needs. This shapes the storage and pipeline design.

2. Design the quarantine zone

Propose a separate storage bucket/container with restricted access, encryption, and lifecycle policies. Uploads go here first, and no downstream systems can read directly.

3. Define the promotion pipeline

Outline an event-driven pipeline: on upload, trigger security checks; upon success, copy/move to trusted zone and update metadata; on failure, quarantine further or delete. Use idempotent operations and dead-letter queues.

4. Design the trusted zone

Specify storage with appropriate durability, access controls, and indexing for fast retrieval. Ensure it's optimized for read-heavy workloads and integrates with existing systems.

5. Address trade-offs and operational concerns

Discuss consistency (eventual vs strong), cost implications (duplicate storage during promotion), monitoring, and failure recovery. Mention how to handle large files and partial failures.

Key Points to Mention

  • Use of separate storage buckets/containers with distinct IAM policies for quarantine and trusted zones.
  • Event-driven architecture with message queues (e.g., SQS, Kafka) to decouple upload from security checks.
  • Idempotent promotion logic to handle retries and avoid duplicate processing.
  • Metadata tagging to track status (e.g., 'pending', 'approved', 'rejected') and enable auditing.
  • Lifecycle policies to automatically delete or archive rejected content after a retention period.
  • Monitoring and alerting for pipeline failures, with dead-letter queues for poison messages.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

How do you prove that a piece of footage has not been tampered with after upload, and what integrity verification approach would you use across the full lifecycle?

System DesignTechnical Trade-offs
Author's notes

SHA-256 the whole file on the client before upload, re-derive it server-side after assembly, store it in an append-only record.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the threat model and the full lifecycle of the footage (capture, upload, storage, access, and sharing). Then propose a layered integrity approach using cryptographic hashing, digital signatures, and a tamper-evident audit trail, explaining how each layer addresses specific risks and trade-offs.

Pro tip: Emphasize that integrity verification must be end-to-end and include the chain of custody; mention that you would use hardware-backed keys or HSMs for signing to prevent key compromise, and that you would design for verifiability by third parties (e.g., courts) without exposing sensitive data.

1. Clarify requirements and threat model

Ask about the sensitivity of the footage, who needs to verify integrity, and what threats are in scope (e.g., tampering during upload, storage, or access). This ensures the solution is proportionate and addresses real risks.

2. Define integrity at each lifecycle stage

Break down the lifecycle: capture (device), upload (network), storage (at rest), access (retrieval), and sharing (distribution). For each stage, identify how integrity could be compromised and what verification is needed.

3. Propose cryptographic mechanisms

Use SHA-256 hashing to create a unique fingerprint of the footage at capture. Digitally sign the hash with a device-specific private key to prove origin and integrity. Store the signature and hash in a tamper-evident ledger or database.

4. Design verification and audit trail

Implement a verification service that recomputes the hash and validates the signature at each stage. Maintain an immutable audit log of all actions (upload, access, modifications) with timestamps and user IDs to provide chain of custody.

5. Address trade-offs and scalability

Discuss trade-offs: performance overhead of hashing large files, key management complexity, and storage costs. Propose optimizations like chunked hashing, Merkle trees, or using a blockchain for decentralized trust if needed.

Key Points to Mention

  • Cryptographic hashing (e.g., SHA-256) to detect any modification
  • Digital signatures and public-key infrastructure (PKI) for authenticity and non-repudiation
  • Chain of custody and audit logs to track all access and changes
  • Tamper-evident storage (e.g., write-once-read-many, blockchain, or append-only logs)
  • Key management best practices (HSM, secure enclaves, key rotation)
  • End-to-end verification including client-side and server-side checks

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q4

Design a tamper-evident, auditable chain of custody log that records every action taken on a piece of footage, from upload through access, legal holds, and eventual deletion.

System DesignData ModelingTechnical Trade-offs
Author's notes

This was the part I found most interesting.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the requirements: what actions need to be logged, who can access the log, and what compliance standards (e.g., CJIS, GDPR) apply. Then propose an append-only, cryptographically chained log (like a blockchain) with immutable storage and strong access controls. Finally, discuss trade-offs around performance, scalability, and legal considerations like chain of custody and deletion policies.

Pro tip: Emphasize that the log itself must be tamper-evident and auditable, so consider using cryptographic hashing and digital signatures for each entry, and store the log in a write-once-read-many (WORM) storage. Also, mention the importance of separating the log from the footage to prevent a single point of compromise.

1. Clarify Requirements and Constraints

Ask questions to understand the scope: what actions to log (upload, access, legal hold, deletion), who needs access, retention policies, and regulatory requirements. Identify non-functional needs like scalability, latency, and durability.

2. Design the Log Data Model

Define the schema for log entries: timestamp, actor, action, target footage ID, metadata, and cryptographic hash of previous entry. Ensure entries are immutable and include enough context for auditing.

3. Choose Storage and Tamper-Evidence Mechanisms

Select an append-only storage solution (e.g., WORM storage, blockchain, or a database with audit tables). Implement cryptographic chaining (hashing) and digital signatures to detect tampering. Consider replication and backup for durability.

4. Define Access Control and Auditing

Specify who can read the log and who can append entries. Use role-based access control (RBAC) and ensure all access to the log is itself logged. Provide an audit interface for authorized users to verify integrity.

5. Address Trade-offs and Edge Cases

Discuss trade-offs: performance vs. security, cost of immutable storage, handling legal holds (preventing deletion), and deletion policies (e.g., crypto-shredding). Consider how to handle log growth and archival.

Key Points to Mention

  • Append-only, immutable log with cryptographic chaining (hash of previous entry) to ensure tamper-evidence.
  • Use of digital signatures and WORM storage to prevent unauthorized modifications.
  • Role-based access control and logging of all access to the log itself.
  • Compliance with legal and regulatory standards (e.g., CJIS, GDPR, chain of custody requirements).
  • Handling of legal holds: preventing deletion and ensuring audit trail remains intact.
  • Scalability and performance considerations: partitioning, indexing, and archival strategies.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q5

What access control model would you apply to this system, and what security considerations are specific to footage that may be used as legal evidence?

System DesignTechnical Trade-offsAPI & Integrations
Author's notes

Talked through role-based access, separating who can upload from who can view or export, and flagging any access event to the custody log.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by recommending a role-based access control (RBAC) model with attribute-based access control (ABAC) extensions to handle dynamic, context-aware policies. Then discuss security considerations specific to legal evidence, such as chain of custody, tamper-proof storage, and audit trails. Emphasize how these measures ensure integrity and admissibility in court.

Pro tip: Demonstrate awareness of legal standards like the Federal Rules of Evidence (e.g., Rule 901(b)(9) for electronic records) and mention the importance of cryptographic hashing and digital signatures to prove authenticity. This shows you understand the intersection of technology and law, which is critical for Axon.

1. Choose an access control model

Propose RBAC for basic role separation (e.g., officers, admins, legal) and ABAC for fine-grained, context-aware policies (e.g., time, location, case sensitivity).

2. Define roles and permissions

Outline key roles (e.g., officer, supervisor, evidence custodian, external auditor) and their permissions, ensuring least privilege and separation of duties.

3. Address legal evidence requirements

Explain how the model enforces chain of custody, immutability, and audit logging to meet legal standards for evidence integrity.

4. Implement security controls

Describe technical controls like encryption at rest and in transit, cryptographic hashing, digital signatures, and tamper-evident logs.

5. Ensure compliance and auditability

Discuss how the system supports audits, compliance with regulations (e.g., CJIS, GDPR), and provides verifiable audit trails for court.

Key Points to Mention

  • Role-Based Access Control (RBAC) with Attribute-Based Access Control (ABAC) for dynamic policies
  • Chain of custody and audit trails to track every access and modification
  • Tamper-proof storage using cryptographic hashing and digital signatures
  • Encryption at rest and in transit to protect sensitive footage
  • Compliance with legal standards (e.g., Federal Rules of Evidence) and regulations (e.g., CJIS)
  • Separation of duties and least privilege to prevent unauthorized access or tampering

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.