Skip to main content

Storage & Asset Ownership

It's worth being precise about a boundary that surprises people: Circus does not store the artifacts your workflows produce, and it never cleans them up. If your pipeline generates an audio file, a video, or an image, that asset lives wherever your workflow put it — S3, Google Cloud Storage, anywhere — and its entire lifecycle is your responsibility, not the platform's.

What the platform actually does with a result

When a workflow finishes, it calls the platform's /complete endpoint with a result_payload. The platform does not interpret or store that payload itself. Instead it hands the payload to the plugin's result handler and, if the handler succeeds, transitions the workspace to its next status. The platform's job at completion is exactly two things: deliver what the workflow sent to the plugin, and advance the workspace state once the plugin has done its work.

What the plugin does with the payload is entirely up to the plugin developer. The default plugin, for example, stores a reference — a URL or a string — in its own table. But that's a plugin's choice, not platform behaviour, and the bytes of the actual asset were produced and stored by the workflow (n8n), never by Circus.

No automated cleanup

There is no storage cleanup anywhere in the platform, on any backend:

  • Deleting a Thing, or soft-deleting a workspace, removes nothing from your object storage. Database state and stored files are entirely separate concerns.
  • The platform holds no storage credentials for cleanup and runs no background job that prunes assets.

This is by design — it keeps Circus storage-agnostic and prevents it from ever deleting something you needed.

What this means for you

Treat asset storage as your operational surface:

  • Provision and secure the buckets your workflows write to. These are configured on the n8n side (see n8n.env), not in Circus.
  • Own the retention and cleanup policy — lifecycle rules, expiry, archival — at the storage provider.
  • Don't expect database deletions in Circus to reclaim storage. If you need assets removed, remove them where they live.

The platform tells you what a run produced and what it cost. Where the resulting files live, and how long they live, is yours to manage.