Privacy review, release checklist, and interview lab
Case study: women’s health app
- Inventory cycle dates, symptoms, notes, pregnancy intent, account, device identifiers, location, analytics, crash data, support, backups, and SDKs.
- Remove location/contacts; use local computation for predictions where possible.
- Separate essential sync from optional analytics/research purposes and defaults.
- Encrypt/protect local/server data according to threat model; server enforces object authorization.
- Typed telemetry contains operational buckets, never free-text notes or health fields.
- Disable SDK auto-initialization/collection until configuration and applicable choice.
- Set short raw retention, user controls, export/delete operations, processor propagation, and anti-resurrection rules.
- Review screenshots/Recents, notification content, clipboard, backup/restore, deep links, logs, support tools, and account switching.
- Data Safety/privacy disclosures are generated/reconciled from current inventory and actual SDK/runtime behavior.
- Release evidence includes access audits, traffic inspection, deletion/export drills, permission tests, and incident owner.
Release checklist
Data and purpose
- Every collected/derived field has owner, purpose, necessity, precision/frequency, destinations, retention, and user control.
- New use is reviewed rather than silently reusing old data.
- On-device/aggregate/lower-precision alternatives were evaluated.
Android behavior
- Permissions are minimal, contextual, revocable, and gracefully degradable.
- Sensor access duration and Privacy Dashboard history match UX.
- Shared URIs, clipboard, notifications, Recents/screenshots, widgets, and backups are reviewed.
- Account switch/logout/deletion clears every local representation.
SDKs and telemetry
- Merged manifest, dependencies, initializers, hosts, permissions, and runtime traffic were inspected.
- Consent/preferences reach every SDK before collection.
- Analytics/log/crash schemas allowlist safe fields and reject payload dumps.
- Identifier scope/reset/deletion/linkage is documented.
Operations and distribution
- Retention and deletion execute across stores/processors/backups with failure monitoring.
- Export/deletion are authenticated, idempotent, tested, and non-resurrecting.
- Privacy policy, prominent disclosures, Play Data Safety, and actual behavior agree.
- Incident response covers SDK leak, misconfiguration, unauthorized access, and user communication.
Interview questions
- Privacy versus security? Security protects confidentiality/integrity/availability; privacy governs appropriate collection/use/sharing/control. Strong encryption cannot justify unnecessary collection.
- Data minimization? Reduce collection, precision, frequency, recipients, and retention while preserving defined purpose.
- Permission versus consent? OS capability grant versus purpose-specific product/legal decision; neither automatically substitutes for the other.
- Why care about Privacy Dashboard? It exposes actual camera/mic/location access timing; unexpected access reveals lifetime/SDK defects.
- Is hashed email anonymous? Usually no; it remains stable/linkable and dictionary-testable.
- Which identifier should analytics use? Ideally none; otherwise the narrowest resettable purpose-scoped ID that answers the question.
- Who owns SDK collection? The app publisher remains responsible for integrated SDK behavior and declarations.
- Why can SDK consent be too late? automatic initializers/providers may transmit before the first Activity or choice.
- How prevent sensitive logs? typed allowlisted fields, centralized redaction, release configuration, payload tests, and controlled retention/access.
- What makes retention real? Executing deletion/aggregation across all representations with monitoring, retry, backup/restore policy, and evidence.
- How handle deletion with backups? Minimize backup lifetime/access and ensure restores reapply tombstones before serving/resyncing data.
- How avoid deletion resurrection? invalidate sessions, wipe devices, reject delayed/offline events using deletion version/tombstone, and propagate to processors.
Failure-injection exercises
- SDK begins collecting before consent after a dependency upgrade.
- Deletion succeeds in primary DB but fails in object storage and analytics.
- Six-month-old backup restores a deleted account.
- Offline phone uploads old health records after server deletion.
- Crash reporter captures an exception whose message contains an access token and symptom note.
- User revokes microphone while recording service remains active.
For each, define prevention, detection, containment, recovery, audit evidence, and user impact.