Cryptography & Secrets
Cryptographic material — algorithm choice, key lifecycle, secret storage, transport, certificate validation, and randomness.
The material layer: the cryptographic primitives, keys, and secrets that other defenses depend on.
In scope. Algorithm choice (broken ciphers, weak hashes, deprecated modes), key generation / rotation / storage, TLS configuration (protocol versions, cipher suites, certificate validation), secrets in source code, secrets in logs, hardcoded credentials, insecure randomness for security-sensitive purposes, certificate pinning, secret-rotation hygiene.
Not in scope. Deciding who may use a key — that's access-control. Encryption-at-rest choice when the primary concern is data loss/correctness rather than exposure — that's data-integrity. Vulnerable crypto library version shipped via a dependency — supply-chain primary with this taxon secondary.
Distinct because. Every defense that builds on crypto collapses if the math or key-handling is wrong. A leaked S3 key is a cryptography-and-secrets defect regardless of who had authorization to use it. A pattern about "MD5 used for password hashing" lives here; a pattern about "password reset flow skipped rate limiting" is access-control.
Conceptual sub-structure. Algorithm choice, key management, transport (TLS), secret exposure.
Patterns in this taxon (142)
- info.env and secrets files listed in .gitignoreab-002416 · security-hardening
- critical.env files are gitignoredab-002565 · project-snapshot
- high.env files are listed in .gitignoreab-000017 · security-headers
- critical.env files in .gitignore with no git historyab-001257 · environment-security
- critical500 pages do not expose internal detailsab-002280 · saas-error-handling
- mediumAccount recovery does not leak user informationab-002226 · saas-authentication
- highAI API key is not accessible client-sideab-000186 · ai-prompt-injection
- criticalAI provider API calls use encrypted transportab-000171 · ai-data-privacy
- highAlgorithm selection justified against NISTab-001426 · finserv-encryption
- lowAll API traffic served over HTTPS/TLSab-000394 · api-security
- criticalAll authentication uses HTTPS TLS 1.2+ab-001570 · gov-fisma-fedramp
- criticalAll default credentials are removed from infrastructure componentsab-001179 · ecommerce-pci
- criticalAll financial data transmissions use TLS 1.2+ab-001421 · finserv-encryption
- criticalAll network requests use HTTPS and App Transport Security is not disabledab-000505 · app-store-review-blockers
- criticalAll personal data encrypted at restab-000832 · data-protection
- criticalAll sensitive financial data encrypted at rest using AES-256+ab-001417 · finserv-encryption
- mediumAn automated secret-scanning gate exists in the CI or pre-commit change pathab-002635 · soc2-readiness
- highAny PII stored locally is encryptedab-001307 · extension-data-privacy
- highAPI keys and secrets are loaded exclusively from environment variablesab-001157 · ecommerce-payment-security
- infoAPI keys and service account credentials rotatedab-001274 · environment-security
- highAPI keys scoped to minimum permissionsab-001261 · environment-security
- highAuthentication tokens have a defined expiration timeab-000378 · api-security
- criticalAuthentication tokens stored securely, not exposed in localStorageab-001301 · extension-data-privacy
- lowBackup credentials stored separatelyab-001271 · environment-security
- lowBiometric step-up accepted without secondary OTP for single-deviceab-001467 · finserv-session-security
- criticalBuild signing is configuredab-001940 · mobile-store-readiness
- mediumCard details are not logged in browser console or analytics eventsab-001166 · ecommerce-payment-security
- highCertificate validation for payment processor API endpointsab-001422 · finserv-encryption
- mediumchrome.storage.sync not used for unencrypted passwords or secretsab-001312 · extension-data-privacy
- highCI/CD secrets masked from logsab-001259 · environment-security
- highClear-Site-Data header on logoutab-002439 · security-headers-ii
- highData encrypted in transit (TLS 1.2+)ab-001565 · gov-cmmc-level-1
- lowData in transit/at rest encryptedab-001583 · gov-fisma-fedramp
- highDatabase connections use SSL/TLSab-000917 · database-design-operations
- lowDatabase credentials are rotated on a defined scheduleab-000921 · database-design-operations
- infoDatabase credentials rotated per policyab-001273 · environment-security
- highDatabase encrypted (SQLite encryption or equivalent)ab-001886 · mobile-offline-storage
- criticalDatabase encryption is enabled for sensitive data at restab-001178 · ecommerce-pci
- highDatabase TDE or column-level encryption for sensitive fieldsab-001418 · finserv-encryption
- lowDebug logs do not output sensitive user data to consoleab-001316 · extension-data-privacy
- lowDev/staging use different keys than prodab-001433 · finserv-encryption
- criticalDKIM key rotation mechanism — not hardcodedab-000926 · deliverability-engineering
- lowDocumentation of algorithms/key lengths/ciphersab-001431 · finserv-encryption
- highEmails sent from authenticated domain with SPF, DKIM, and DMARC recordsab-000561 · booking-notifications-reminders
- mediumEncrypted backups verified semi-annuallyab-001419 · finserv-encryption
- highEncryption at rest for sensitive dataab-002398 · security-hardening
- highEncryption in transit using TLS 1.2 or higherab-002401 · security-hardening
- mediumEncryption keys are read from env, not hardcodedab-000289 · ai-slop-security-theater
- highEncryption keys stored separately from data in dedicated KMSab-001424 · finserv-encryption
- lowEncryption strength verified via scan toolsab-001429 · finserv-encryption
- lowEnvironment variables for sensitive configurationab-000660 · cli-quality
- infoError logs scrubbed of sensitive dataab-001294 · error-resilience
- criticalESP API credentials stored in environment variablesab-002454 · sending-pipeline-infrastructure
- mediumExternal API calls containing user data use HTTPS/TLS 1.2+ab-001313 · extension-data-privacy
- infoExternal scripts use Subresource Integrity hashesab-000011 · security-headers
- criticalGeocoding performed server-side at creation, not client-side with exposed keyab-001042 · directory-map-location
- mediumHardcoded service identifiers are scoped to config filesab-000045 · ai-slop-hallucinations
- highHSTS header is presentab-002518 · site-health-check
- highHSTS header is present with reasonable max-ageab-000002 · security-headers
- highHSTS includes includeSubDomainsab-002441 · security-headers-ii
- mediumHSTS preload flag configuredab-002438 · security-headers-ii
- criticalHTTPS is enforcedab-002521 · site-health-check
- criticalHTTPS is enforcedab-000001 · security-headers
- highHTTPS is enforced on all payment and checkout pagesab-001161 · ecommerce-payment-security
- lowIaC files have no hardcoded secretsab-001269 · environment-security
- criticalIdentity verified (passwords, sessions) before accessab-001555 · gov-cmmc-level-1
- criticalImage layers are scanned for hardcoded credentials and secretsab-001632 · infrastructure-hardening
- lowImage pull credentials enforced via ImagePullSecrets or IAM-based registry authenticationab-001646 · infrastructure-hardening
- highInvitation flow validates tenant membershipab-002329 · saas-multi-tenancy
- highJWT tokens have a reasonable expiry if usedab-002220 · saas-authentication
- highJWT validation covers signature, algorithm, expiry, and audienceab-002406 · security-hardening
- criticalJWT verification uses .verify() not just .decode()ab-000288 · ai-slop-security-theater
- mediumKey access logs audited quarterlyab-001427 · finserv-encryption
- lowKey backup/DR procedures testedab-001420 · finserv-encryption
- highKey rotation enforced annuallyab-001425 · finserv-encryption
- criticalKeychain/Keystore used for sensitive data storageab-001899 · mobile-permissions-privacy
- infoLegacy data migration plan for re-encryptionab-001436 · finserv-encryption
- lowMap API keys restricted by HTTP referrer in provider consoleab-001043 · directory-map-location
- lowNo default or weak passwords in config/docsab-001267 · environment-security
- criticalNo hardcoded API keys or secrets in sourceab-002566 · project-snapshot
- criticalNo hardcoded API keys or secrets in source codeab-000018 · security-headers
- criticalNo hardcoded database credentials in source codeab-000913 · database-design-operations
- criticalNo hardcoded secrets in frontend codeab-001571 · gov-fisma-fedramp
- criticalNo hardcoded secrets in source codeab-001258 · environment-security
- criticalNo mixed content (HTTP resources on HTTPS pages)ab-002440 · security-headers-ii
- mediumNo PII in browser storage (localStorage/sessionStorage); encrypted if neededab-000842 · data-protection
- criticalNo sensitive data in logsab-002310 · saas-logging
- criticalNo sensitive data stored in device shared preferences or NSUserDefaultsab-001898 · mobile-permissions-privacy
- highNo sensitive payment data stored in localStorage or sessionStorageab-001160 · ecommerce-payment-security
- criticalNo service-role or secret keys exposed to the public bundleab-002568 · project-snapshot
- highOAuth state parameter is validatedab-002228 · saas-authentication
- highOfficial provider SDKs are used over custom card input fieldsab-001159 · ecommerce-payment-security
- lowOTP/SMS/email for step-up on multi-device/webab-001468 · finserv-session-security
- mediumPassword hashes use bcrypt or argon2 (not raw crypto)ab-000290 · ai-slop-security-theater
- criticalPassword hashing uses bcrypt, argon2, or scryptab-002386 · security-hardening
- highPassword reset tokens are time-limited and single-useab-002227 · saas-authentication
- criticalPasswords are hashed with a modern algorithmab-002222 · saas-authentication
- mediumPayment gateway uses cert-based auth, not API keys in URLsab-001423 · finserv-encryption
- mediumPCI-DSS encryption documented with AES-256 minimumab-001428 · finserv-encryption
- lowPII excluded from application logsab-001430 · finserv-encryption
- criticalPII separated from identifiers; analytics uses pseudonymous IDsab-000833 · data-protection
- criticalPlaintext passwords are not written to logs or errorsab-002218 · saas-authentication
- highProduction secrets are platform-managed and the repo documents where they liveab-002626 · soc2-readiness
- highProduction secrets in dedicated secrets managerab-001260 · environment-security
- criticalRaw card numbers (PAN) are never sent to the backend; tokenization is usedab-001155 · ecommerce-payment-security
- highRefresh token rotation is implementedab-002206 · saas-authentication
- criticalSecret API keys are not exposed to the client-side bundleab-001153 · ecommerce-payment-security
- mediumSecrets are stored in a dedicated secrets manager with encryption at restab-001641 · infrastructure-hardening
- infoSecrets managed via environment variables or secrets manager; no credentials committed to version controlab-000989 · deployment-readiness
- infoSecrets manager access logged with audit trailab-001272 · environment-security
- infoSecrets not exposed in error messages or logsab-002414 · security-hardening
- mediumSecrets rotation policy documented with evidenceab-001265 · environment-security
- criticalSecrets stored in environment variables and never committed to codeab-002374 · security-hardening
- highSecure storage used for auth tokens and secretsab-001887 · mobile-offline-storage
- mediumSensitive data columns use encryption (at-rest encryption beyond platform defaults)ab-000916 · database-design-operations
- criticalSensitive data encrypted at restab-001885 · mobile-offline-storage
- highSensitive data is encrypted at rest using platform-secure storageab-000481 · app-store-privacy-data
- mediumSensitive data not persisted in browser storage unencryptedab-001558 · gov-cmmc-level-1
- highSeparate environment configs for dev/staging/prodab-001262 · environment-security
- highSession cookies have Secure and HttpOnly flagsab-000003 · security-headers
- lowSession data not in localStorage; memory-only or secure cookieab-001476 · finserv-session-security
- mediumSession resumption after network interrupt requires re-authab-001460 · finserv-session-security
- criticalSession tokens are cryptographically random and at least 128 bitsab-002373 · security-hardening
- highSession tokens in secure HTTP-only cookies, SameSite=Strictab-001473 · finserv-session-security
- highSession tokens use secure, HttpOnly, SameSite cookiesab-002216 · saas-authentication
- infoSPF, DKIM, DMARC configured for all sending domainsab-001256 · email-sms-compliance
- mediumSRI uses SHA-384 or strongerab-002429 · security-headers-ii
- criticalSSL certificate is valid and auto-renewsab-002101 · pre-launch
- criticalSSL/TLS 1.2+ is enforced for all cardholder data in transitab-001180 · ecommerce-pci
- lowSSL/TLS certificates auto-renew before expiry; certificate will not expire within 30 daysab-000982 · deployment-readiness
- infoThird-party crypto libs pinned to audited versionsab-001434 · finserv-encryption
- highTLS 1.2 or higher enforced at ingress for all external trafficab-001635 · infrastructure-hardening
- highTLS certificates are automatically renewed before expiryab-001636 · infrastructure-hardening
- infoTLS certificates validated for outbound connectionsab-000399 · api-security
- criticalTokenization occurs strictly client-side via provider SDKab-001156 · ecommerce-payment-security
- highTool responses do not echo secrets or credentialsab-001848 · mcp-server
- mediumupgrade-insecure-requests directive presentab-002447 · security-headers-ii
- mediumWebhook Endpoints Validate Senderab-002236 · saas-authorization
- highWebhook endpoints verify the incoming signatureab-002601 · project-snapshot
- criticalWebhook signature verification is implementedab-002262 · saas-billing
- criticalWebhook signature verification is implemented on all payment webhooksab-001154 · ecommerce-payment-security
- infoWebhook signatures verifiedab-000396 · api-security