Algorithm Updates

Changelog

Latest updates and improvements to HTPBE?

Latestv2.48.3
  • Corrected one check that could report an unmodified document as modified. Some documents that an earlier release reported as modified can now be reported as inconclusive. Results issued before this release are kept as they were issued and are not re-assessed; to obtain a result under this release, re-submit the document. A finding describes the file’s history – not the document’s content, and not the person who submitted it.
  • This is a correctness change, not a measured detection improvement, and the evaluation corpus does not cover every document. An inconclusive result is not a clean result: it does not certify a document as an untouched original. No public marker identifier was added, renamed or removed – the marker contract is unchanged.
v2.48.2
  • Corrected how some documents are assessed. Some documents that an earlier release reported as modified can now be reported as intact or inconclusive. If a result issued before this release matters to you, re-submit the document. A finding describes the file’s history – not the document’s content, and not the person who submitted it.
  • Some documents that an earlier release reported as intact can now be reported as inconclusive: they are of a kind whose results cannot be confirmed as intact. An inconclusive result is not a clean result: it does not certify a document as an untouched original.
  • Switched off one part of the analysis that could report an unmodified original as modified. Some documents that an earlier release reported as modified can now be reported as intact or inconclusive. Results issued before this release are kept as they were issued and are not re-assessed; to obtain a result under this release, re-submit the document.
  • Corrected further cases affecting how some documents are assessed. Some documents that an earlier release reported as modified can now be reported as intact or inconclusive. Results issued before this release are kept as they were issued and are not re-assessed; to obtain a result under this release, re-submit the document.
  • These are correctness changes, not a measured detection improvement, and the evaluation corpus does not cover every document. No public marker identifier was added, renamed or removed – the marker contract is unchanged.
v2.48.1
  • Broadened an existing check. Some documents that an earlier release reported as intact can now be reported as modified, with a finding of a kind already listed in the public catalogue of checks; the verdict only ever moves to a stricter result. If a result issued before this release matters to you, re-submit the document. A finding describes the file’s history – not the document’s content, and not the person who submitted it.
  • Measured across the evaluation corpus, the change reached only a small number of documents, all of them already reported as modified. Little independent evaluation evidence stands behind the broadened check, so this change is not presented as a measured detection improvement, and the corpus does not cover every document. An inconclusive result is not a clean result: it does not certify a document as an untouched original. No public marker identifier was added, renamed or removed – the marker contract is unchanged.
v2.48.0
  • Broadened an existing check. Some documents that an earlier release reported as intact or inconclusive can now be reported as modified, with a finding of a kind already listed in the public catalogue of checks; the verdict only ever moves to a stricter result. If a result issued before this release matters to you, re-submit the document. A finding describes the file’s history – not the document’s content, and not the person who submitted it.
  • This change is not presented as a measured detection improvement, and the evaluation corpus does not cover every document. An inconclusive result is not a clean result: it does not certify a document as an untouched original. No public marker identifier was added, renamed or removed – the marker contract is unchanged.
v2.47.1
  • Corrected how some documents are assessed. Their findings and verdict can differ from those an earlier release reported; a document an earlier release reported as modified can now be reported as intact, and a document reported as intact can now be reported as modified or inconclusive. If a result issued before this release matters to you, re-submit the document. A finding describes the file’s history – not the document’s content, and not the person who submitted it.
  • This is a correctness change, not a measured detection improvement. The evaluation corpus does not cover every document, so the change described above can still reach documents outside it. An inconclusive result is not a clean result: it does not certify a document as an untouched original. No public marker identifier was added, renamed or removed – the marker contract is unchanged.
v2.47.0
  • Some documents can return a result that differs from the one an earlier release returned: the findings listed with the verdict, the confidence level reported with it, or the status_reason accompanying an inconclusive verdict can each differ, and the verdict can differ with them. If a result issued before this release matters to you, re-submit the document. A finding describes the file’s history – not the document’s content, and not the person who submitted it.
  • The analysis is now more robust against malformed files. Some documents that an earlier release could not analyse, ending in an error, now return a result. Some files whose structure cannot be read now end in the existing invalid_pdf error instead; no result is stored and no credit or quota is used. An error is not a result: it certifies nothing about the document, so treat a document that could not be analysed as unverified, not as clean.
  • An analysis that cannot be completed in full is never counted as clean. It either ends in the existing invalid_pdf error, with no result stored and nothing charged, or returns a result that is never intact: modified where the evidence supports it, otherwise inconclusive with status_reason analysis_incomplete. Some genuine documents that an earlier release reported as intact can now come back inconclusive.
  • Corrected several cases affecting how some documents are assessed. Their findings and verdict can differ from those an earlier release reported, in either direction. An inconclusive result is not a clean result: it does not certify a document as an untouched original.
  • Measured across the full evaluation corpus against version 2.44.7, the last release in service before this one, a small number of documents changed their verdict, in either direction. Among documents still reported as modified, some list different findings – most of them fewer – and some report a different confidence level, nearly all of them lower. Some documents that were already inconclusive now carry status_reason analysis_incomplete instead of another value. The corpus does not cover every document, so the changes described above can still reach documents outside it. An inconclusive result is not a clean result: it does not certify a document as an untouched original.
  • API contract change: an analysis that does not finish within its time limit now ends with the new error code analysis_timeout instead of invalid_pdf. The HTTP status stays 422 and the error body keeps its shape (error, code, details); the code value and its message are what change. No result is stored and no credit or quota is used. Unlike invalid_pdf, it can succeed on retry: wait a minute and retry with backoff. An integration that recognised a timeout by the invalid_pdf code needs to handle analysis_timeout instead, and any integration should treat an error code it does not recognise as a failed request rather than relying on a fixed list of codes. Like any error, a timeout certifies nothing about the document: if a document keeps returning it, treat it as unverified, not as clean.
  • API contract change: xref_count in GET /api/v1/result/{id}, and has_incremental_updates in both GET /api/v1/result/{id} and GET /api/v1/checks, can now be null. Null means the value could not be established for that document, or was not recorded for an older check; an earlier release returned 0 or false in those cases, and results of earlier checks read after this release can show null too. An integration that does not accept null for these fields needs to. A null value is not a finding and says nothing about whether the document was changed.
  • Requests with a URL containing credentials are now rejected with 400 invalid_url_format; 5xx error bodies include a request_id; 429 server_at_capacity is also returned when an account already holds its share of the analysis queue. See the migration guide.
  • Apart from the API contract changes above, these are correctness and robustness changes, not a measured detection improvement. Compared with version 2.44.7, two status_reason values, visible_signature_origin and analysis_incomplete, can now be returned alongside an inconclusive verdict; an inconclusive result is not a clean result. No public marker identifier was added, renamed or removed – the marker contract is unchanged.
v2.46.8
  • A result returned as inconclusive with status_reason analysis_incomplete now uses a credit or quota like any other delivered result. Submitting a file again is a new check and is charged under the same rules; reading an existing result again, or replaying a request with its original Idempotency-Key, is not.
  • An analysis that a fault on our side stops from completing ends in the existing invalid_pdf error, ‘Analysis was interrupted’. No result is stored and no credit or quota is used.
  • Some documents that an earlier release could not analyse, ending in an error, now return a result. Where the analysis cannot be completed in full, the result is never intact: modified where the evidence supports it, otherwise inconclusive with status_reason analysis_incomplete. An inconclusive result is not a clean result: it does not certify a document as an untouched original. Either result is charged like any other delivered result.
  • Some documents can return a result that differs from the one an earlier release returned: the verdict, the findings listed with it, or the status_reason accompanying an inconclusive verdict can each differ. If a result issued before this release matters to you, re-submit the document.
  • These are billing, correctness and reporting changes, not a measured detection improvement. No new status_reason value was introduced, and no public marker identifier was added, renamed or removed – the marker contract is unchanged.
  • The creator and producer values returned with a result can now be shortened copies. Two new fields, creator_truncated and producer_truncated, are true when the returned value is the beginning of a longer one. Only the returned copy is shortened.
v2.46.7
  • Some documents can return a result that differs from the one an earlier release returned: the verdict, the findings listed with it, or the status_reason accompanying an inconclusive verdict can each differ. If a result issued before this release matters to you, re-submit the document. A finding describes the file’s history – not the document’s content, and not the person who submitted it.
  • Measured across the full evaluation corpus, every document kept the verdict, the findings and the confidence level it had, and no document was newly certified as an untouched original. The corpus does not cover every document, so the change described above can still reach documents outside it. An inconclusive result is not a clean result: it does not certify a document as an untouched original. These changes are not presented as a measured detection improvement. No new status_reason value was introduced, and no public marker identifier was added, renamed or removed – the marker contract is unchanged.
v2.46.6
  • Some documents can return a result that differs from the one an earlier release returned: the verdict, the confidence level reported with it, the findings listed with it, or the status_reason accompanying an inconclusive verdict can each differ. If a result issued before this release matters to you, re-submit the document. A finding describes the file’s history – not the document’s content, and not the person who submitted it.
  • Some documents that an earlier release reported as inconclusive now come back modified. A modified verdict reports that the file was changed after it was first produced – a document whose content is genuine can still receive it, and it says nothing about the person who submitted it.
  • Some documents that an earlier release reported as untouched originals can now come back with an inconclusive verdict instead – a result that reports the question could not be answered for that document. An inconclusive result is not a clean result: it does not certify a document as an untouched original. If a result issued before this release matters to you, re-submit the document.
  • Corrected a case where a document could wrongly be left reported as inconclusive. Such a document can now receive the verdict its analysis supports, which can be intact. This does not mean every inconclusive result issued before this release would now change.
  • Corrected cases where some documents could be assessed incorrectly. Such a document can now return a different verdict, as its analysis supports.
  • Corrected a further case. The findings a document reports can differ from those an earlier release reported, and its verdict can differ with them.
  • Measured across the full evaluation corpus, a very small number of documents changed their verdict. One document already reported as modified no longer lists one of its findings. No other document changed its verdict or its findings; in particular, no document in the corpus moved away from an intact verdict. The corpus does not cover every document, so the changes described above can still reach documents outside it. An inconclusive result is not a clean result: it does not certify a document as an untouched original. These changes are not presented as a measured detection improvement. No new status_reason value was introduced, and no public marker identifier was added, renamed or removed – the marker contract is unchanged.
  • Many forensic checks now carry reworded public descriptions. This rewording on its own changes no identifier, no API field and no result.
v2.46.5
  • Some documents can now report a finding that an earlier release did not report, and the verdict can move with it – only ever to a stricter result. If a result issued before this release matters to you, re-submit the document. A finding describes the file’s history – not the document’s content, and not the person who submitted it.
  • Measured across the full evaluation corpus, every document already in it kept the verdict and the confidence level it had, and no document was newly certified as an untouched original; a very small number of documents already reported as modified now list one further finding of a kind they could already carry. An inconclusive result is not a clean result: it does not certify a document as an untouched original. The change broadens an existing check and is not a measured detection improvement. No new status_reason value was introduced, and no public marker identifier was added, renamed or removed – the marker contract is unchanged.
v2.46.4
  • Some documents can return a result that differs from the one an earlier release returned: the verdict, the findings listed with it, or the status_reason accompanying an inconclusive verdict can each differ. If a result issued before this release matters to you, re-submit the document. A finding describes the file’s history – not the document’s content, and not the person who submitted it.
  • Measured across the full evaluation corpus, every document already in it kept the verdict, the findings and the confidence level it had, and no document was newly certified as an untouched original. An inconclusive result is not a clean result: it does not certify a document as an untouched original. This is a correctness fix, not a measured detection improvement. No new status_reason value was introduced, and no public marker identifier was added, renamed or removed – the marker contract is unchanged.
v2.46.3
  • Some documents now return a result that differs from the one an earlier release returned: the verdict, the findings listed with it, or the status_reason accompanying an inconclusive verdict can each differ. If a result issued before this release matters to you, re-submit the document. A finding describes the file’s history – not the document’s content, and not the person who submitted it.
  • Measured across the full evaluation corpus, a very small number of documents return a different verdict and every verdict that changed moved to a stricter result; no document was newly certified as an untouched original. A document that is itself genuine can also come back modified where an earlier release did not report it that way. This is a correctness fix, not a measured detection improvement. No new status_reason value was introduced, and no public marker identifier was added, renamed or removed – the marker contract is unchanged.
v2.46.2
  • Some documents now return a result that differs from the one an earlier release returned: the verdict, the findings listed with it, or the status_reason accompanying an inconclusive verdict can each differ. If a result issued before this release matters to you, re-submit the document. A finding describes the file’s history – not the document’s content, and not the person who submitted it.
  • Measured across the full evaluation corpus, no document was newly certified as an untouched original. A very small number return a different verdict, a very small number no longer report one of the findings they reported before, and a very small number carry a different status_reason; an inconclusive result is not a clean result and does not certify a document as an untouched original. This is a correctness fix, not a measured detection improvement. No new status_reason value was introduced, and no public marker identifier was added, renamed or removed – the marker contract is unchanged.
v2.46.1
  • Some documents can now report findings that an earlier release did not report. If a result issued before this release matters to you, re-submit the document. A finding describes the file’s history – not the document’s content, and not the person who submitted it.
  • Measured across the full evaluation corpus, no document was newly certified as an untouched original and no verdict changed; the change in reported findings stayed confined to a very small part of it. This is a correctness fix, not a measured detection improvement. No new status_reason value was introduced, and no public marker identifier was added, renamed or removed – the marker contract is unchanged.
v2.45.2–2.46.0
  • A document carrying a signature can now report findings that an earlier release did not report, and can come back modified or inconclusive where an earlier release reported it as unmodified. If a result issued before this release matters to you, re-submit the document. A finding describes the file’s history – not the document’s content, not the validity of any signature or the identity of a signer, and not the person who submitted it.
  • A further status_reason value, visible_signature_origin, can now be returned alongside an inconclusive verdict. An inconclusive result is not a clean result: it does not certify a document as an untouched original. Clients that branch on status_reason should keep a default branch for values they do not recognise; the full set is listed in the API reference.
  • Corrected cases where a document could be reported as modified although the available evidence did not support that finding. If a modified result issued before this release matters to you, re-submit the document.
  • A document whose structure cannot be read is now rejected as an unprocessable file rather than failing with a server error. The existing error code is used and no new one was introduced; no result is stored and no credit is consumed.
  • Measured across the full evaluation corpus, no document was newly certified as an untouched original, and a small number no longer carry one of the markers they previously reported. These are correctness changes, not a measured detection improvement. No public marker identifier was added, renamed or removed – the marker contract is unchanged.
v2.45.1
  • Results that record an incomplete check are now returned more consistently. A result of this kind is never a clean one: it states that the document was not fully checked, and it does not certify the document as unmodified. If a clean result issued before this release matters to you, re-submit the document.
  • No new detection was added in this release, and no public marker identifier was added, renamed or removed – the marker contract is unchanged. No new status_reason value was introduced either.
  • Measured across the full evaluation corpus, every document already in it kept the verdict and findings it had. This is a change to how an unfinished check is reported, not a measured detection improvement.
v2.45.0
  • Some documents that previously returned an error with no result now return a result instead. Such a result is never a clean one – it records that the check could not be completed in full, and it does not certify the document as unmodified. Treat it as a document that was not fully checked rather than one that passed, and do not rely on it; a document that returned an error before this release can be re-submitted.
  • A further status_reason value, analysis_incomplete, can now be returned alongside an inconclusive verdict. No new detection was added in this release, and no public marker identifier was added, renamed or removed – the marker contract is unchanged. Clients that branch on status_reason should keep a default branch for values they do not recognise.
  • Measured across the full evaluation corpus, every document already in it kept the verdict and findings it had. This is a change to how an unfinished check is reported, not a measured detection improvement.
v2.44.8
  • Documents changed after they were signed are now reported as modified in cases where an earlier release reported them as unmodified. Affected documents can also carry named markers they did not report before. This was confirmed on internal test documents; it is a correctness change, not a measured improvement, and no document already in the evaluation corpus changed verdict.
  • A genuine document can also be reported as modified where an earlier release reported it as unmodified. If a result issued before this release matters to you, re-check the document. A modified result describes the file’s history – not the document’s content, and not the person who submitted it.
  • No public marker identifier was added, renamed or removed in this release – the marker contract is unchanged.
v2.44.7
  • Corrected a case where a document could be reported with a finding the available evidence did not support.
  • Measured across the full evaluation corpus, every document already in it kept the verdict and findings it had.
v2.44.6
  • Extended origin handling to a further class of documents. Documents in this class are no longer certified as untouched originals; they can still be reported as modified. This is a design change, not a measured improvement.
  • Measured across the full evaluation corpus, every document already in it kept the verdict it had, and none was newly reported as modified.
  • Two forensic checks now carry public descriptions that state more precisely what each check reports. Their identifiers, the API contract and detection behaviour are unchanged: the same documents are flagged, with the same markers and the same verdicts.
  • No public marker identifier was added, renamed or removed in this release – the marker contract is unchanged.
v2.44.5
  • Corrected a defect that prevented one forensic check from reporting a concern the available evidence did support. A small number of documents now carry that concern among their named markers, alongside the markers they already reported. Measured across the full evaluation corpus, no document changed verdict.
  • No public marker identifier was added, renamed or removed in this release – the marker contract is unchanged.
v2.44.4
  • Corrected a defect that let one forensic check report a concern the available evidence did not support. A small number of documents no longer carry that concern among their named markers.
  • Measured across the full evaluation corpus, the change stayed confined to that same small group, each document in it still reported as modified on other, independent grounds. No document changed verdict as a result.
  • No public marker identifier was added, renamed or removed in this release – the marker contract is unchanged.
v2.44.3
  • Continued tuning of the forensic checks so that a document is reported as modified only where the evidence supports that conclusion. A small number of documents previously reported as modified now return inconclusive. An inconclusive result is not a clean result: such documents can still be reported as modified, and it never certifies a document as an untouched original.
  • Measured across the full evaluation corpus, that reclassification stayed confined to the small group described above; no other document changed verdict as a result of it.
  • A further class of documents whose origin cannot be established firmly enough to certify them as an untouched original now routes to human review instead of returning a clean, untouched-original result. This is a tightening – no document becomes easier to certify.
  • No public marker identifier was added, renamed or removed in this release – the marker contract is unchanged.
v2.44.2
  • Corrected a case where a document could be reported as modified without evidence of an edit. Such documents are still analysed in full.
  • Refined one forensic check so that it no longer reports a concern the available evidence cannot support. Measured across the full evaluation corpus, no document changed verdict as a result.
  • No public marker identifier was added, renamed or removed in this release – the marker contract is unchanged.
v2.44.1
  • Fixed a defect in how previously stored results were returned: a document checked in an earlier release could come back with fewer of the named markers it was issued with. Those results again report exactly what they reported when they were issued. Analysis of newly submitted documents was never affected.
  • Three forensic checks now carry public descriptions that state more precisely what each check reports. Their identifiers, the API contract and detection behaviour are unchanged: the same documents are flagged, with the same markers and the same verdicts.
  • Corrected the example API responses shown on this site so that every example matches a response the API can actually return, including the field that explains what to do with a result. The API itself is unchanged – no integration needs updating.
  • No public marker identifier was added, renamed or removed in this release – the marker contract is unchanged.
v2.44.0
  • Broadened detection of documents that were re-worked after they were first produced and previously passed as unmodified. Such documents are now reported as modified.
  • Extended origin handling to a further class of documents whose origin cannot be established firmly enough to certify them as an untouched original: files of that class that previously returned a clean, untouched-original result now return inconclusive and route to human review. An inconclusive result is not a clean result: such documents can still be reported as modified.
  • No public marker identifier was added, renamed or removed in this release – the marker contract is unchanged.
v2.43.2
  • Fewer genuine documents of a certain type are mistakenly reported as modified. Documents of that type that were altered after creation are still reported as modified, and detection of that class has been broadened.
  • Corrected a defect that could report a document as modified without sufficient basis. Fewer documents are affected this way.
v2.43.1
  • Verdicts shown in list, dashboard and summary views now match the verdict returned for the same document on its own. Some documents that previously appeared in a list as an untouched original, or as modified, now show there the inconclusive result they already returned when retrieved individually, and some older records that carry no stored result now show no verdict rather than a clean one. Individual document results are unchanged, and detection itself is unchanged.
v2.43.0
  • Added a new check that catches a further class of documents whose stated origin does not hold up. Such documents are now reported as modified – a class that previously passed as unmodified or inconclusive.
  • Extended origin handling to a further class of documents whose origin cannot be established firmly enough to certify them as an untouched original: some files that previously returned a clean, untouched-original result now correctly return inconclusive and route to human review. An inconclusive result is not a clean result.
  • Broadened detection of documents whose pages were assembled from multiple separate sources, catching a further class that previously passed as unmodified or inconclusive. Such documents are now reported as modified: we do not certify a multi-source document as an untouched original. Existing verdicts across our regression corpus were unchanged by this broadening.
v2.42.1
  • Fewer genuine documents of a certain type are mistakenly reported as modified.
  • Modified verdicts that the evidence does not fully support now report at a lower confidence level instead of as a certain result.
  • Fewer genuine digitally-signed documents are mistakenly reported as modified.
v2.42.0
  • Added a new check that catches documents whose page content was substituted after the document was created. Such files are now flagged as modified – a class that previously passed as unmodified.
  • Reduced over-certification on a class of documents whose origin cannot be established firmly enough to certify them as an untouched original: some files that previously returned a clean, untouched-original result now correctly return inconclusive. An inconclusive result is not a clean result.
v2.40.0–2.41.0
  • Added a new check that catches a further class of fabricated documents. Such documents are now flagged as modified – a class that previously passed as unmodified. Existing verdicts across our regression corpus were unchanged by this new check.
  • Reduced false positives on a class of genuine documents that were occasionally reported as modified. Their verdict is never raised to unmodified.
  • Broadened detection of documents that were altered after their original creation, and of documents that merely reproduce a document rather than being the authentic original file. In each case a further sub-class that previously returned an inconclusive result is now reported as modified.
v2.39.0
  • Added a new check that catches documents whose stated scan origin is not genuine. Such documents are now flagged as modified – a class that previously passed as unmodified.
  • Added a new check that catches documents that were altered after their claimed original creation even though the file is presented as an untouched original. Such documents are now flagged as modified – a class that previously passed as unmodified.
v2.38.3
  • Reduced false positives on a class of legitimately produced documents that were occasionally reported as modified without evidence of an actual edit. Documents in this class are no longer reported as modified on that basis. They are not certified as untouched originals.
v2.38.2
  • Reduced false positives on a class of legitimately digitally-signed documents that were occasionally reported as modified even though their content had not been changed. Documents in this class are no longer reported as modified on that basis.
  • Strengthened detection of genuine post-creation content edits, so that more documents whose figures or text were substituted after the original was created are correctly flagged as modified rather than left inconclusive. Existing verdicts across our regression corpus were otherwise unchanged.
v2.38.1
  • Broadened detection of documents whose visible content was altered after the original was produced, including altered financial statements. A range of such documents that previously passed as unmodified are now reported as modified, regardless of the intent behind the edit.
  • Reduced false positives on a class of legitimate documents that were occasionally reported as modified without evidence of an actual edit. Documents in this class are no longer reported as modified on that basis.
  • Reduced false positives on a further class of legitimate documents that were occasionally misread. Documents in this class are no longer reported as modified on that basis.
v2.38.0
  • Added a new check that catches documents whose stated scanner origin is not genuine. Such documents are now flagged as modified.
  • Reduced false positives on a class of genuine documents that were previously flagged as modified. These are now returned as inconclusive rather than flagged, and are never reported as untouched originals.
v2.37.5
  • Reduced false positives on a class of legitimately produced documents that were reported as modified without evidence of an actual edit. Documents in this class are no longer reported as modified on that basis. They are not certified as untouched originals.
  • Extended the same relief to another class of legitimately produced documents that were reported as modified without evidence of an actual edit. They are not certified as untouched originals.
v2.37.4
  • Reduced false positives on a class of legitimately generated documents that were reported as modified without evidence of an actual edit. Documents in this class are no longer reported as modified on that basis. They are not certified as untouched originals.
v2.37.3
  • Some documents whose origin cannot be reliably established were being treated as untouched originals. They are now returned as inconclusive instead of passing clean. An inconclusive result is not a clean result.
  • Closed a narrow case where a document carrying strong evidence of tampering could still be under-reported. Such documents are now flagged as modified.
  • Reduced false positives on a class of genuine documents that were reported as modified without evidence of an actual edit. Documents in this class are no longer reported as modified on that basis. They are not certified as untouched originals.
v2.37.2
  • Reduced false positives on a class of genuine documents that were reported as modified without evidence of an actual edit. Documents in this class are no longer reported as modified on that basis. They are not certified as untouched originals.
v2.37.1
  • Closed a route where a document carrying strong evidence of tampering could be under-reported. When such hard evidence is present, the document is now flagged as modified.
v2.37.0
  • Added a new detection that catches a further class of documents which were edited after they were first produced and present an untouched origin they do not actually have. Documents in this class are now flagged as modified.
  • Reduced false positives on a class of legitimately-generated documents that were previously flagged in error. Documents in this class no longer receive a false modified flag. No document passes as an untouched original on this basis alone.
v2.36.1
  • Reduced false positives on a legitimate class of documents that were reported as modified without evidence of an actual edit. Documents in this class are no longer reported as modified on that basis. They are not certified as untouched originals.
v2.36.0
  • Extended detection of a class of documents that were altered after issuing, closing a laundering route that previously let some edited files pass as originals. Documents in this class are now flagged as modified.
v2.35.0
  • Added a new detection for a further class of documents whose visible content was altered after the original was produced. Documents in this class are now flagged as modified.
v2.34.4
  • Refined origin handling so a class of legitimate documents is no longer automatically held at inconclusive. Such documents are not certified as untouched originals on this basis.
v2.34.3
  • Broadened detection to a further class of documents that were edited and then made to look like a scan. Files in this class are now correctly flagged as modified.
  • Refined how the result report names a class of form-based documents so each is labelled accurately. This is a reporting-clarity improvement only – no document changes verdict as a result.
v2.34.2
  • Tightened origin handling for a further class of documents that cannot be certified as untouched originals – these now correctly settle at inconclusive rather than passing as untouched originals. An inconclusive result is not a clean result.
v2.34.1
  • Tightened origin handling for a further class of documents whose origin cannot be established firmly enough to certify them as untouched originals. Such files previously passed as untouched originals and now correctly cap at inconclusive.
v2.34.0
  • Added a new detection for documents whose recorded origin was falsified after the file was changed following its original creation. Files in this class previously passed as untouched originals and are now correctly flagged as modified.
  • Fixed a false positive in our signature analysis on a class of correctly signed documents that were previously reported as modified.
  • Extended an existing check to catch a further class of scanned documents whose original values were replaced. This class previously passed as an untouched original and is now correctly flagged as modified.
  • Added a new detection for a class of documents whose declared origin does not hold up – indicating it was rebuilt and re-labelled after its original creation. Files in this class previously passed as untouched originals and are now correctly flagged as modified.
  • Reduced false positives on a class of legitimate statements that were previously flagged in error.
v2.32.0
  • Improved classification accuracy on scanned and image-based documents, cutting false modification flags on a class of legitimate exports that were previously misread as edited.
  • Recovered detection on a further class of documents that were altered after their original creation – closing a case where some such files previously slipped through.
v2.31.3
  • Improved accuracy on a class of legitimate invoices and statements whose normal design was previously misread. These now correctly pass.
  • Reduced false positives on a class of legitimate documents that were previously misread as assembled from multiple sources. These now correctly pass.
  • Tightened origin handling for a further class of documents whose origin cannot be established firmly enough to certify them as untouched originals. Such files previously passed as untouched originals and now correctly cap at inconclusive.
  • Reviewed the published check catalogue so every published entry maps to one distinct outcome. No document changes verdict as a result; this is a clarity pass on how our coverage is presented, not a change to what we detect.
  • Reduced false positives on a class of legitimate documents produced by some generators, whose ordinary output was previously misread as evidence of editing. These now correctly pass.
v2.31.2
  • Reduced false positives in signature analysis on a class of genuine digitally-signed documents that were previously reported as modified.
  • Tightened origin handling for a further class of documents that cannot be certified as untouched originals – these now correctly settle at inconclusive rather than passing as originals. An inconclusive result is not a clean result.
v2.31.1
  • Broadened detection to catch a further class of documents that were rebuilt after their original creation but still passed off as untouched originals. Files in this class previously slipped through and are now correctly flagged as modified.
  • Tightened origin handling for a further class of documents whose origin cannot be established firmly enough to certify them as untouched originals – these now correctly cap at inconclusive instead of passing as untouched originals.
v2.31.0
  • New detection class for a further class of documents that were digitally rendered and then presented as a scan. Such files previously passed as inconclusive and are now correctly recognised as modified.
v2.30.0
  • Expanded detection of documents that were edited after their original creation – closing a case where some such files previously slipped through.
  • Recognised a further class of scanned documents that previously passed as untouched originals – they now return inconclusive.
  • Made verdicts consistent across servers, so the same document no longer receives a different verdict depending on which server analysed it.
  • A further class of documents whose origin cannot be firmly established now returns inconclusive instead of passing as an untouched original.
  • Recovered detection on a class of statements that were rebuilt after the issuer originally produced them. These are now correctly flagged as modified.
v2.29.0
  • New detection class for a further class of documents that were reworked in an editor after their original creation. Files reworked this way previously passed as untouched; they are now recognised as edited after the fact, surfaced under the same edited-in-an-editor outcome as our other content-editing checks.
  • Reduced false positives on a class of genuine bills and statements that were previously flagged as modified and now pass.
  • Broadened our edited-in-an-editor detection to recover a further class of documents reworked after their original creation. This class is surfaced under the existing edited-in-an-editor outcome.
  • Reduced false positives on a class of genuine financial statements that were wrongly flagged as modified.
v2.28.0
  • Added a new proprietary integrity signal to the detection suite. We are publicly acknowledging that this signal exists, but we are deliberately not disclosing how it works – the method is held back on purpose so that forgers cannot read a description of it and engineer their way around it. When it fires, it contributes evidence that the file is a modified derivative rather than an untouched original.
v2.27.1
  • Reduced false positives on a class of genuine documents that were wrongly flagged for concealed content.
v2.27.0
  • Reduced false positives on a class of genuine forms that were previously mistaken for modified files. Forms of this kind are no longer reported as modified on that basis.
  • New detection class for a further class of reassembled documents.
  • New detection class for documents whose recorded origin was rewritten after the original authoring.
v2.26.1
  • Broadened detection of documents assembled by merging pages from more than one source file – recovering a class of merged documents that previously slipped through certified as a single original, including documents with extra pages glued on after the fact.
v2.26.0
  • Retired a check that was producing false positives on genuine documents without improving coverage – outcomes previously reported by it remain covered.
  • New detection class for a further class of documents that were re-written after their original creation and presented as untouched originals. Such documents are reported as modified.
  • Restored detection of documents assembled by merging pages from more than one source file, including merges that were subsequently rebuilt to look like a single original.
  • New detection class for documents whose page content was substituted after the original was produced to alter what the page appears to say.
v2.25.3
  • Reduced false positives on a class of genuine documents that were previously being misread as an imitation of a scan – authentic scans of this kind now correctly settle at the not-certifiable scan-origin ceiling instead of being flagged as modified.
v2.25.2
  • Widened the class of documents whose origin cannot be established firmly enough to certify them as unmodified; such files no longer pass as clean.
  • Recovered scanned-document recognition on a class of scanned files that were previously slipping through certified as clean – a scanned document can never be confirmed unmodified, so this class now correctly returns the not-certifiable ceiling rather than an intact verdict.
v2.25.1
  • Reduced false positives in our generator-origin check on a class of legitimate documents.
v2.25.0
  • New detection class for documents that misrepresent which tool produced them – flagging origin that was rewritten.
  • Broadened generator-identity-forgery detection to a further class of documents whose stated origin does not hold up.
  • Reduced false positives on a class of legitimate documents.
v2.24.2
  • Reduced false positives in our metadata analysis on a class of legitimate documents.
  • Reduced false positives in our template-assembly detection on a class of legitimate documents that were previously misread as a pieced-together template.
v2.24.1
  • Reduced false positives in our template-assembly detection on a class of legitimate documents that were previously being mistaken for pieced-together templates.
  • Refined how the page-assembly analysis reads the document so a legitimate layout is no longer misread as reused template scaffolding.
v2.24.0
  • New detection class for a kind of document reassembled from an original.
  • Hardened structural-integrity checks on rebuilt documents.
v2.23.3
  • Recovered tamper detection on a class of edited documents that previously slipped through.
  • Reduced false positives on a class of legitimate documents that were previously mistaken for tampered files.
v2.23.2
  • Reduced false positives on a class of legitimate documents that were previously mistaken for tampered files.
  • Hardened analysis so a class of legitimate files is no longer misread as tampered.
  • Broadened the class of documents whose origin cannot be established firmly enough to certify them as unmodified.
v2.23.1
  • Withheld the integrity guarantee on a class of documents whose origin cannot be corroborated.
  • Brought the algorithm into line with our existing position that some document origins cannot, on their own, support certifying a file as unmodified.
  • Withheld the integrity guarantee on a further class of outputs whose origin cannot be corroborated.
v2.23.0
  • New detection class for a further class of documents rebuilt and presented as a genuine original. Files in this class are now flagged as modified.
  • Hardened this check so the claimed origin of a document alone no longer certifies it. Files whose claimed origin does not hold up are correctly flagged as modified rather than passing as untouched originals.
v2.22.1
  • Reduced false positives on a class of genuine documents that were reported as modified without evidence of an actual edit. Documents in this class are no longer reported as modified on that basis. They are not certified as untouched originals.
  • Extended the same relief to a further class of genuine documents. They are not certified as untouched originals.
v2.22.0
  • New detection class for a further pattern characteristic of non-genuine documents
  • A further class of documents whose origin cannot be corroborated is no longer reported as an untouched original
  • Hardened detection against reassembled documents that misrepresent their origin
  • Recognised a further class of scanned documents – recovers correct origin classification for them
  • New detection class for synthetic edit-history patterns
v2.21.1
  • Withheld the integrity guarantee on a class of documents whose authenticity cannot be corroborated.
  • Recovered correct origin classification on a class of legitimately-generated documents that the previous heuristic was over-flagging.
v2.21.0
  • Added detection of a further class of documents that were edited and then re-issued – such documents are now reported as modified
  • Added a detector for documents whose declared origin does not hold up
  • Broadened detection of documents whose page content was substituted after the original was produced
  • Recovered a structural check that was previously reporting too little
  • Removed detector branches that did not produce unique findings – outcomes previously reported by them remain covered
  • Improved handling of digitally signed documents so edits made after signing are reported reliably
  • Recovered detection on classes of documents whose recorded origin does not hold up, and which previously passed as unmodified
  • Reduced false positives on an additional class of legitimate authoring pipelines
  • Reduced false positives on a further class of reports.
v2.19.3
  • Reduced false positives on a class of documents
  • Reduced false positives on a further class of reports
  • Reduced false positives on a further class of statements
v2.18.1–2.19.2
  • Recovered detection on further classes of edited documents
  • Broadened coverage so more documents can no longer be certified as untouched originals
  • Reduced false flags on genuine documents, including by retiring checks whose outcomes remain covered by other checks
v2.18.0
  • Added detection of documents whose earlier edit history was erased
  • Added detection of programmatically generated pages presented as a captured scan
  • Added detection of a further class of documents with content added after creation
  • Improved origin classification accuracy for a further class of image-derived documents
v2.17.1
  • Improved coverage of editing-tool analysis on additional document layouts
  • Reduced false positives in embedded image analysis for certain rendering pipelines
v2.17.0
  • Added detection of a further class of pseudo-scanned documents
  • Reduced false positives on a class of image-based documents
  • Added detection of a further class of rebuilt documents
  • Improved origin classification for a further class of generators
  • Improved scan classification in additional ambiguous cases
v2.16.0
  • Reduced false positives in metadata analysis on a further class of documents
  • Reduced false positives on a class of machine-printed labels
  • Added detection of a further class of edited form-based documents
  • Added detection of documents that carry content added after the original was produced
  • Reduced false positives on a further class of generators
  • Reduced false positives on genuine machine-generated documents whose normal output was previously misread as evidence of an edit
  • Further reduced false positives in metadata analysis on a class of generated reports
v2.15.1
  • Reduced false positives in metadata analysis on a class of generated reports
  • Broadened metadata-tampering detection to cover an additional class of tools
  • Reduced false positives on a class of statements
v2.15.0
  • Added a new metadata check
  • Improved analysis precision to reduce false positives on legitimate documents
  • Reduced false positives on documents produced by certain processing tools
v2.14.0
  • Expanded multi-source assembly detection across additional structural layers
  • Reduced false positives on a class of generators
  • Strengthened synthetic-scan detection against an additional class of forgeries
  • Added detection of a further metadata anomaly
  • Added detection of additional post-processing patterns
  • Added detection of additional tampering patterns
  • Added detection of further fraud-kit metadata fingerprints
  • Added additional integrity checks
v2.13.25
  • Tightened verdict semantics for additional editor-workflow patterns
  • Reduced false positives on certain authoring tools
  • Improved origin classification for documents touched by an additional PDF editor
  • Strengthened synthetic-scan detection
  • Reduced false positives on additional library variants
v2.13.24
  • Improved metadata-date parsing for documents from certain authoring tools
  • Improved reliability of metadata extraction for documents from certain processing tools
  • Broadened detection of documents whose page content was substituted after the original was produced
v2.13.23
  • Added new detections targeting additional classes of post-creation content modification
  • Strengthened metadata analysis
  • Improved multi-source assembly detection
  • Reduced false positives in metadata analysis on documents from certain generators
  • Reduced false positives in metadata analysis on outputs from a further class of generators
  • Detection extended to documents that have passed through certain PDF editing and conversion tools
  • Reduced false positives on a class of genuine digitally-signed documents
  • Detection extended to programmatic PDF processing libraries
  • Reduced false positives in metadata analysis on a further class of documents
  • Added detection of additional multi-source page assembly patterns
v2.13.20–2.13.22
  • Improved accuracy of page-content analysis on further classes of documents
  • Added detection of a further document-fabrication pattern
  • Reduced false flags on further classes of genuine documents
v2.13.19
  • Added detection of a further page-content alteration pattern
  • Reduced false positives in mixed-origin page-assembly analysis on additional rendering pipelines
  • Reporting no longer lists overlapping findings for the same issue
  • Reduced false positives on additional rendering pipelines
  • Improved multi-source assembly detection to cover a previously-undetected pattern
  • Extended origin coverage to additional page-assembly software
v2.13.18
  • Added detection of additional metadata-tampering tool markers
  • Added detection of additional post-processing tool artifacts
  • Added detection of additional script-injection patterns
  • Reduced false positives in structural page-content analysis on exports from certain rendering pipelines
  • Reduced false positives in date analysis
  • Reduced false positives on a further class of legitimate documents
  • Reduced false positives on a further class of legitimate exports
  • Refined verdict semantics for documents whose state cannot be authenticated structurally
v2.13.17
  • Reduced false positives in structural page-content analysis on a further class of legitimate documents
  • Reduced false positives on documents from certain generators
  • Reduced false positives in metadata analysis on documents from certain document-processing pipelines
  • Reduced false positives on a class of genuine completed and signed documents
v2.13.16
  • Reduced false positives in multi-source page assembly detection on documents from certain rendering pipelines
  • Reduced false positives on a further class of legitimate documents
  • Reduced false positives on a class of generated reports
  • Improved accuracy of signature analysis on genuine documents that were previously misjudged
  • Improved accuracy of structural page-content analysis on a further class of documents
  • Improved accuracy of hidden-content analysis for a further class of documents
  • Improved origin classification for documents from additional form-editing platforms
v2.13.15
  • Refined verdict semantics for a class of documents whose structural origin cannot establish authenticity on its own – the API response now includes actionable guidance to verify such documents with the issuing organisation
v2.13.14
  • Reduced false positives on a further class of genuine digitally-signed documents
  • Reduced false positives in multi-source page assembly detection for certain generator output
  • Reduced false positives on certain generator output
v2.13.13
  • Reduced false positives on documents produced by a class of conversion pipelines
  • Reduced false positives for documents produced by an additional generator whose normal output was previously misidentified
v2.13.12
  • Expanded recognition of tools used for document re-processing
  • Improved generator-origin detection
  • Added a further metadata check
  • Reduced false positives in scan classification for certain generators
  • Expanded detection to cover an additional family of PDF editing tools – documents edited by tools in this family are now correctly identified as modified
v2.13.10–2.13.11
  • Expanded detection of documents assembled from more than one source, of changes made after creation, and of timestamp anomalies
  • Added detection of a further redaction-related pattern, and expanded detection of changes that do not alter how a document looks
  • Further classes of documents now correctly return an inconclusive result – documents in one of those classes can no longer be certified as untouched originals
  • Reduced false flags on a further class of genuine documents
v2.13.9
  • Recognised a further class of scanned documents – such documents are now correctly reported as inconclusive
  • Reduced false positives on a further class of legitimate documents
v2.13.8
  • Reduced false positives for documents from certain generators, which no longer incorrectly signal post-creation modification
  • Reduced false positives on a class of programmatically generated documents whose normal output was misread as evidence of post-creation editing
  • Improved robustness of origin detection on certain page layouts
  • Reduced false positives on a class of documents that were reported as modified without evidence of an actual edit. They are not certified as untouched originals
  • Reduced false positives on a further class of documents
v2.13.7
  • Reduced false positives in metadata analysis on documents from certain generators
  • Extended the above fix to related generators
  • Reduced false positives in metadata analysis for certain generators
  • Improved coverage of structural page-content analysis on a further class of documents
  • Extended detection of documents rebuilt from prior templates
v2.13.6
  • Significantly expanded software recognition – documents from a broader range of software now correctly return inconclusive instead of intact
  • Added detection for additional document editing tools
  • Improved our internal quality-sampling process
v2.13.5
  • Improved detection of documents assembled from pages of different origins – more cases are now correctly identified as modified
  • Improved detection of a class of documents pieced together from multiple images
  • Improved detection of documents rebuilt from scratch by editing tools
v2.13.4
  • Improved classification of scanned documents
  • Improved detection of documents with evidence of post-creation text editing
  • Improved detection of documents where identifying metadata has been replaced
v2.13.3
  • Refined verdict semantics for a class of documents with insufficient evidence for analysis
  • Corrected origin classification for a class of documents that were previously held at inconclusive without cause
  • Improved detection of additional metadata-tampering patterns
  • Improved detection of further selective metadata edits
v2.13.2
  • Reduced false positives in structural page-content analysis on a class of legitimate exports
  • Reduced false positives in structural page-content analysis on a class of legitimate documents
  • Reduced false positives in metadata analysis on a further class of documents
  • Reduced false positives for documents generated by certain generation pipelines
v2.13.1
  • Reduced false positives in structural page-content analysis on a class of documents
v2.13.0
  • Added structural detection of scanned documents
  • Added detection of a class of hidden content
  • Added detection of content edited in a document editor after initial generation
  • Added detection of byte-level structural manipulation in document files
  • Added detection of an additional class of post-modification structural anomalies
v2.12.0
  • Added detection of image substitution in scanned documents
v2.11.9
  • Improved detection of a class of generated documents
  • Improved parsing of non-standard date formats in document metadata
v2.11.8
  • Improved tool identity checks
v2.11.7
  • Expanded software recognition
v2.11.6
  • Improved detection of metadata anomalies
v2.11.5
  • Reduced false positives for a class of documents
  • API is now available at the dedicated subdomain api.htpbe.tech/v1
  • The previous base URL (htpbe.tech/api/v1) continues to work – no migration required
v2.11.4
  • Expanded software recognition
v2.11.3
  • A class of documents is now correctly classified by origin
v2.11.2
  • Reduced false positives on a class of legitimate generators
v2.11.1
  • Expanded software recognition – a class of documents now correctly returns inconclusive instead of intact
v2.11.0
  • Added detection of a further class of metadata date anomalies
  • Added detection of a further class of post-creation edits
  • Improved detection reliability for modern PDF formats
  • Broadened analysis of a class of digitally-signed documents
  • Reduced false positives on legitimately signed documents
  • Documents we cannot open for analysis now return a clear error instead of an unreliable result
  • Previously analyzed files may benefit from re-analysis
v2.10.0
  • Corrected origin classification for a class of documents that were previously held at inconclusive without cause
  • Improved origin classification for a class of generation pipelines
  • Previously analyzed files from affected pipelines may benefit from re-analysis
v2.9.0
  • Introduced detection of documents assembled from pages of more than one origin
  • Documents whose pages come from more than one source are now flagged as modified
  • Previously analyzed files may benefit from re-analysis
v2.8.0
  • Added detection of an additional modification pattern
  • Previously analyzed files may benefit from re-analysis
v2.7.0
  • Added detection of an additional mixed-origin page-assembly forgery pattern
  • Includes guards against false positives on genuine documents
  • Previously analyzed files may benefit from re-analysis
v2.6.1
  • Improved scan classification reliability – fixed a false-negative where certain scanned PDFs were not returned as inconclusive.
v2.6.0
  • Introduced detection of an additional class of document assembly
  • Previously analyzed files may benefit from re-analysis
v2.5.3
  • Reduced false positives for a class of documents
v2.5.2
  • Reduced false positives for a class of documents
v2.5.1
  • Improved parser robustness so a class of multi-page documents is analysed correctly instead of passing as intact
  • Previously analyzed assembled documents may benefit from re-analysis
v2.5.0
  • Improved parser robustness so a class of documents is analysed correctly instead of bypassing analysis
  • Added detection of an additional PDF editing tool
  • Introduced detection of documents assembled from multiple independently imported pages
  • Previously analyzed files may benefit from re-analysis
v2.4.0–2.4.2
  • Fixed false ‘scanned document’ classification for a class of modern PDFs
  • Removed a false-positive basis in image analysis – affected PDFs are no longer incorrectly flagged
  • Recovered signature analysis on a class of documents that previously passed as unmodified
  • Expanded origin recognition to include a class of editors
  • Previously analyzed files may benefit from re-analysis
v2.3.0
  • Improved analysis consistency: all detection signals are now evaluated uniformly
  • Structural anomalies are now included in the analysis output
  • Reduced false positives for a class of PDFs
  • Previously analyzed files may benefit from re-analysis
v2.2.1
  • Fixed detection reliability for a class of modern PDFs
  • Resolved edge cases in document parsing
  • Previously analyzed files may benefit from re-analysis
v2.2.0
  • Introduced detection of template-assembly document forgeries
  • Expanded coverage to identify a class of composite documents
  • Previously analyzed files may benefit from re-analysis
v2.1.7–2.1.8
  • Improved detection accuracy: fixed rare false negatives where a real modification marker was missed
  • Improved post-signature tampering detection
  • Fixed false positives for a class of PDFs
v2.1.6
  • Added ‘Inconclusive’ result for a class of PDFs
  • New origin detection: API now returns origin.type and origin.software fields
  • New primary status field in API: ‘intact’, ‘modified’, or ‘inconclusive’
  • Result page now shows a grey ‘Inconclusive’ badge and explanation for these PDFs
v2.1.5
  • Improved detection accuracy for a class of documents
  • Previously analyzed files may benefit from re-analysis
v2.1.2–2.1.4
  • Improved detection accuracy for a class of documents
  • Reduced false positives for a class of PDF creation tools
  • Previously analyzed files may benefit from re-analysis
v2.1.1
  • Improved compatibility with modern PDF formats
  • Enhanced verification for digitally signed documents; significantly reduced false positives on legitimately signed PDFs
v2.1.0
  • Redesigned the detection engine with a new approach to identifying document modifications
  • Improved accuracy with a more robust analysis method
  • Introduced detection of a set of PDF editing tools
  • Previously analyzed files may benefit from re-analysis
v2.0.4
  • Fixed timezone bug in date display (dates no longer shown in the future)
  • Improved UTC timestamp handling for accurate relative time display
v2.0.3
  • Fixed false positive bug in PDF modification detection
  • Improved accuracy for metadata analysis
v2.0.2
  • Added user dashboard with API key management
  • Implemented passwordless authentication (Google, GitHub, Magic Links)
  • Created billing and subscription management interface
v2.0.1
  • Enhanced API infrastructure with monthly quota management
  • Improved typography and visual consistency
  • Updated documentation for PDF metadata analysis
v2.0.0
  • Major platform update – rebuilt application infrastructure
  • Migrated to Turso database with Drizzle ORM for improved reliability
  • Comprehensive UX improvements across the application
  • Enhanced error handling and stability
v1.0.0
  • Initial public release
  • Core PDF analysis features