# Portability and pricing commitments (/trust/portability)



Two promises, both of which cost us something. That is what makes them worth writing down.

## You can take everything, at any time [#you-can-take-everything-at-any-time]

Not "contact your account manager". Not a CSV of contacts and nothing else. The whole
account, on demand, from the dashboard.

### What is in the export [#what-is-in-the-export]

| Included                                                                               | Not included                                                                                 |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| Your account profile                                                                   | Your password (we never hold a reversible copy)                                              |
| Every project you own                                                                  | API key secrets and webhook signing secrets — the metadata is there, the credentials are not |
| Contacts, with their custom fields and subscription state                              | Other people's projects that you are a member of but do not own                              |
| Lists, segments, templates and campaigns                                               |                                                                                              |
| Suppressions — the bounce and complaint record that keeps you out of trouble elsewhere |                                                                                              |
| Events                                                                                 |                                                                                              |
| Sending domains, API key metadata and webhook configuration                            |                                                                                              |

Credentials are left out on purpose: the export is a file you download over the network,
and a live signing secret in it would be a worse risk to you than the inconvenience of
re-issuing one.

### How to get it [#how-to-get-it]

**Settings → Data**, "Export account data". It runs in the background — an account with
millions of contacts is not something a web request can produce — and the page shows you
when it is ready.

Or over the API, signed in:

```http
POST /api/users/me/exports     # start one
GET  /api/users/me/exports     # status and history
GET  /api/users/me/exports/{id}/download
```

One export per hour per account.

### The format [#the-format]

A single gzipped [NDJSON](https://github.com/ndjson/ndjson-spec) file: one JSON object per
line, readable with standard tools and streamable without loading it into memory.

```sh
gzip -dc sendly-export-*.ndjson.gz | head -1        # the manifest
gzip -dc sendly-export-*.ndjson.gz | jq -c 'select(.dataset == "contacts") | .data'
```

The first line is a manifest naming every dataset in the file, so you can tell a complete
archive from a truncated one.

### How long the link lasts [#how-long-the-link-lasts]

The download works for **72 hours**, then the archive is deleted from our storage. The link
is not a public URL — it only works while you are signed in as the account that requested
it, so forwarding it to someone does not give them your contact list. Request another one
whenever you like.

### While a project is stopped [#while-a-project-is-stopped]

Export still works. A disabled project stays fully readable precisely so that this remains
true — see [appeals](/appeals).

### Deleting instead [#deleting-instead]

**Settings → Data**, "Delete account", and confirm by typing your email address. This
removes your account and the projects you own. It is not reversible, so export first if you
want a copy.

## You will not be surprised by a price change [#you-will-not-be-surprised-by-a-price-change]

* **30 days' notice, by email, before any price increase takes effect.** Not a changelog
  entry, not a banner you might not see.
* **Your current price holds through the end of the billing period you are in** when the
  change lands.
* **No mid-term repricing.** A price you signed up at is not adjusted retroactively.
* **If a change does not work for you, leave with everything.** The export above is the
  same one you would use on any other day, it does not require an active subscription, and
  we will not slow it down or hold data back while a subscription is winding down.

Details of what you pay are on the [billing](/concepts/billing) page. This page is about
what happens when that changes.

## No lock-in, concretely [#no-lock-in-concretely]

Lock-in is usually not a policy — it is a set of small frictions. Ours, and where they are
not:

* **Your data leaves in an open format.** NDJSON, documented above, no proprietary
  container.
* **Your integration is not proprietary either.** The API is a published OpenAPI document
  and the SDKs are open source. Migrating away is rewriting a client, not reverse
  engineering one.
* **Your suppression list comes with you.** It is the piece most platforms quietly keep,
  and the piece that protects your sender reputation somewhere else.
* **No exit fee, no notice period to cancel, no minimum term.**

## Related [#related]

* [Sending standards](/security) — the limits, and what happens at each one.
* [Appeals](/appeals) — if a project has been stopped.
* [Billing](/concepts/billing) — what you pay and how it is measured.
