App protection

GDPR privacy by design for mobile apps, whoever codes them

What GDPR Article 25 means for a mobile app built in-house or by a supplier: who is responsible, which decisions it touches and what evidence to keep.

GDPR privacy by design applies to a mobile app whenever the service behind it processes personal data within the regulation’s scope, and it applies whoever wrote the code. Article 25 places the duty on the controller: the organisation that decides why and how the data is processed. Hiring an agency or buying a white-label app does not move that duty. In practice, it means each data flow in the app has a purpose, a protective default and evidence that the release behaves as designed. This article gives an engineering view of that work; your legal reviewer decides scope, roles and lawful basis.

Who is responsible when someone else writes the code

GDPR is about processing, not programming. The question is not who typed the code, but who decides what personal data the app collects and why. That organisation is the controller, and Article 25 applies to it “both at the time of the determination of the means for processing and at the time of the processing itself”.

Recital 78 speaks to app makers directly. It says producers of products, services and applications should be encouraged to take data protection into account when developing and designing them, so that controllers and processors can meet their obligations. The supplier is encouraged; the controller is obliged.

Article 28 adds a second link. Where a supplier processes personal data on the controller’s behalf, for example by running the app’s backend or support tools, the controller may use only processors that give sufficient assurance that they will implement appropriate technical and organisational measures. An agency that only builds the app and never touches live data may not be a processor at all. Ask your legal reviewer to decide each role from the actual relationship.

Key dates for Article 25
  1. 27 April 2016

    GDPR adopted

    Regulation (EU) 2016/679, including Article 25 on data protection by design and by default.

  2. 25 May 2018

    GDPR applies

    The obligations take effect for controllers and processors.

  3. 20 October 2020

    EDPB guidelines finalised

    Final version of Guidelines 4/2019 on Article 25, with practical examples.

Article 25

Data protection by design and by default: the controller's duty

Regulation (EU) 2016/679

4 areas

By default: amount collected, extent of processing, storage period, accessibility

GDPR Article 25(2)

€10 million

Fine ceiling for Article 25 infringements, or 2 per cent of worldwide annual turnover for an undertaking if higher

GDPR Article 83(4)

What by design and by default mean in an app

Article 25(1) asks for appropriate technical and organisational measures, such as pseudonymisation, that implement the data-protection principles effectively. The measures must take account of the state of the art, the cost of implementation and the risks of the processing. Article 25(2) is narrower and more testable: by default, only the personal data necessary for each specific purpose is processed.

That default covers four things, and each maps to a decision your mobile team already makes.

Article 25(2) areaMobile decisionEvidence to keep
Amount collectedWhich fields, permissions and SDK data a fresh install gathersData inventory and a first-launch network capture
Extent of processingWhat the backend, analytics and SDKs do with each fieldPurpose record per field and per recipient
Storage periodHow long device caches, logs and server copies lastRetention settings and deletion tests
AccessibilityWho inside and outside the organisation can see the dataAccess rules and processor arrangements

The principles behind it sit in Article 5: purpose limitation, data minimisation, storage limitation, and integrity and confidentiality. The lawful basis for each purpose is a separate question under Article 6. A permission prompt is an operating-system access decision, not a lawful basis.

A feature statement

  • The connection uses encryption.
  • The app has runtime protection.
  • There is a privacy setting.

A reviewable control statement

  • This flow sends only the approved fields to the approved recipient.
  • This threat test produced the expected response on this release.
  • A fresh install and a later change both apply the documented choice.
A feature describes the product. A control statement names a boundary and a way to verify it.

Building evidence another reviewer can repeat

An evidence record links a requirement, an implementation and a test. Give each record an owner, the app build, the OS and framework versions, and the date. A screenshot of a setting does not show what the app transmitted.

  1. Define the purpose

    Record why the data is needed; legal review confirms the basis.

  2. Set the default

    Fix collection, recipients, retention and access before building.

  3. Test the release

    Compare observed behaviour with the design on Android and on iOS.

  4. Review on change

    Re-run when an SDK, permission or purpose changes.

One evidence chain per processing purpose. Repeat it for each flow that handles personal data.

Take an optional analytics flow as an example. Install the release build on a clean test device. Complete the core journey with the option off and capture the traffic. Turn the option on, repeat, and compare the fields and recipients with the inventory. Turn it off again, restart, and check that queued events are not sent under the old choice. Run the same steps on Android and on iOS, because a shared interface does not mean shared storage, permissions or background behaviour.

For the hands-on side of this work, tracing one data item through the app and testing changed choices, see better mobile privacy.

Where security controls fit

Article 32 requires security appropriate to the risk and a process for regularly testing and evaluating the effectiveness of the measures. App security belongs there. A modified app, a hooked process or intercepted traffic can expose exactly the data your Article 25 defaults were meant to limit.

Otukan Application Security provides code, runtime, data, network and API protection controls. Its signals describe the check that fired, not the content of user messages, contacts, files, keystrokes or form input, so the protection itself stays inside a minimal data design. For the control view, see data loss prevention.

Make the supplier handover testable

Whether the app is built in-house or outside, ask for evidence the receiving team can re-run, not a feature list.

  • Legal scope and the controller and processor roles have a named reviewer.
  • Each personal-data field has a purpose and necessity record.
  • Defaults cover collection, processing, storage and access.
  • Android and iOS tests name the release and OS versions they cover.
  • Changed choices and interrupted transmissions have been tested.
  • Security telemetry is listed in the data inventory.
  • Technical findings and legal conclusions are recorded separately.

Further reading

Common questions

  • Is an app development agency a processor under GDPR?

    Not necessarily. Article 28 applies where a supplier processes personal data on the controller's behalf, for example by running the app's backend or support tools. An agency that only builds the app and never touches live data may not be a processor at all. Your legal reviewer should decide each role from the actual relationship.

  • Which app decisions does Article 25(2) touch?

    Four areas: the amount of data collected, the extent of processing, the storage period and accessibility. In a mobile app these map to the fields, permissions and SDK data a fresh install gathers, what the backend and SDKs do with each field, how long caches and copies last, and who can see the data.

  • Is a permission prompt a lawful basis for processing?

    No. A permission prompt is an operating-system access decision, not a lawful basis. The lawful basis for each purpose is a separate question under Article 6. This article gives an engineering view of privacy by design; your legal reviewer decides scope, roles and lawful basis.

  • Does Otukan make our app GDPR compliant?

    No. A security control supports a specific technical conclusion about a named flow and release. It does not certify the app, settle the lawful basis or transfer the controller's responsibility to a supplier. Otukan Application Security provides code, runtime, data, network and API protection controls, which belong under Article 32's security requirement.

  • What do Otukan's security signals contain?

    They describe the check that fired. They do not carry the content of user messages, contacts, files, keystrokes or form input, so the protection itself stays inside a minimal data design. Security telemetry should still be listed in your data inventory, as the supplier handover checklist on this page asks.

Keep reading

Build an evidence-led control review

Tell us your platforms, framework and the data-protection control you need to evaluate. We never request binaries, credentials or production personal data.

Or request a technical demo