Encryption Strategy
Plan encryption at rest, in transit, and key management for "$ARGUMENTS". Define encryption requirements based on data classification, select appropriate algorithms, and design the key management lifecycle.
Prerequisites
Read .metapowers/security/$ARGUMENTS/00-govern.md. If this file does not exist, tell the user:
Phase 0 (Govern) has not been completed for "$ARGUMENTS". Run a Govern skill first (e.g., /security:security-policy $ARGUMENTS), or use --skip-checks to bypass.
If --skip-checks is present in $ARGUMENTS, skip this check and log to .metapowers/security/$ARGUMENTS/skip-log.md.
Process
Inventory data requiring encryption:
- Map data types to classification levels (public, internal, confidential, restricted)
- Identify regulatory encryption requirements (PCI DSS, HIPAA, GDPR, SOC 2)
- Catalog data storage locations (databases, object storage, file systems, backups, caches)
- Identify data flows between systems, services, and external parties
Plan encryption at rest:
- Select encryption algorithm (AES-256 recommended for symmetric encryption)
- Evaluate database-level encryption (TDE) vs. application-level encryption
- Database-level: simpler to implement, protects against physical media theft
- Application-level: protects against database administrator access, enables field-level encryption
- Plan encryption for file storage and object storage (S3 SSE, Azure Storage encryption)
- Define encryption requirements for backup media and archives
Plan encryption in transit:
- Require TLS 1.3 minimum for all external communications (deprecate TLS 1.2 where possible)
- Define certificate management strategy (public CA vs. internal CA, certificate lifecycle)
- Plan mutual TLS (mTLS) for service-to-service communication where appropriate
- Configure cipher suite preferences (forward secrecy required, disable weak ciphers)
- Implement certificate pinning for critical mobile and API connections if applicable
Design key management:
- Select KMS solution (AWS KMS, Azure Key Vault, GCP Cloud KMS, HashiCorp Vault)
- Define key hierarchy (master key, data encryption keys, key encryption keys)
- Set key rotation schedule (master keys: annually, data encryption keys: quarterly or per-use)
- Plan key backup and recovery procedures
- Define key access controls (who can create, rotate, and revoke keys)
- Document key compromise response procedure (re-encryption plan)
Evaluate client-side vs. server-side encryption:
- Client-side encryption for data the server should never see (zero-knowledge scenarios)
- Server-side encryption for simpler key management and transparent encryption
- End-to-end encryption for messaging and communication features
- Document the decision rationale for each data type
Plan encryption for backups:
- Ensure all backups are encrypted with separate keys from production
- Define backup key escrow and recovery procedures
- Test backup decryption as part of disaster recovery exercises
- Set retention-aligned key lifecycle (keys must outlive encrypted backup retention)
Write the artifact to .metapowers/security/$ARGUMENTS/02-protect.md with heading:
Encryption Strategy
Include sections:
- Data Encryption Requirements — data types, classification levels, and regulatory requirements
- Encryption at Rest — algorithms, implementation approach per storage type
- Encryption in Transit — TLS configuration, certificate management, mTLS plan
- Key Management — KMS selection, key hierarchy, rotation schedule, and access controls
- Client-Side vs. Server-Side — decisions per data type with rationale
- Backup Encryption — backup-specific encryption and key escrow plan
Output
The encryption strategy written to .metapowers/security/$ARGUMENTS/02-protect.md. Present a summary to the user highlighting:
- Data types requiring encryption and their classification levels
- Encryption approach per storage and transit scenario
- Key management solution and rotation schedule
- Critical decisions on client-side vs. server-side encryption
1---2name: encryption-strategy3description: Plan encryption at rest, in transit, and key management4---56# Encryption Strategy78Plan encryption at rest, in transit, and key management for "$ARGUMENTS". Define encryption requirements based on data classification, select appropriate algorithms, and design the key management lifecycle.910## Prerequisites1112Read `.metapowers/security/$ARGUMENTS/00-govern.md`. If this file does not exist, tell the user:1314> Phase 0 (Govern) has not been completed for "$ARGUMENTS". Run a Govern skill first (e.g., `/security:security-policy $ARGUMENTS`), or use `--skip-checks` to bypass.1516If `--skip-checks` is present in $ARGUMENTS, skip this check and log to `.metapowers/security/$ARGUMENTS/skip-log.md`.1718## Process19201. **Inventory data requiring encryption:**21 - Map data types to classification levels (public, internal, confidential, restricted)22 - Identify regulatory encryption requirements (PCI DSS, HIPAA, GDPR, SOC 2)23 - Catalog data storage locations (databases, object storage, file systems, backups, caches)24 - Identify data flows between systems, services, and external parties25262. **Plan encryption at rest:**27 - Select encryption algorithm (AES-256 recommended for symmetric encryption)28 - Evaluate database-level encryption (TDE) vs. application-level encryption29 - Database-level: simpler to implement, protects against physical media theft30 - Application-level: protects against database administrator access, enables field-level encryption31 - Plan encryption for file storage and object storage (S3 SSE, Azure Storage encryption)32 - Define encryption requirements for backup media and archives33343. **Plan encryption in transit:**35 - Require TLS 1.3 minimum for all external communications (deprecate TLS 1.2 where possible)36 - Define certificate management strategy (public CA vs. internal CA, certificate lifecycle)37 - Plan mutual TLS (mTLS) for service-to-service communication where appropriate38 - Configure cipher suite preferences (forward secrecy required, disable weak ciphers)39 - Implement certificate pinning for critical mobile and API connections if applicable40414. **Design key management:**42 - Select KMS solution (AWS KMS, Azure Key Vault, GCP Cloud KMS, HashiCorp Vault)43 - Define key hierarchy (master key, data encryption keys, key encryption keys)44 - Set key rotation schedule (master keys: annually, data encryption keys: quarterly or per-use)45 - Plan key backup and recovery procedures46 - Define key access controls (who can create, rotate, and revoke keys)47 - Document key compromise response procedure (re-encryption plan)48495. **Evaluate client-side vs. server-side encryption:**50 - Client-side encryption for data the server should never see (zero-knowledge scenarios)51 - Server-side encryption for simpler key management and transparent encryption52 - End-to-end encryption for messaging and communication features53 - Document the decision rationale for each data type54556. **Plan encryption for backups:**56 - Ensure all backups are encrypted with separate keys from production57 - Define backup key escrow and recovery procedures58 - Test backup decryption as part of disaster recovery exercises59 - Set retention-aligned key lifecycle (keys must outlive encrypted backup retention)60617. **Write the artifact** to `.metapowers/security/$ARGUMENTS/02-protect.md` with heading:6263 ## Encryption Strategy6465 Include sections:66 - **Data Encryption Requirements** — data types, classification levels, and regulatory requirements67 - **Encryption at Rest** — algorithms, implementation approach per storage type68 - **Encryption in Transit** — TLS configuration, certificate management, mTLS plan69 - **Key Management** — KMS selection, key hierarchy, rotation schedule, and access controls70 - **Client-Side vs. Server-Side** — decisions per data type with rationale71 - **Backup Encryption** — backup-specific encryption and key escrow plan7273## Output7475The encryption strategy written to `.metapowers/security/$ARGUMENTS/02-protect.md`. Present a summary to the user highlighting:76- Data types requiring encryption and their classification levels77- Encryption approach per storage and transit scenario78- Key management solution and rotation schedule79- Critical decisions on client-side vs. server-side encryption