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.
- Study page and consent (in a real study this page comes from Next)
- Select the ZIP; a Python script runs in your browser and extracts the messages
- Review table: search it, delete rows, then choose to share or not
- End page, followed by the payload the server would have received
DDM (Data Donation Module)
By the University of Zurich. One application: consent, upload, questionnaire, researcher interface.
- Briefing page with a consent question
- Select the ZIP; DDM's configured rules extract the messages in your browser
- Review, grouped by conversation: search, and remove whole conversations
- Short questionnaire, which can quote the donation (here: the number of messages)
- 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.
What is different from a real study
| This demo | A real deployment | |
|---|---|---|
| Clicking "donate" / "share" | The data is kept in this tab and shown on the last page, with a download button | The remaining rows are sent to the study's server (Port: to Next; DDM: stored encrypted in its database) |
| Researcher side | DDM: 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 ID | Add ?pid=ABC123 to the Port or DDM address to see it passed through | Passed from the survey or panel link in the same way |
| Texts | Placeholders | Consent, 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/.