Cache Security Audit Framework: SOC 2, HIPAA, and FedRAMP Checklist
Security audits have always focused on databases, application servers, and network perimeters. Cache infrastructure has been ignored for the simple reason that auditors did not know to ask about it. That era is over. SOC 2 Type II assessors, HIPAA security officers, and FedRAMP 3PAOs are now requesting specific evidence about how cached data is protected, accessed, logged, and verified. If you cannot produce that evidence, you will receive a finding -- not a recommendation, not a suggestion, a finding that appears in your report and that your customers, partners, and regulators will read.
The problem is that no unified audit framework exists for cache infrastructure. SOC 2 has its Trust Service Criteria. HIPAA has its Security Rule safeguards. FedRAMP has its NIST 800-53 control families. Each framework uses different terminology, different control numbering, and different evidence requirements. But the underlying questions are identical: who can access the cached data, is it encrypted, is there an audit trail, can you prove it has not been tampered with, and what happens when something fails. This guide maps all three frameworks to a single 25-item cache security audit checklist that works regardless of which compliance regime your organization operates under.
This is not a theoretical framework. Every item in this checklist corresponds to an actual audit request that has been made by an actual assessor examining cache infrastructure. The evidence requirements are based on what auditors have accepted in practice, not what might theoretically satisfy a control. The failure modes are the ones that cause real findings. The remediations are the ones that close them.
Cross-Framework Control Mapping
Before diving into the checklist, it helps to understand how the three frameworks align on cache-specific requirements. SOC 2 uses Trust Service Criteria (TSC), HIPAA uses the Security Rule's Administrative, Physical, and Technical Safeguards, and FedRAMP uses NIST 800-53 control families. Despite the different terminology, the controls map cleanly to six families that apply directly to cache infrastructure.
| Control Family | SOC 2 TSC | HIPAA Security Rule | FedRAMP (NIST 800-53) | Items |
|---|---|---|---|---|
| Access Control | CC6.1 - CC6.3 | 164.312(a)(1) - Access Control | AC-2, AC-3, AC-6 | 5 |
| Encryption | CC6.1, CC6.7 | 164.312(a)(2)(iv), 164.312(e)(1) | SC-8, SC-13, SC-28 | 4 |
| Audit Logging | CC7.1, CC7.2 | 164.312(b) - Audit Controls | AU-2, AU-3, AU-6, AU-12 | 4 |
| Integrity | CC7.2, PI1.1 | 164.312(c)(1) - Integrity | SI-7, SI-10 | 4 |
| Availability | A1.1, A1.2 | 164.308(a)(7) - Contingency Plan | CP-2, CP-7, CP-10 | 4 |
| Change Management | CC8.1 | 164.308(a)(5)(ii)(C) | CM-2, CM-3, CM-6 | 4 |
The alignment is not coincidental. All three frameworks descend from the same fundamental security principles: protect access, protect data, prove what happened, ensure correctness, maintain availability, and control change. The six control families above are the cache-specific instantiation of those principles.
Control Family 1: Access Control (5 Items)
AC-1: Authentication Required for All Cache Access
What to check: Verify that every cache client must authenticate before reading or writing any cached value. No anonymous access is permitted. Check that default credentials have been changed and that authentication is enforced at the protocol level, not just the application level.
Evidence to collect: Authentication configuration files showing that authentication is required. Connection logs showing that unauthenticated connection attempts are rejected. Network packet captures demonstrating that the cache protocol enforces authentication before accepting commands.
Common failure mode: Redis deployed with requirepass commented out or set to a default value. ElastiCache clusters with no authentication enabled because "it is inside the VPC." Internal network location is not authentication. SOC 2 CC6.1 requires logical access controls regardless of network position. HIPAA 164.312(d) requires person or entity authentication. FedRAMP AC-3 requires access enforcement on every request.
Remediation: Enable authentication on every cache instance. Use strong, unique credentials per service. Rotate credentials on a defined schedule. Document the authentication mechanism and its configuration.
AC-2: Per-Key or Per-Namespace Access Restrictions
What to check: Verify that different services or users have access only to the cache keys they need. A service that manages user sessions should not be able to read cache keys containing financial computations. Access should follow the principle of least privilege.
Evidence to collect: Access control configuration showing key-level or namespace-level restrictions. Test results demonstrating that Service A cannot read keys belonging to Service B. Access control exception reports from the audit period.
Common failure mode: Redis ACLs configured at the command level only (e.g., "this user can run GET but not DEL") without key-level restrictions. Every authenticated client can read every key. This violates least privilege requirements across all three frameworks.
Remediation: Implement per-key or per-namespace access controls. Cachee's Owner/Regulator/Auditor key hierarchy provides three distinct access tiers with cryptographically enforced separation. Each key type has different capabilities: Owners read and write, Regulators query metadata and verify, Auditors perform zero-knowledge verification without accessing plaintext values.
AC-3: Service Account Isolation
What to check: Verify that each application or microservice connecting to the cache uses a unique service account. Shared credentials across services make it impossible to attribute cache access to a specific service, which breaks audit trail requirements.
Evidence to collect: List of all service accounts with cache access. Mapping of each service account to the application that uses it. Evidence that no two services share the same credentials.
Common failure mode: A single Redis password shared across all microservices via a common environment variable. When the auditor asks "which service accessed this cached PII record," the answer is "we cannot tell" because all services use the same credential. This fails SOC 2 CC6.1, HIPAA 164.312(a)(1), and FedRAMP AC-2 simultaneously.
Remediation: Create unique service accounts per application. Store credentials in a secrets manager, not in environment variables or configuration files. Log credential usage per service account.
AC-4: Privileged Access Management for Cache Administration
What to check: Verify that administrative access to cache infrastructure (configuration changes, cluster management, key eviction policies) is restricted to authorized personnel and requires additional authentication beyond normal service access.
Evidence to collect: List of personnel with administrative cache access. Evidence of multi-factor authentication for administrative sessions. Administrative action logs for the audit period.
Common failure mode: The same Redis password that services use for GET/SET also grants access to CONFIG, FLUSHALL, and DEBUG commands. There is no distinction between application access and administrative access. A compromised service credential grants full control over the cache infrastructure.
Remediation: Separate administrative credentials from service credentials. Require MFA for administrative access. Log all administrative actions separately from application-level cache operations.
AC-5: Session and Token Expiration for Cache Connections
What to check: Verify that cache connections have defined timeouts and that authentication tokens or sessions expire. Persistent, never-expiring connections create risk if a client is compromised.
Evidence to collect: Connection timeout configuration. Token expiration settings. Evidence of connection recycling in production over the audit period.
Common failure mode: Redis connection pools with no idle timeout. Connections persist for the lifetime of the application process, which can be months. If a client is compromised, the attacker inherits a valid, authenticated connection indefinitely.
Remediation: Configure connection idle timeouts. Implement credential rotation that forces re-authentication. Monitor long-lived connections and alert on connections exceeding the defined maximum lifetime.
Control Family 2: Encryption (4 Items)
EN-1: Encryption at Rest for All Cached Data
What to check: Verify that cached data is protected at rest. This means either the cache storage medium is encrypted or each cached value is individually encrypted or cryptographically signed before storage.
Evidence to collect: Encryption configuration showing at-rest protection is enabled. For volume-level encryption: disk encryption configuration (dm-crypt, LUKS, EBS encryption). For entry-level protection: computation fingerprint and signature verification on cached entries.
Common failure mode: Redis stores all data in plaintext in memory. Volume-level encryption protects against physical disk theft but not against any process on the host reading memory. HIPAA 164.312(a)(2)(iv) requires encryption and decryption capabilities. FedRAMP SC-28 requires protection of information at rest.
Remediation: Use a cache that provides entry-level cryptographic protection. Cachee signs every entry with three post-quantum signature algorithms at write time, binding each cached value to a computation fingerprint that prevents modification without detection.
EN-2: Encryption in Transit for All Cache Communication
What to check: Verify that all communication between cache clients and the cache service is encrypted using TLS 1.2 or higher. Check that plaintext cache protocols (Redis RESP without TLS) are not exposed on any network interface.
Evidence to collect: TLS configuration showing minimum version and cipher suites. Certificate management records. Network scan results showing no plaintext cache ports exposed.
Common failure mode: Redis deployed without TLS because "it is only on the internal network." Network segmentation is not encryption. Internal network traffic can be captured by any compromised host on the same segment. HIPAA 164.312(e)(1) requires transmission security. FedRAMP SC-8 requires transmission confidentiality and integrity.
Remediation: Enable TLS on all cache connections. Use TLS 1.3 where supported. For in-process cache deployments, document that no network transit occurs, eliminating the attack surface entirely.
EN-3: Key Management for Cache Encryption
What to check: Verify that cryptographic keys used for cache encryption or signing are managed according to policy. Keys must be stored securely, rotated on a defined schedule, and never hardcoded in application code or configuration files.
Evidence to collect: Key management policy document. Key rotation logs for the audit period. Evidence that keys are stored in a key management service (KMS or HSM), not in application configuration.
Common failure mode: TLS certificates for Redis connections expired six months ago and were renewed by copying a self-signed certificate from a developer laptop. No key rotation has occurred since the cache was deployed. The signing keys are stored in the same repository as the application code.
Remediation: Implement automated key rotation. Store keys in a dedicated KMS. Log all key lifecycle events. Cachee supports automatic key rotation with re-signing of existing entries, producing rotation audit records that satisfy all three frameworks.
EN-4: Post-Quantum Cryptographic Readiness
What to check: Verify that the cache infrastructure uses or is prepared to use post-quantum cryptographic algorithms. NIST finalized FIPS 203, 204, and 205 in 2024. Federal agencies under FedRAMP are required to transition. HIPAA-covered entities handling long-lived health records face harvest-now-decrypt-later risk from classical-only encryption.
Evidence to collect: Inventory of cryptographic algorithms used in cache infrastructure. Migration plan for post-quantum transition. Evidence of PQ algorithm support in the cache system.
Common failure mode: Cache infrastructure uses RSA-2048 or ECDSA for TLS and has no plan for post-quantum migration. The organization's PQ transition plan covers databases and application servers but does not mention cache infrastructure. The cache is, once again, the gap.
Remediation: Deploy cache infrastructure that supports post-quantum cryptography natively. Cachee uses ML-DSA-65 (FIPS 204), FALCON-512, and SLH-DSA-SHA2-128f-simple (FIPS 205) for entry attestation, providing three independent post-quantum signature algorithms from day one.
The Encryption Gap in Every Cache Audit
Your database has encryption at rest (RDS encryption, TDE, or dm-crypt). Your API traffic has TLS. Your cache sits between them with plaintext data in memory, no TLS on internal connections, and no key rotation since deployment. Every auditor who looks at this architecture will write a finding. The four encryption controls above are the minimum bar to close it.
Control Family 3: Audit Logging (4 Items)
AL-1: Read and Write Audit Trails
What to check: Verify that every cache read and write operation is logged with sufficient detail to reconstruct who accessed what, when, and from where. The log must include the service account, the cache key or fingerprint, the operation type, the timestamp, and the source IP or service identifier.
Evidence to collect: Sample audit log entries showing read and write operations. Log completeness report demonstrating that all cache operations are captured. Log integrity verification showing that logs have not been modified.
Common failure mode: Redis MONITOR command used for "audit logging" in development but disabled in production because it degrades performance by 50% or more. Slowlog captures only slow commands, not all commands. The production cache has no operational audit trail whatsoever. SOC 2 CC7.2, HIPAA 164.312(b), and FedRAMP AU-2 all require audit logs that function in production, not just in development.
Remediation: Use a cache that produces audit logs as a byproduct of normal operation without performance degradation. Cachee's computation fingerprints serve as the audit trail. Every operation records the SHA3-256 fingerprint of the computation, the operation type, the key type that performed it, and the timestamp. The fingerprint log is append-only and cryptographically bound to the cache entries it references.
AL-2: Log Retention and Protection
What to check: Verify that cache audit logs are retained for the required period (SOC 2: audit period plus review, typically 12-15 months; HIPAA: six years; FedRAMP: per agency policy, typically three years). Verify that logs are protected against modification and deletion.
Evidence to collect: Log retention configuration. Evidence of write-once storage (WORM) or append-only log protection. Log age verification showing oldest retained log entry meets the required retention period.
Common failure mode: Redis has no log retention because Redis has no audit logs to retain. For caches that do log, logs are stored on the same server as the cache and are rotated out after 30 days. HIPAA requires six years. The logs you need for a HIPAA investigation three years from now do not exist.
Remediation: Configure log retention to meet the longest applicable requirement. Store logs in immutable storage (S3 with Object Lock, write-once NFS, or equivalent). Verify log integrity periodically using cryptographic checksums.
AL-3: Log Monitoring and Alerting
What to check: Verify that cache audit logs are monitored for anomalous patterns. Unusual access patterns, failed authentication attempts, bulk data reads, and unauthorized state changes should trigger alerts.
Evidence to collect: Alerting rules configured for cache audit events. Sample alert notifications from the audit period. Incident response records showing that cache-related alerts were investigated and resolved.
Common failure mode: Cache infrastructure is not included in the SIEM or monitoring platform. Application logs capture API-level events but cache-level events are invisible. An attacker who gains direct cache access leaves no trace in the monitoring system.
Remediation: Forward cache audit logs to the organization's SIEM. Create alerting rules for failed authentication, bulk reads, key pattern scanning, and administrative operations outside change windows.
AL-4: Audit Log Independent Verification
What to check: Verify that audit logs can be independently verified by a third party. The auditor should be able to confirm that log entries are authentic, complete, and unmodified without relying on the cache operator's assertions.
Evidence to collect: Cryptographic verification mechanism for log entries. Sample verification performed by the auditor using provided public keys. Chain-of-custody documentation for log delivery to the auditor.
Common failure mode: Audit logs are text files on a server. The only evidence that they have not been modified is the word of the operations team. An auditor cannot independently verify that log entries are authentic. This is insufficient for SOC 2 CC7.2 and FedRAMP AU-10 (non-repudiation).
Remediation: Use cryptographically signed audit log entries. Cachee's computation fingerprints are SHA3-256 hashes that bind each log entry to the cache operation it records. An auditor can recompute the fingerprint from the operation parameters and verify it matches the logged value, providing independent verification without trusting the cache operator.
Control Family 4: Integrity (4 Items)
IN-1: Tamper Detection on Cached Values
What to check: Verify that the cache detects unauthorized modification of cached values. If an attacker modifies a cached value directly (bypassing the application), the cache should detect the modification and reject the tampered value.
Evidence to collect: Integrity verification mechanism documentation. Test results showing that a manually modified cached value is detected and rejected. Cache attestation verification logs from the audit period.
Common failure mode: Redis returns whatever bytes are stored at a key. If those bytes are modified by an attacker, every client trusts the modified value. There is no checksum, no signature, no tamper detection of any kind. An attacker who gains write access to Redis controls the truth for every application that reads from it.
Remediation: Implement cryptographic integrity verification on every cache read. Cachee verifies three independent post-quantum signatures on every read operation. A single signature failure triggers immediate invalidation. Integrity verification is not a separate mode to enable -- it is the read path.
IN-2: Input Validation on Cache Writes
What to check: Verify that the cache validates data before writing it. Cache writes should be bound to the computation that produced them, preventing arbitrary data injection. The system should verify that the value being cached was actually produced by the claimed computation with the claimed inputs.
Evidence to collect: Input validation configuration. Computation fingerprint verification on write path. Rejection logs showing invalid writes that were blocked.
Common failure mode: Any client can write any value to any key. There is no validation that the cached value corresponds to an actual computation result. An attacker can poison the cache with arbitrary values that all downstream services will trust.
Remediation: Bind cache writes to computation fingerprints. Cachee computes SHA3-256(input || computation || parameters || version || hardware_class) at write time and rejects writes that do not match a valid computation context.
IN-3: Cross-Reference Integrity Between Cache and Source
What to check: Verify that cached values can be validated against their source of truth. When the source data changes, the cached value should be invalidated or updated. Stale cache entries that no longer match the source are an integrity violation.
Evidence to collect: Cache invalidation mechanism documentation. Test results showing that source data changes trigger cache invalidation. Staleness reports from the audit period.
Common failure mode: Cache entries with no TTL persist indefinitely. The source database is updated but the cached value is never invalidated. Applications serve stale data for hours, days, or permanently. For HIPAA-covered data, serving an outdated medication list because the cache was never invalidated is not just a compliance issue -- it is a patient safety issue.
Remediation: Implement cache contracts that define maximum staleness per computation type. Cachee's cache contracts enforce freshness SLAs: if a cached value exceeds its freshness window, it is returned as a miss rather than served stale. This guarantees that integrity is never sacrificed for availability.
IN-4: Independent Verification Capability
What to check: Verify that any party with the appropriate public keys can independently verify a cached value's integrity without trusting the cache service itself. The verification must work offline, without network access to the cache.
Evidence to collect: Sample Cache Attestation Bundle (CAB). Verification performed by the auditor using standard cryptographic libraries. Verification result matching the cache service's own verification.
Common failure mode: The only way to "verify" a cached value is to ask the cache service. If the cache service is compromised, it will report that compromised values are valid. There is no independent verification path.
Remediation: Produce self-contained verification bundles. Cachee's CAB bundles include the cached value, all three PQ signatures, the computation fingerprint, the state transition history, and the public keys needed for verification. An auditor can verify a CAB offline using any standard PQ cryptography library.
Control Family 5: Availability (4 Items)
AV-1: Cache Failover and Recovery
What to check: Verify that cache infrastructure has documented failover procedures and that failover has been tested during the audit period. The recovery time objective (RTO) and recovery point objective (RPO) must be defined and met.
Evidence to collect: Failover procedure documentation. Test results from failover drills during the audit period. RTO and RPO definitions with evidence of compliance.
Common failure mode: Single Redis instance with no replication. When it fails, every application that depends on cached data degrades or fails. The "failover plan" is "restart Redis and wait for the cache to warm up." This is not a plan. This is hope.
Remediation: Implement redundant cache infrastructure with automated failover. Document RTO and RPO targets. Test failover quarterly. For Cachee, the L1 in-process tier provides zero-network-dependency availability -- if the L2 distributed tier fails, the L1 tier continues serving cached values from application memory.
AV-2: Capacity Planning and Monitoring
What to check: Verify that cache capacity is monitored and that capacity planning ensures the cache will not run out of memory during normal and peak operations. Eviction due to memory pressure is an availability event that must be planned for.
Evidence to collect: Memory utilization reports over the audit period. Capacity planning documentation showing projected growth. Eviction policy configuration and eviction event logs.
Common failure mode: Redis maxmemory set to the server's total RAM minus a small buffer. Under peak load, eviction begins and critical cached values are removed. Applications experience cache misses on data they depend on, causing cascading performance degradation. The team does not know eviction is happening because eviction events are not monitored.
Remediation: Set memory limits with headroom for peak load. Monitor memory utilization and eviction rates. Alert when utilization exceeds 80%. Plan capacity increases before utilization reaches critical levels. Cachee uses CacheeLFU eviction with constant 512 KiB admission sketch memory regardless of entry count, providing predictable memory behavior at any scale.
AV-3: Cache Contract SLA Enforcement
What to check: Verify that cache freshness and availability SLAs are defined per computation type and enforced by the system. The cache must serve correct data or serve nothing. Serving stale data to meet an availability SLA is an integrity violation that trades one compliance requirement for another.
Evidence to collect: Cache contract definitions per computation type. SLA compliance reports from the audit period. Evidence of cache misses returned (rather than stale data served) when contracts could not be met.
Common failure mode: No freshness SLAs defined. Cache entries have arbitrary TTLs or no TTLs. The team cannot answer the question "what is the maximum age of a cached authentication decision" because no maximum has been defined.
Remediation: Define cache contracts for every computation type. Set freshness windows based on business requirements and compliance needs. Configure strict mode to return misses on stale values rather than serving expired data.
AV-4: Degradation and Fallback Behavior
What to check: Verify that the application behaves correctly when the cache is unavailable. Cache unavailability should cause graceful degradation (slower performance with correct results), not failure (errors, crashes, or incorrect results).
Evidence to collect: Application behavior documentation for cache-unavailable scenarios. Chaos engineering test results showing application behavior with cache disabled. Incident reports from cache outages during the audit period.
Common failure mode: Application throws unhandled exceptions when Redis is unreachable. Error messages expose internal cache infrastructure details. Authentication decisions fail closed (deny all) instead of falling back to direct computation. A cache outage becomes an application outage.
Remediation: Implement fallback to direct computation when cache is unavailable. Handle cache connection failures gracefully. Log degradation events for audit trail purposes. Test cache-unavailable scenarios as part of regular chaos engineering exercises.
Control Family 6: Change Management (4 Items)
CM-1: Cache Entry Lifecycle State Tracking
What to check: Verify that every cache entry has a defined lifecycle with tracked state transitions. Entries should move through defined states (Active, Superseded, Revoked, Expired) with each transition recorded and attributed.
Evidence to collect: State machine definition for cache entries. State transition logs from the audit period. Sample transition proof showing authorization and timestamp.
Common failure mode: Redis entries exist or do not exist. There is no concept of "superseded" or "revoked." When a value is updated, the old value is silently overwritten with no record that it ever existed. When a value is deleted, it vanishes. There is no lifecycle, no history, and no audit trail of state changes.
Remediation: Implement a state machine for cache entry lifecycle. Cachee tracks four states (Active, Superseded, Revoked, Expired) with TransitionAuthority and TransitionProof for every state change, providing a complete, auditable history of every cache entry's lifecycle.
CM-2: Configuration Change Authorization
What to check: Verify that changes to cache configuration (eviction policy, memory limits, replication settings, TTL defaults) require authorization and are logged. Configuration changes should follow the organization's change management process.
Evidence to collect: Change management tickets for cache configuration changes during the audit period. Before/after configuration snapshots. Authorization records showing who approved each change.
Common failure mode: An engineer runs CONFIG SET maxmemory 2gb in production to fix an immediate problem. No ticket is created. No approval is obtained. No record exists that the change was made. Three months later, the auditor asks for configuration change records and the team cannot produce them.
Remediation: Require change management tickets for all cache configuration changes. Disable runtime configuration modification in production (Redis: rename CONFIG command). Log all configuration changes with the identity of the person who made them.
CM-3: Version Control and Deployment Tracking
What to check: Verify that cache infrastructure software versions are tracked and that deployments follow the organization's release management process. The version of the cache software in production must be documented and match an approved release.
Evidence to collect: Cache software version inventory. Deployment records showing version transitions during the audit period. Vulnerability assessment results for the deployed cache version.
Common failure mode: Redis version has not been updated in two years. Known CVEs affect the deployed version. The team is unaware of the vulnerability because cache infrastructure is not included in the vulnerability management program.
Remediation: Include cache infrastructure in the vulnerability management program. Track deployed versions. Apply security patches within the organization's defined SLA. Document version upgrades as change management events.
CM-4: Cache Schema and Key Pattern Documentation
What to check: Verify that cached data types, key patterns, and data classification are documented. The organization must be able to answer "what types of data are in the cache" and "which cache keys contain PII, PHI, or other regulated data."
Evidence to collect: Cache schema documentation listing all key patterns and their data classification. Data flow diagrams showing how sensitive data enters and exits the cache. PII/PHI inventory for cached data.
Common failure mode: No documentation exists for what is in the cache. Key patterns are ad hoc and inconsistent. When the auditor asks "which cache keys contain protected health information," the team must search the codebase to find out. HIPAA requires a PHI inventory. If you do not know what PHI is in your cache, you cannot protect it.
Remediation: Create and maintain a cache schema document. Classify all cached data types. Map key patterns to data classification levels. Review and update the schema quarterly.
Comparison: Redis vs. ElastiCache vs. Cachee
The following table maps all 25 audit items to the three cache platforms. A pass means the platform satisfies the control natively without external tooling. A partial means partial coverage that requires additional infrastructure. A fail means the platform does not support the control.
| Audit Item | Redis | ElastiCache | Cachee |
|---|---|---|---|
| AC-1: Authentication | Partial (requirepass) | Pass (IAM) | Pass (PQ key types) |
| AC-2: Per-key access | Fail | Fail | Pass (Owner/Reg/Auditor) |
| AC-3: Service isolation | Partial (ACLs) | Partial (IAM roles) | Pass (unique keys) |
| AC-4: Privileged access | Fail | Partial (IAM) | Pass (admin separation) |
| AC-5: Session expiration | Partial (timeout) | Partial (timeout) | Pass (enforced rotation) |
| EN-1: Encryption at rest | Fail | Pass (managed) | Pass (PQ-signed entries) |
| EN-2: Encryption in transit | Partial (manual TLS) | Pass (managed TLS) | Pass (mTLS / TLS 1.3) |
| EN-3: Key management | Fail | Partial (KMS) | Pass (auto rotation) |
| EN-4: PQ readiness | Fail | Fail | Pass (3 PQ algorithms) |
| AL-1: Read/write audit | Fail | Fail | Pass (fingerprint log) |
| AL-2: Log retention | Fail | Partial (CloudWatch) | Pass (configurable) |
| AL-3: Log monitoring | Fail | Partial (CloudWatch) | Pass (native alerts) |
| AL-4: Independent verification | Fail | Fail | Pass (CAB bundles) |
| IN-1: Tamper detection | Fail | Fail | Pass (3 PQ signatures) |
| IN-2: Input validation | Fail | Fail | Pass (fingerprint bind) |
| IN-3: Cross-reference | Partial (TTL) | Partial (TTL) | Pass (cache contracts) |
| IN-4: Independent verify | Fail | Fail | Pass (CAB offline) |
| AV-1: Failover | Partial (Sentinel) | Pass (managed) | Pass (L1/L2 tiers) |
| AV-2: Capacity planning | Partial (manual) | Pass (auto-scaling) | Pass (CacheeLFU 512KiB) |
| AV-3: SLA enforcement | Fail | Fail | Pass (cache contracts) |
| AV-4: Degradation | Fail | Partial | Pass (L1 fallback) |
| CM-1: Lifecycle tracking | Fail | Fail | Pass (state machine) |
| CM-2: Config authorization | Fail | Partial (IAM) | Pass (change log) |
| CM-3: Version tracking | Partial | Pass (managed) | Pass (versioned) |
| CM-4: Schema documentation | Fail | Fail | Pass (fingerprint schema) |
Redis passes 0 of 25 items fully. It has partial coverage on 8 items, all of which require external infrastructure to complete. ElastiCache passes 5 of 25 items through its managed service capabilities, with partial coverage on 9. Cachee passes all 25 items natively because the audit controls are the architecture, not add-ons.
Generating Audit Evidence with Cachee
The following code examples demonstrate how to generate the specific evidence artifacts that auditors request during SOC 2, HIPAA, and FedRAMP assessments.
# Generate a Cache Attestation Bundle (CAB) for a specific entry
cachee audit cab --key "auth:session:user-12345" \
--output /var/lib/cachee/cab-bundles/session-12345.cab \
--include-signatures \
--include-transition-history \
--include-public-keys
# Output: 24 KB self-contained verification package
# Contains: cached value, 3 PQ signatures, computation fingerprint,
# state transition history, public keys for offline verification
# Export computation fingerprint log for audit period
cachee audit fingerprints \
--from "2025-05-01T00:00:00Z" \
--to "2026-05-01T00:00:00Z" \
--format json \
--output /var/lib/cachee/audit/fingerprints-2025-2026.json \
--verify-integrity
# Each entry: { fingerprint, timestamp, operation, key_type, service_account }
# --verify-integrity recomputes each fingerprint and flags any mismatches
# Export state transition history for all entries
cachee audit transitions \
--from "2025-05-01T00:00:00Z" \
--to "2026-05-01T00:00:00Z" \
--format json \
--output /var/lib/cachee/audit/transitions-2025-2026.json
# Each entry: { key, from_state, to_state, authority, proof, timestamp }
# Covers: Active -> Superseded, Active -> Revoked, Active -> Expired
# Generate compliance summary report
cachee audit report \
--framework soc2,hipaa,fedramp \
--period "2025-05-01/2026-05-01" \
--output /var/lib/cachee/audit/compliance-report.json
# Maps each control to evidence:
# - SOC 2: CC6.1-CC8.1, A1.1-A1.2, PI1.1
# - HIPAA: 164.308, 164.310, 164.312
# - FedRAMP: AC, AU, CM, CP, SC, SI families
Every Audit Artifact in One Command
Traditional cache infrastructure requires you to build custom scripts, parse log files, aggregate data from multiple sources, and format evidence for each framework separately. Cachee produces audit-ready evidence natively. The CAB bundles, fingerprint logs, transition histories, and compliance reports are byproducts of normal cache operation. When the auditor arrives, run one command. The evidence is already there.
The 25-item checklist in this guide is not aspirational. It is the current state of what auditors ask about when they examine cache infrastructure. SOC 2 assessors map these items to Trust Service Criteria. HIPAA security officers map them to the Security Rule. FedRAMP 3PAOs map them to NIST 800-53. The questions are the same. The evidence requirements are the same. The only variable is whether your cache infrastructure can produce the answers. Redis cannot. ElastiCache covers a fraction. Cachee covers all 25 because compliance is not a feature -- it is the architecture.
25 audit items. 6 control families. 3 compliance frameworks. One cache that passes all of them natively.
Get Started Cache Attestation Docs