Duet Machines
Settings · Retention and deletion

Settings

Retention and deletion

How long production conversations are kept, how to delete one end user's data on request, and how to delete the workspace.

#Retention

A production conversation is deleted 90 days after its last turn by default. Owners and admins choose from 7 to 365 days in Settings > Data and privacy (PUT /api/workspace/retention {"days": n}); the expiry job applies it on its next pass, to conversations already stored too, and the change is in the audit log. Deleting a conversation deletes what came of it, as for an end user below.

#Delete a user's data

For a GDPR or CCPA request, owners and admins delete every production conversation whose user_id is exactly the given id, in every environment and agent of the workspace, in Settings > Data and privacy or with POST /api/workspace/user-deletions {"user_id": "..."} (an admin's API key works). It answers a receipt with a count per kind of object, and repeating it deletes nothing more and answers zeros.

Deleted
The conversations, their config snapshots no other conversation uses, the issue occurrences proven in them, comments, signal results, post-deploy checks, dataset items, translations, expert reviews, grades, dataset builds holding an example from them (with their trainings), and migration reports quoting an expert critique of them.
Issues
An issue whose every occurrence was theirs is deleted with its events, reproductions and test. An issue that also occurred elsewhere stays, headed by its earliest other occurrence, with its review, assignee and lifecycle; its counts drop by theirs.
Tests
A test built from their conversation stays when its issue does (a reproduced issue also has its simulated replays). Its scenario holds no value of theirs: every name and identifier was replaced with a synthetic value, and Duet Machines refuses a scenario that still holds one. What it keeps is the situation, paraphrased, and the recorded tool results with those values replaced; its title becomes the issue's new head's.
Audit
The audit log records who asked, when and the receipt, naming the user only as the SHA-256 of their id (search the log for sha256: and the hash of the id to prove a request).

Not covered: exclusion rules naming the id (workspace settings you wrote), fix reports whose causes were written while reading their conversations, and models already fine-tuned on Together from a deleted build. While a dataset build runs, the request answers 409 dataset_build_running; retry when it ends.

#Delete the workspace

Owners delete the workspace in Settings > General by typing its name (DELETE /api/workspace {"confirm": "<name>"}, signed in only): 403 owner_required for anyone else, 422 confirmation_mismatch for a mistyped name, 409 jobs_running while a job runs. Everything in it is deleted at once, including the audit log and every member's account; sessions and API keys stop working. It cannot be undone.

Duet Machines keeps one record outside the workspace: its id, when it was deleted, the owner who deleted it (id and email) and the counts deleted. No name, conversation or member list is kept.