Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions pages/content/posts/privacy-by-design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
author: "Estelle Weyl"
title: "Privacy by design"
date: "2026-07-15"
description: "Design for privacy"
tags: ["projects"]
ShowToc: false
ShowBreadCrumbs: false
excerpt: "Privacy by design in web development means building privacy protections into a website or web application from the very beginning, rather than adding them later. It’s a proactive, architectural approach: privacy becomes a core design requirement, just like performance or security."
---

Privacy by design in web development means building privacy protections into a website or web application from the very beginning, rather than adding them later. It’s a proactive, architectural approach: privacy becomes a core design requirement, just like [performance](https://developer.mozilla.org/en-US/docs/Web/Performance) or [security](https://developer.mozilla.org/en-US/docs/Web/Security).

Designing with privacy in mind means designing systems so that the collection, use, and exposure of personal data are minimized by default, and users retain meaningful control over their information.

Required by laws like [GDPR](https://developer.mozilla.org/en-US/docs/Web/Privacy/GDPR) and [CCPA](https://developer.mozilla.org/en-US/docs/Web/Privacy/CCPA), privacy by design reduces breach risk, builds user trust, and avoids costly redesigns later
When developing, it is important to be proactive instead of reactive. Anticipating and then mitigating privacy issues during the planning, UX design, and architecture phases, prevent issues from arising and needing to be fixed after launch.

## Principles

- Be proactive, not reactive
- : Build privacy into your website or application from the very start.

- Privacy as the default setting
- : Your website or application should only collect the minimum data needed. All optional tracking (analytics, cookies, personalization) should be [opt‑in]().

- Privacy embedded into design
- : Privacy is not a feature to be toggled on and off. Privacy is part of your system’s structure. Data flows, APIs, storage, and UI should all reflect privacy constraints.

- Full functionality without trade‑offs
- : Aim for solutions that provide both usability and privacy, for example, instead of removing analytics entirely consider whether it is possible to fully anonymize data collection.

- End‑to‑end security
- : Data must be [protected](https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Secure_Contexts) throughout its lifecycle. Use [HTTPS]() to encrypt data during transit. Store user data in encrypted format. Securely delete data, mangle the encrypted data before removal to ensure data is not retrievable.

- Visibility and transparency
- : [Privacy policies]() should be readable and understandable. [Consent flows]() should be transparent. Users should clearly understand what data you collect, why you collect it, how long you keep it, and who you share it with.

- Respect user privacy
- : Give users meaningful control. Privacy settings should be easy-to-find, user exportable, and deletable. Consent withdrawal should be easy to find and clear.


## Practical steps for developers

- Data minimization
- : Only request essential information from users, including only the fields required in your site forms. For example, all you need for a newsletter is a user's email address. Don't request their name, much less their title, gender, or age.

- Access control & audit trails
- : Restrict who can access user data. Log all access events.

- Anonymize & mask
- : Mask sensitive data in logs and analytics.

- Privacy‑friendly defaults
- : Disable tracking scripts until consent is proactively given.

- Secure development lifecycle
- : Include privacy checks in code reviews, CI pipelines, and [threat modeling](https://developer.mozilla.org/en-US/docs/Web/Security/Threat_modeling).