Skip to main content

Data Classification Policy (A.5.12)

Document ID: data-classification-policy
Version: 1.0
Effective from: 2025-01-01
Owner: ISMS owner
Review cycle: Annual

note

This document is aligned to ISO/IEC 27001:2022 Annex A as a self-assessment. SigmaShake holds no ISO 27001 certification.


Classification levels​

LevelDescriptionExamplesHandling
PublicIntentionally publishedDocumentation, marketing, open-source rules hubNo restrictions
InternalBusiness operationsGovernance configuration, non-sensitive audit logsAccess via SSO; no external sharing without approval
ConfidentialSensitive business or customer dataAPI keys, customer governance configs, evidence blobsEncrypted at rest and in transit; access logged
RestrictedHighest-sensitivityEd25519 private signing key, GITHUB_APP_PRIVATE_KEY, STRIPE_API_KEYStored outside source code (Cloudflare Secrets Store bindings, Worker secrets or the vault service); never logged; rotation target ≤ 90 days (the secrets-age and secrets-store-age collectors flag older secrets)

Data inventory​

Principal data categories and their classification:

DataClassificationStorageRetention
Customer governance rule filesConfidentialD1 (Hub; the Hub has no R2 binding), with Cloudflare-managed encryption at restDuration of subscription
Compliance evidence blobsConfidentialR2 (90-day Object Lock target, set by hand in the Cloudflare dashboard; verification is an open ISMS-owner action; the weekly r2-object-lock-verify collector checks the rules)90-day target; longer preserved
Signed manifests / audit packagesConfidentialR2 + AUDIT_PACKAGESAt least 90 days Object Lock (checked by the r2-object-lock-verify collector). No longer period is set in code.
SSO session tokensRestrictedsigmashake-sso SESSIONS KV namespace (expirationTtl 8 hours)8 hours
Signing private keysRestrictedCloudflare Secrets Store (COMPLIANCE_SIGNING_KEY)Current key + 1 rotation overlap
Incident recordsInternalD1Indefinite
Vendor DDQsConfidentialD1No retention period is set in code

Handling requirements​

  • Confidential and Restricted data must not appear in commit messages, log entries, or error responses returned to clients.
  • Production data must not be used in test environments. Test fixtures use synthetic data only (enforced by prod-data-masking-audit collector).
  • Retention sweeper (retention-sweeper collector, monthly) reports retention counts for the accounts, support and fleet services only. It deletes nothing. Evidence objects in R2 expire only when Object Lock retention ends.

Labelling​

Data classification is enforced through system boundaries (access controls, encryption) rather than manual labelling, consistent with a cloud-native model.

Evidence​

CollectorCadenceControl
data-classification-auditWeeklyA.5.12, A.5.13, A.8.11
prod-data-masking-auditWeeklyA.8.11, A.8.12
retention-sweeperMonthlyA.5.33, A.8.10, A.8.12
r2-object-lock-verifyWeeklyA.5.33, A.8.10, A.8.13