Only data necessary for the stated purpose is collected; no excessive fields
Why it matters
GDPR Art. 5(1)(c) and Art. 25 (privacy by design) require that only data strictly necessary for the stated purpose is collected. Collecting a phone number on a SaaS tool with no SMS or calling feature, or a date of birth on a product with no age gate, is not a grey area — it is excess collection with no lawful purpose. This creates real risk: every field you collect is a field that can be breached, subpoenaed, or scraped. Excess collection also signals to regulators that data minimization was never considered, which compounds penalties for other violations. AI-built apps are particularly prone to schema bloat because code generators default to comprehensive field lists rather than minimal ones.
Severity rationale
Critical because collecting personal data with no active purpose violates GDPR Art. 5(1)(c) directly, and unnecessary fields expand the breach surface with no compensating benefit to users.
Remediation
Audit every form and database schema column together. For each personal data field, ask: which specific feature breaks if this field is removed? If nothing breaks, remove it from both the form and the schema.
// BEFORE — over-collection at signup
type SignupForm = {
email: string // needed
password: string // needed
phone: string // not used anywhere — remove
birthdate: string // no age gate — remove
gender: string // no personalization — remove
}
// AFTER — minimal compliant collection
type SignupForm = {
email: string
password: string
displayName?: string // optional; only if shown in UI
}
For the database, run SELECT column_name FROM information_schema.columns WHERE table_name = 'users' and cross-reference against actual application queries. Drop columns that are never read. Delay collection of additional fields until the feature that requires them actually ships.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the GDPR Readiness Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- gdpr · Art. 5(1)(c) — Data minimisation principle
- gdpr · Art. 25 — Data protection by design and by default
- iso-27001:2022 · A.5.34 — Privacy and protection of PII
Taxons
History
- 2026-04-18·v1.0.0·Initial import from gdpr-readiness·automated