1. Provable notice and consent (sections 5, 6; rule 3)
Section 6(10) puts the burden of proof on you: in any proceeding you must show the notice was given and consent obtained. That means an append-only consent record keyed to user, purpose, notice version and language, with withdrawal events in the same store. AWS: DynamoDB with point-in-time recovery for the live record, mirrored to S3 with Object Lock in compliance mode for the immutable trail. Azure: Cosmos DB with continuous backup, mirrored to Blob Storage with a time-based immutability policy. GCP: Firestore or Spanner, mirrored to a Cloud Storage bucket with a locked retention policy. Done looks like: any user ID returns the exact notice text they saw, when, in which language, and every later withdrawal. Controls: LB-001, TR-001, DS-005.
2. Breach detection and two-track notification (section 8(6); rule 7)
Rule 7 is not a 72-hour rule. Affected Data Principals and the Board must be told without delay; the 72 hours (extendable on written request) is for the detailed Board report. Separately, the CERT-In directions of 28 April 2022 require reporting listed incidents, including data breaches and leaks, within 6 hours of noticing them. Detection has to be automated. AWS: GuardDuty, Security Hub and CloudTrail data events on personal-data buckets and tables, routed through EventBridge to the incident queue. Azure: Microsoft Defender for Cloud with Sentinel analytics rules on the personal-data workspaces. GCP: Security Command Center Premium with Event Threat Detection. Done looks like: a drill from alert to CERT-In email, Board intimation and user notice completed inside the clocks, with timestamps in the ticket. Controls: IR-001, IR-002.
3. Visibility of access to personal data, kept for one year (rule 6(1)(c) and (e))
Rule 6 requires logs, monitoring and review that let you detect and investigate unauthorised access, and retention of those logs and the personal data for one year. CERT-In separately requires 180 days of ICT logs held within India. AWS: enable CloudTrail data events for S3 and DynamoDB (off by default), set CloudWatch Logs retention to at least 365 days, write the trail to an Object-Locked bucket in ap-south-1 or ap-south-2. Azure: diagnostic settings on every data store to a Log Analytics workspace in Central India with retention of at least 365 days. GCP: turn on Data Access audit logs (disabled by default except BigQuery), route to a log bucket in asia-south1 with a 365-day locked retention. Control: SE-003.
4. Erasure with processor cascade, against a one-year floor (section 8(7); rule 8)
On withdrawal or when the purpose ends you must erase and cause processors to erase, unless law requires retention. Rule 8(3) then requires personal data, traffic data and processing logs to be kept for at least one year from processing for the Seventh Schedule purposes. The resolution is a retention schedule per data class: delete from live systems on request, keep the minimal processing record for a year, then purge. AWS: DynamoDB TTL, S3 lifecycle expiration, AWS Backup vault retention aligned to the schedule. Azure: Blob lifecycle management, Azure Backup retention, Purview to find stragglers. GCP: Cloud Storage lifecycle rules, BigQuery partition expiration, Sensitive Data Protection discovery scans. Done looks like: an erasure job that emits a certificate and collects processor confirmations within the SLA. Controls: DS-004, SC-005.
5. Encryption, masking and tokenisation (rule 6(1)(a))
Rule 6 names encryption, obfuscation, masking or virtual tokens as the minimum. AWS: KMS customer-managed keys, SSE-KMS as the bucket default, RDS and EBS encryption checked by AWS Config rules, tokenise identifiers at write time. Azure: Key Vault customer-managed keys, Always Encrypted or Dynamic Data Masking on Azure SQL. GCP: CMEK on Cloud Storage, BigQuery and Cloud SQL, policy tags with dynamic data masking in BigQuery. Control: SE-001.
6. Children's data and verifiable parental consent (section 9; rules 10 to 12)
Under-18s are children. You need verifiable parental consent before processing, and no tracking, behavioural monitoring or targeted advertising directed at children. Rule 10 accepts identity and age details you already hold, details the parent volunteers, or a virtual token from an authorised entity such as a Digital Locker provider. Engineering work: an age step at sign-up, a parent verification flow, and feature flags that disable analytics and ad SDKs for child accounts. Done looks like: a child account cannot emit a behavioural event. Controls: SC-008, SC-002.
7. Cross-border transfers and region strategy (section 16; rules 13(4) and 15)
The Act takes a blacklist approach: transfers are allowed except to countries the Central Government notifies, and rule 15 adds conditions the Government may set by order on making data available to a foreign State. No country had been restricted when this was written. SDFs may be told to keep specified data and its traffic data in India. Keep a transfer register and the ability to pin workloads to India regions: AWS ap-south-1 (Mumbai) and ap-south-2 (Hyderabad); Azure Central India, South India and West India; GCP asia-south1 (Mumbai) and asia-south2 (Delhi). Enforce with an SCP on aws:RequestedRegion, Azure Policy "Allowed locations", and the GCP org policy constraints/gcp.resourceLocations. Controls: IT-001, IT-002.