Brussels launched an age checking app. Hackers took 2 minutes to break it
Status and purpose of the app
- Several commenters stress the app has not “launched”; what’s public is a reference / demo implementation and code under the EU Digital Identity Wallet / eIDAS framework.
- Goal: allow users to prove they are over a threshold age without revealing identity, ideally via zero‑knowledge proofs (ZKPs), reducing the need to upload IDs to each site.
Reported “hack” and code issues
- The widely cited “2‑minute hack” involves:
- Selfie images written to local storage and not deleted.
- PIN data in shared preferences that could be altered if an attacker has root access.
- Some see this as a serious basic‑hygiene failure, especially after prior high‑profile selfie/ID leaks.
- Others argue it’s overblown: data stays on-device, root is required, and this is exactly what pre‑launch open‑source review is for.
Zero-knowledge proofs and architecture
- The technical spec references ZKPs and anonymous credentials, but several people question how true anonymity coexists with:
- Revocation and rate‑limiting to prevent mass proxying.
- Reliance on Apple/Google attestation and external issuers.
- Debate over whether the scheme can prevent large‑scale credential sharing without re‑identification or timing side channels; consensus: strong privacy is possible in theory, but details and mandatory ZKP use are “unclear”.
Effectiveness, collusion, and device sharing
- Many note no system can stop adult–minor collusion; design goal is to block direct minor access, not every proxy scenario.
- Phone sharing with children is common; critics say that makes app-based checks weak, supporters respond that phones can be protected with PIN/biometrics and that parents must still parent.
Privacy, surveillance, and centralization concerns
- Strong current of skepticism: “age verification” is seen by some as a gateway to broader identity verification and surveillance, justified by child protection.
- Others argue the ZKP/double‑blind design is specifically meant to avoid central tracking, and that this is better than today’s ad‑hoc ID uploads.
Alternatives and design suggestions
- Proposals include:
- Smart ID cards or wallets that answer “is this user allowed X?” without disclosing age.
- Bank‑mediated age checks (e.g., Dutch iDIN‑style flow), though that leaks browsing metadata to banks.
- OS/browser‑level age or rating enforcement instead of central infrastructure.
EU process and communication
- Some praise the EU for open‑sourcing and inviting attacks; others see political overstatement (“it’s ready”) clashing with demo‑quality code, creating a PR problem.
- Side debate over using “Brussels” as shorthand for EU institutions and how that shapes public perception.