Data Portability Is a Product Feature

Exports, stable schemas, and predictable versions are how you avoid lock-in without sacrificing usability.

Portability is easy to promise and hard to ship.

It’s not a single “Export” button. It’s a set of practices that show up everywhere:

  • stable identifiers
  • explicit schemas
  • predictable versioning
  • the ability to reconstruct the work later

Exports should be boring

The best export formats are boring:

  • CSV for tabular data
  • JSON for structured data
  • PDF for human-readable snapshots

The point is not novelty. It’s that the output can be read and used without reverse-engineering the tool that created it.

Contracts make portability possible

If an API is undocumented, you don’t have a contract. If it has a contract but the contract changes silently, you don’t have stability.

That’s why we lean on OpenAPI and MCP snapshots. If the schema changes, we can detect it, cache it, and update consumers in a controlled way.

The promise

Our promise is simple:

  • Your data is yours.
  • You should be able to export it in useful forms.
  • You should be able to understand it later.

If we ever break that promise, it should be visible, explicit, and fixable.