Skip to content
Rights & Requests calendar_today Updated: 11 April 2026 schedule 5 min read

Right to Data Portability: What You Need to Provide

A customer wants their data in a format they can take to another provider. This is a data portability request. This article explains what data to include, what format to use, and how to handle it step by step.

summarize Key Takeaways
  • check_circle Data portability only applies to data the person provided to you, not data you derived or inferred
  • check_circle You must provide data in a structured, commonly used, machine-readable format like CSV or JSON
  • check_circle Only data processed on the basis of consent or contract is covered
  • check_circle You have one month to respond, same as other data subject rights

Recognising a data portability request

A data portability request is when someone says: “Give me my data so I can take it to another provider.” It is different from a regular access request. The goal is not just to see the data, but to reuse it elsewhere.

The request does not need to use the words “data portability.” If a customer writes “I want to export my data” or “send my data to [other company]”, that counts as a portability request.

Step 1: Register the request

As with any data subject request, log it immediately:

  • Who is making the request
  • When you received it (the one-month deadline starts now)
  • Through which channel it came in
  • What exactly is being asked - do they want the data themselves, or do they want you to send it directly to another controller?
description

Template: Request Register

Keep track of every request in a register: who, when, what was asked, and how it was handled.

View the template arrow_forward

Step 2: Check whether portability applies

This is where portability gets specific. It only applies when all three conditions are met:

  1. The data was provided by the data subject. This includes data they actively gave you (name, email, uploaded files) and data generated by their activity (purchase history, usage logs, location data). It does not include data you created yourself, such as internal notes, risk assessments, or analysis.

  2. Processing is based on consent or contract. If you process the data on the basis of legitimate interest, legal obligation, or public interest, portability does not apply to that data.

  3. Processing is carried out by automated means. Paper-only files are excluded, but in practice almost all processing today is automated.

If these conditions are not met, you do not need to comply with a portability request. You may still need to handle it as a regular access request instead.

Step 3: Determine what to include and exclude

This is where most businesses get confused. Use this table as a guide:

Data typeInclude in portability?Why?
Name, email, address provided by the customerYesProvided by the data subject
Purchase history, order dataYesGenerated by the data subject’s activity
Uploaded photos or documentsYesProvided by the data subject
Usage logs, click behaviourYesObserved data from their activity
Your internal notes about the customerNoCreated by you, not provided by them
Credit score or risk profile you calculatedNoDerived/inferred data
Data processed under legitimate interest onlyNoWrong legal basis for portability
Employee data processed for legal obligationsNoWrong legal basis for portability

When in doubt, ask yourself: did this data come from the person, or did we create it? If you created it, it stays out of the portability response.

Step 4: Prepare the data in the right format

The format is what sets portability apart from an access request. The GDPR requires the data to be:

  • Structured - organised in a logical way, not a raw database dump
  • Commonly used - a format that other businesses and software can handle
  • Machine-readable - software can process it automatically

Acceptable formats:

  • CSV (simplest and most widely supported)
  • JSON (good for structured, nested data)
  • XML (more verbose, but acceptable)

Not acceptable:

  • PDF (not machine-readable)
  • Scanned documents
  • Screenshots

For most small and medium businesses, a CSV file is the best choice. It can be opened in Excel, imported into other systems, and is easy to generate.

Step 5: Check for direct transfer requests

The data subject may ask you to send the data directly to another controller - for example, a competitor. Under Article 20(2), you must do this where technically feasible.

In practice, “technically feasible” means:

  • There is a standard API or data exchange protocol available
  • The receiving controller has a system that can accept the transfer

If no standard interface exists, you are not required to build one. Inform the data subject that direct transfer is not technically feasible and provide the data to them directly instead.

Step 6: Send the response

  • Deadline - within one month of receiving the request
  • Extension - for complex requests, you may extend by two months, but inform the requester within the first month
  • Cost - providing the data is free
  • Secure delivery - use a secure channel, especially if the data contains sensitive information

Portability vs. access request - key differences

Access request (Art. 15)Portability request (Art. 20)
ScopeAll personal data you holdOnly data provided by the data subject
Legal basisApplies regardless of legal basisOnly consent or contract
FormatAny readable format (PDF is fine)Must be machine-readable (CSV, JSON)
Direct transferNot applicableYes, if technically feasible
Derived dataMust includeMust not include

If you receive a portability request, check whether the person might also want a broader access request. Sometimes customers use the wrong term but actually want to see everything you hold about them.

Common pitfalls

  • Providing a PDF - this does not meet the machine-readable requirement for portability
  • Including too much - adding your internal notes or analysis to a portability response goes beyond what is required
  • Including too little - forgetting usage data or transaction history that the person generated through their activity
  • Confusing legal bases - check per data category whether processing is based on consent or contract before excluding data
auto_awesome Be prepared for requests

GDPRWise generates response templates and helps you keep a register of all received requests.

GW
GDPRWise Editorial

This article was written by the GDPRWise team and reviewed by our privacy experts. We regularly review our content for accuracy and legal correctness.