All postsEngineering

The connector count is a vanity metric

Every backup vendor advertises how many integrations they have. It is the wrong number, and the moment you need the one they do not support, it is worth exactly nothing.

saved.sh

Open any backup vendor's homepage and you will find a number. Thirty integrations. Fifty. Two hundred. It is on the page because it is easy to count and it looks like progress.

It is a bad number, for a reason that only becomes obvious on the day it matters: a connector list is a list of things somebody else decided were important.

The arithmetic nobody does

A vendor with fifty connectors has covered fifty things. Your infrastructure contains some number of things that need backing up, and the interesting question is not how many of them are on the list. It is what happens to the ones that are not.

50

Connectors a competitor advertises

1

Systems you run that are not on their list

0%

Of the problem their number solved

That last column is the whole argument. If the thing you most need to keep is not on the list, a longer list has not helped you. It has told you that the vendor built for somebody else.

What we do instead

There are two ways to get bytes into a backup system. One is a connector we wrote. The other is a command you wrote. Both land as the same artifact, under the same encryption, with the same retention.

PostgreSQLHTTP endpointFileFolderanything you pipea script, a dump, a tarballOne artifactencrypted, sealed, verifiedrestorable without uswhichever route it took
The catalog bounds what we read for you. It does not bound what you can keep.
# a connector we shipped
saved backup create prod-db --kind local --source postgres

# something we have never heard of
mystery-tool export --format binary | saved backup submit mystery -

The second line covers everything the first cannot. Not as a workaround, and not with a reduced feature set: the artifact it produces is checksummed, encrypted, retained under a lock and restorable by hand exactly like the other one.

Why we would rather have five that hold

Every connector is a promise that a specific system's edge cases are handled: the version differences, the flags that change output format, the failure mode where the dump exits zero having written nothing. That work is real, and it does not scale by writing more connectors faster.

Shipping thirty that mostly work is a worse product than shipping five that hold, because the failure is silent and arrives a year later.

The number that would actually mean something

If we were going to put a number on the page, the useful one is not how many sources we read. It is how many of the things you need to keep can end up in a verified, encrypted, restorable artifact.

For us that number is all of them, and it has been since the first release, because the answer never depended on the catalog.