Batch restoration is live

Learn more
About

We built the version that admits what it does not know

Restoring a damaged document is largely a solved problem. Producing a restoration somebody can rely on in an archive, a registry or a court is not - and the gap between those two is entirely about how the system behaves when it is unsure.

The founding observation

Five restoration models, one will with a torn corner. Four returned a complete document with forty invented words in it, written convincingly enough that nobody skimming the page would notice.

Read what happened next
Why

Confidence is the failure mode, not the feature

Every generative model asked to restore a damaged page will produce something complete and plausible, because completion is what it was built for. On a holiday photograph that is exactly right. On a testamentary document, a prescription or a title deed, it is a forgery with excellent grammar - and the person reading it has no way to tell.

So the product we built is shaped around the opposite instinct. It repairs what the surviving evidence determines, holds whatever authenticates the document, checks the result against the document’s own arithmetic, and then tells you plainly about everything it could not resolve. In a side-by-side demo that costs us. In an institution it is the only version that can be used.

If you cannot reproduce the treatment, you have not restored anything. You have produced one image, once.

The other shaping influence was a paper conservator, who looked at our original text box for describing damage and pointed out that two people would write two different sentences about the same water-stained register - and neither restoration could be defended afterwards. That conversation deleted the prompt box and replaced it with a structured condition survey, which is now the interface for all sixteen consoles.

Principles

Four rules, enforced by the pipeline rather than by intention

Each of these is structural. They hold because of how the system is built, not because a model was asked nicely to behave.

1

Say what you could not read

A restoration that hides its own uncertainty is worse than no restoration, because it removes the reader's ability to be careful. Every uncertain value is surfaced with the pixels it came from.

2

Never improve what authenticates

Seals, signatures, stamps and identifiers are held out of processing entirely. A better-looking seal is a worse document.

3

Make the treatment reproducible

There is no prompt box. The instruction is derived from a structured condition survey, so two operators looking at the same damage get the same result and both can justify it afterwards.

4

Keep the original, always

Every treatment is a revertible version layered over an untouched capture. Nothing we do is destructive, because destructive restoration is not restoration.

Deliberately absent

Things we decided not to build

A prompt box

Two operators, two sentences, two restorations, no defensible record. The condition survey replaced it.

Text completion into losses

Structure is rebuilt; missing words are marked. The line is not negotiable and it is the whole product.

A generative upscaler

Optimising for a convincing image rather than a correct one is exactly wrong on a serial number. Detail comes from captured evidence, verified afterwards.

Watermarked free output

A watermarked restoration cannot be evaluated, which makes a free tier pointless. The free tier produces real files.

Training on your documents

Nothing uploaded is used to train anything. It belongs to the account that uploaded it and goes when that account deletes it.

Questions about how any of this works?

We answer these ourselves. support@docovly.com

Put your worst document in first

Not the easy one. The faded, torn, water-marked one you assumed was gone. Free to start, no card, and the original is never overwritten.