Skip to content

Exporting a workspace

An export is one archive of your workspace. It holds the code, static files and private files of every Function, the schedules, your environment variables without their secret values, and the records we keep about the workspace. Only the workspace owner can ask for one.

In the dashboard, open Settings and choose Export workspace. The dashboard asks you to confirm first, since building the archive takes a while and makes one large file. From a terminal:

wawesome export

The archive is built in the background, because a large workspace takes a while. The dashboard and the CLI both show how far it got: waiting, being built, or ready. You can leave the page and come back. Asking again while one is being built shows you that one, and does not start a second.

If building it fails, it is tried again on its own. The page says when the last attempt failed, so you know it is not stuck.

An agent connected through MCP cannot start an export. It can read the latest one with get_export, but only when you are signed in as the owner. A deploy credential can never export a workspace, whatever it carries. If one could, a leaked credential would hand over everything in the workspace.

When the archive is ready you get a download link. The link works for one hour, and the page says when it stops. Open the page again, or run wawesome export status, for a new link.

The archive itself is deleted seven days after it was built, and the page says on which day. After that, ask for a new export.

For each App:

  • app.json: the App, and the custom domains attached to it.
  • environment.json: every environment variable, whether it is secret, and when it last changed.
  • For each Function, the live version: its code, its static files and pages, and its schedules. Its private files sit in a folder of their own, private/, apart from the static files in files/.

For each open draft, a folder of its own under drafts/<app>/<function>/<draft>/, apart from the live files:

  • draft.json: its name, who owns it, the version it started from, its revision, and the paths it added, changed and deleted. The files it did not touch are listed by path and hash, not copied.
  • The files it added or changed, in files/, private/ and code/.

A workspace with no open drafts has no drafts/ folder.

And for the workspace:

  • The workspace, its members and their roles.
  • Your own account, and the terms you accepted.
  • Your own conversations with the assistant in this workspace, one file each under assistant/conversations/. Each reads in time order: your messages, its replies, each tool it called and whether that worked, and each change it asked you to approve with what you decided.
  • The plans the workspace has had, with their identifiers at the payment provider.
  • One line per invocation from the last 35 days. Log bodies are not included.

A variable marked secret is listed by name, with when it last changed. Its value is not in the archive. If a secret mattered, rotate it: make a new value where it came from, and set that value wherever you run the code next. A variable that is not secret has its value in the archive.

  • Older versions. Only the version each Function is serving is included.
  • Compiled output. It is rebuilt from the code.
  • Other members’ conversations with the assistant. They are private to each member, so the archive does not say whether they had any.
  • Your domains. They are named in app.json, and each one stays registered wherever you registered it.

A restriction on your workspace, or a legal hold on it, does not stop an export. An export does not count against your storage allowance.

An export is your data in a form you can take somewhere else. It is not a full answer to a request to see the personal data we hold about you. For that, write to privacy@wawesome.io.