Senior software engineer and tech lead building security and privacy infrastructure for distributed systems. My recent posts focus on system design, privacy engineering, and data deletion.
Selected Articles
Why deletion means different things in different systems
A deletion request may succeed in every system yet produce different outcomes across databases, data warehouses, search indexes, and event streams. Effective deletion begins with defining what "delete" means in each system.
Gaps in data deletion verification and auditability
Most deletion programs can prove a request was processed. Far fewer can prove that personal data was actually removed everywhere it existed and remained absent over time.
Deleted and back again: mitigating unintended data resurrection
A persistent challenge in complex data architectures is keeping data that is subject to deletion from continuing to resurface, as systems re-ingest and propagate data even after executing a deletion request.
Model a deletion graph, but don't execute it
Modeling deletion as a dependency graph sounds good in theory. In practice, enforcing that ordering quickly becomes a nightmare, but mapping the graph is still useful: it reveals fundamental problems and helps prioritize next steps for your deletion program.
Using AWS Organizations to standardize security controls across AWS accounts
AWS Organizations provide a helpful, zero-cost way to centralize management of AWS accounts, with support for consolidating billing, role-based permission sets, service and resource control policies, and AWS service configurations.
Process for designing distributed systems
A step-by-step framework for designing distributed systems, from validating the problem and gathering requirements to defining APIs, data flows, architecture, and technology choices that scale with future needs.