UtteraUttera

Someone shows you a report and says we made it. How to check, in thirty seconds

September 22, 2026

A real situation: someone hands you a PDF with the transcript and summary of a meeting and tells you Uttera generated it. It could be a supplier, an expert witness, the other side of a contract, or your own team two years later.

How do you know it's true?

Short answer: upload the PDF at uttera.ai/en/verify and it tells you. No account, no key, nothing to install. The long answer is why that works, which is what decides whether you trust the result.

Two signatures, not one

Every report carries two, answering different questions:

Signature Over what What it answers
content what the report says: summary, transcript, customer, date, usage did this text come from Uttera?
container the bytes of the PDF file is this file exactly the one that was issued?

The distinction is not decorative. The content signature still holds after the PDF has been reprinted, cropped or re-saved — things that happen constantly as a document moves around a company. The container signature detects a single changed byte, which is what you care about if you suspect someone touched a figure.

A report can pass the first and fail the second: that means the text is ours but the file you're holding is not the original. That is useful information, not an error.

Where they live

The content signature is printed inside the report, at the foot of every page, as a short fingerprint. You can see it with your own eyes.

The container signature cannot go inside — signing something that is then modified is impossible — so it is appended after the finished document, on a final line starting with %%UTTERA-FIRMA-V1:. Your PDF reader does not show it, and that is not a trick: the format says to read from the last startxref, so everything after %%EOF is ignored.

That detail is what makes the PDF enough on its own. The signature used to be returned separately by the API and had to be filed next to the document; the moment someone forwarded the report by email, the signature stayed behind and the document became impossible to verify. Now it travels inside.

If you'd rather archive it separately, the API still returns it in report.container_signature.

Checking it without going through our site

We publish the public key at GET /v1/reports/public-key, unauthenticated. With it you can verify on your own infrastructure, without sending us the document — which is exactly what you'll want if the report contains something that must not leave your network.

And if you'd rather we did it, POST /v1/reports/verify takes the PDF and answers.

The documentation has the full procedure, including key rotation: a signature you cannot verify five years from now is worthless, so old keys stay published.

What this proves, and what it doesn't

Worth being blunt, because confusion here is expensive:

That is the difference between authentic and true, and you need both words.

And its relative, the watermark

If what you're holding is audio rather than a PDF, the relevant piece is a different one: the watermark, which says "a machine made this". It goes into everything we produce and we cover it separately.

Two tools, two questions: the mark answers how it was made; the signature answers who issued it and whether it is intact. Neither replaces the other.

Anything to add or correct? Write to support@uttera.ai. If you correct us, we edit the post and credit you.

← All posts