Static demo of the participant side. Nothing you select or type on these pages is sent anywhere; it stays in this browser tab.

ChatGPT data donation: two participant flows

These pages show what a participant would see in two open-source data donation tools, Port and DDM, each set up to read ChatGPT exports. Study texts are placeholders written as [things to be filled: ...]. Everything runs in your browser.

1. Download a test file

A synthetic ChatGPT export with made-up conversations (no real data): synthetic_chatgpt_export_sharded.zip (the newer layout, conversations-000.json) or synthetic_chatgpt_export_legacy.zip (the older layout, conversations.json). Keep it zipped.

A real export from ChatGPT (Settings → Data controls → Export data) also works. It is read inside this browser tab and is not uploaded.

2. Try each flow

Port

By the D3I project and Eyra (Netherlands). In a study it runs inside Eyra's Next platform.

  1. Study page and consent (in a real study this page comes from Next)
  2. Select the ZIP; a Python script runs in your browser and extracts the messages
  3. Review table: search it, delete rows, then choose to share or not
  4. End page, followed by the payload the server would have received
Open the Port demo

DDM (Data Donation Module)

By the University of Zurich. One application: consent, upload, questionnaire, researcher interface.

  1. Briefing page with a consent question
  2. Select the ZIP; DDM's configured rules extract the messages in your browser
  3. Review, grouped by conversation: search, and remove whole conversations
  4. Short questionnaire, which can quote the donation (here: the number of messages)
  5. End page, followed by the payload the server would have received

Researcher side: DDM's own researcher interface for this project, as a read-only snapshot with two synthetic participants. Settings, extraction rules and questionnaire can be opened but not saved; the two Data Center downloads work. "DDM back end" shows what DDM stores (encrypted) and what a researcher downloads, in the interface and through its API.

Open the DDM demo DDM researcher side DDM back end

What is different from a real study

This demoA real deployment
Clicking "donate" / "share"The data is kept in this tab and shown on the last page, with a download buttonThe remaining rows are sent to the study's server (Port: to Next; DDM: stored encrypted in its database)
Researcher sideDDM: a read-only snapshot of its researcher interface, and a page with what its database stores and what researchers download. Port: not included (it comes from Eyra's Next platform)Login, study set-up, data download, link to the survey through the participant ID
Participant IDAdd ?pid=ABC123 to the Port or DDM address to see it passed throughPassed from the survey or panel link in the same way
TextsPlaceholdersConsent, instructions and debriefing approved by the IRB

Versions and sources

Port: d3i-infra/data-donation-task at commit f75c41a (AGPL-3.0), with one change so that exports whose file is named conversations.json are read. DDM: django-ddm 3.0.0b4 (GPL-3.0), with one fix in the uploader's review step. Licenses, the upstream sources and both changes are listed in licenses/.