Most software companies will tell you they take backups. Fewer will tell you whether they have ever restored one. Until you restore a backup, you're only hoping it works. On October 10 we checked ours.
Nothing about this changes how you use Sinan. You won't see a new button or a new screen. But if you trust us with your shop, you should know what happens to your shop's data if something goes wrong on our side. Until now we hadn't tested that answer properly. Now we have, at least for part of it.
What we did
We took a full backup of our database and restored it into a fresh copy, kept separate from the one your shop runs on. The live database wasn't part of the test. Then we compared the restored copy with production.
We checked two things:
- The structure. Is the restored database built the same way as the live one, with the same tables laid out the same way? If it isn't, the data might be there but Sinan couldn't use it.
- The contents. Does every table in the restored copy hold the same rows the live database held at the moment the backup was taken?
What we found
The structure matched completely. Every table matched row for row as of the moment of the backup.
The only differences were records written after the backup was taken. That's expected: the live database kept being written to while we worked, and a backup is a picture of one moment. A difference that couldn't be explained that way would have meant a problem. We didn't find one.
Why this matters to you
Sinan keeps information so it can work for your shop. If our database were damaged or lost, the question that counts isn't "do they have a backup?" but "can they get it back the way it was?" For the database, we have now checked that we can: a backup brought back into a fresh copy holds the same thing, row for row.
That's a narrower claim than "your data is always safe", and we mean it to be. It's what we tested and what we can stand behind.
We wrote the procedure down
When a restore is needed for real, it usually happens under pressure. That's a bad moment to work out the steps from memory. So we've written down the procedure exactly as we tested it on October 10. The next restore will follow steps that have already worked once, not steps someone remembers.
What isn't covered yet
There are two gaps, and we'd rather you hear about them from us:
- Uploaded files. Files that are uploaded aren't part of the database backup yet. The test above says nothing about them, so we're not claiming they can be restored the same way.
- Switching over. We restored into a separate copy and compared it. We haven't rehearsed moving the live service over to a restored copy. We know the database contents come back intact. We don't yet know from practice how that switch would go or how long it would take.
Until both are done, we won't call our backups complete. When either one changes, it will go on the roadmap like this one did.
Why we write about work like this
We build Sinan so it never acts alone on anything that can't be undone. Refunds, cancellations and similar actions wait for your tap. The same thinking applies to us. Losing data is about as hard to undo as anything gets, so we don't want to just assume our backups work. We want to have tested them and to tell you what the test showed, including where it stops.
For you, nothing is needed. You don't have to change a setting or download anything. If you have questions about what we keep for your shop and how we protect it, ask us. We'll answer with what we've tested, not what we hope.