Skip to content
dialegein

Corrections

Corrections

This index is built on the claim that its evidence can be checked. A site that records what it read and then never mentions a mistake would be using that evidence as decoration, so here is the other half: every statement we published that turned out to be wrong, what it says now, and how it was caught.

There are 170 of them so far, and the list grows as the rest of the programme is written up. Every entry is a statement a reader could have met, and internal housekeeping, refactors and tooling fixes are deliberately absent, because if a reader never saw the wrong version then it is not a correction to anything. Every entry names the commit that fixed it, and that is for our own accounting rather than yours: the repository is not public, so you cannot open the commit. This page therefore asks you to take one thing on trust that the rest of the site does not, and it is worth saying so plainly rather than implying otherwise. What you can check is the result, because the records, the pages and the dataset are all live: a vendor either says the thing we quoted or does not.

The list

  1. b990ecc

    All eleven task pages

    What it said
    Each page reported a redaction count and a processing complement: what the rest of the index does, rather than what the job needs. On the merge page that answered a question nobody merging documents had asked, and the complement sentences claimed behaviour on behalf of tools whose records said something else.
    What it says now
    Each page states what the job takes and produces and what limits it, and the limit line names no figure because limits are set per tool and the records carry the published ones. The complement sentences are gone, and the remainder is broken into named parts where it is stated at all.
    How it was caught
    An audit of the task views, which found the same paragraph doing the same irrelevant job on eleven pages.
  2. a953455

    All ten comparison pages

    What it said
    Two problems across the set. The short answer and the deciding difference restated each other, so the judgement was a paraphrase rather than a conclusion; and several pairs asserted things their own records did not support, including test coverage being treated as though it established something about privacy, and paid tiers being described as universally uncapped.
    What it says now
    Each answer gives the fact the reader searched for, each deciding paragraph gives the judgement that follows, coverage is scoped to the surface actually tested and dated, and the claims that outran their records are removed. A check now asserts that no deciding paragraph is a paraphrase of its answer above it.
    How it was caught
    Reading every pair against the two records it compares, which is where a recommendation outruns its evidence.
  3. b56c4a3

    The Smallpdf record, in the tagline, the worth-knowing note and the retention sentence

    What it said
    Three blanket statements. The tagline called the product Swiss-hosted, which described where the company is as though it were where files go. The worth-knowing note said every document is uploaded, which described a platform rather than the upload a tool performs. And the one-hour deletion sentence was published without saying whose claim it is or what it covers.
    What it says now
    The tagline says built in Switzerland, the vendor’s wording about the company. The note says using a web tool uploads the file and that whether that suits a confidential document is the owning organisation’s call. And the retention position is the notice’s own three cases, read in a browser rather than inferred: deleted within an hour when signed in unless saved, a saved file deleted within fourteen days of a request, and no fixed period at all for anyone not signed in, including a signature request, where the clock restarts every time the file is reopened.
    How it was caught
    The privacy notice would not serve its text to a fetch, so a person opened it and pasted it, which is what settled a question three automated attempts had left open.
  4. a953455

    The downloadable dataset, in tools.json and the spreadsheet

    What it said
    The export worked out where files are processed from one input while the pages worked it out from the edition rows as well, so 24 records published one answer in the downloadable data and a different one on their own page. Every surface was internally consistent, which is exactly why nothing caught it: not the build, not the type check, and no existing check.
    What it says now
    The export follows the same order and the same conditions as the site, adds the mixed and self-hosted states, and carries the scope and evidence the records gained. A check now compares the export’s verdict against the badge on the built page for every record, and its value was proved by putting the old flattening back, which failed the check, and removing it, which passed.
    How it was caught
    Comparing two surfaces that had never been compared to each other. A dataset and a page can both be right about themselves and wrong about each other.
  5. 25eba92

    The SnackPDF comparison page, near the top

    What it said
    The comparison recommended a product built by the person who runs this site, and the disclosure of that sat on the product record and nowhere on the page doing the recommending. A reader deciding between two tools had no way to know from that page that one of them was ours.
    What it says now
    A disclosure field on the comparison itself, rendered in a labelled block near the opening, so a disclosure that belongs on a recommending page cannot be left behind on a record. It also separates unequal test coverage from privacy, because one is a fact about our work and the other is a fact about the tools.
    How it was caught
    An audit of the comparison pages against their own records, looking for facts a record carried and a page did not.
  6. 92365a9

    The PDFium record, in the summary and the capability tags

    What it said
    It said PDFium cannot create, edit, encrypt or redact PDFs. Its own public API contradicts that: fpdf_edit.h declares FPDF_CreateNewDocument, FPDFPage_New and page-object insertion, so the library can build a document and put objects on a page.
    What it says now
    The record names what the API does and keeps explicit what does not follow from it, which is a complete redaction tool, an encryption workflow, or anything resembling editing in Acrobat. The generic convert tag is gone, an engine with no converter having nothing to convert with, and an edit tag is added with a scope reading document and page objects through the API rather than an editing interface.
    How it was caught
    Reading the library’s own header files rather than its descriptive pages, which is where a capability claim has to come from for a library.
  7. 92365a9

    The pypdf record, in the limitations note and two comparative claims

    What it said
    It said text extraction was limited by an absence of layout analysis. pypdf documents extract_text with extraction_mode set to layout, and documents visitor functions, so the limitation was not there. Two further sentences called text extraction its weakest area and named two other libraries as the better choice, which were comparative judgements with no benchmark behind them.
    What it says now
    The record says what the library documents, keeps the limitations that are real around complex layout and image-only scans, and describes what each library is built for instead of ranking them.
    How it was caught
    Reading the current extraction guide, which is the documentation the claim depended on.
  8. 92365a9

    The Tabula record, in the capability tags and the activity note

    What it said
    Three things. It was tagged for OCR although Tabula provides none and an image-only scan needs a separate step first. It was tagged as having a browser interface, when the local web interface the desktop application runs is not a browser JavaScript SDK. And it gave March 2025 as the last commit to either repository, from a release date, which is not evidence of abandonment.
    What it says now
    The OCR and browser tags are gone, the application and tabula-java are distinguished as separately maintained things, and the dated abandonment sentence is removed because the pass behind it had run no repository history check.
    How it was caught
    Checking each capability tag against the project’s own documentation, which is the only place a tag can come from.
  9. 6b42ea6

    The pdftk-java record, in the programmatic access row

    What it said
    Programmatic access read None, which contradicted both the description above it and the project’s own readme. pdftk-java is used in scripts, and the readme recommends other libraries for direct Java integration rather than presenting itself as one.
    What it says now
    The row reads CLI, and the note that it is not a general Java library API stays in the prose so the distinction is not lost by the label alone.
    How it was caught
    Comparing a field against the record’s own description, where the two disagreed.
  10. ccd1fd8

    The OneDrive document scanning record, in the capabilities note

    What it said
    It said the help pages document no OCR, so scans are not made searchable. Microsoft publishes a separate guide for recognising, searching and copying text in scanned PDFs in OneDrive on Android and iOS, marked as rolling out, so the absence was wrong.
    What it says now
    The record describes that workflow, says what it does not establish, which is whether recognition is embedded in the file and whether an export carries a text layer, records that no export was tested, and gains an OCR job entry carrying the workflow qualifier.
    How it was caught
    Searching the vendor’s own help centre for the feature rather than reading the page the record already cited.
  11. 95f9feb

    The fpdf2 record, in the limitations note

    What it said
    It said the library is a drawing library and not an HTML renderer. That is a fair description of the core and an unfair description of the product: fpdf2 documents basic HTML rendering through write_html, with no full HTML5 or CSS support.
    What it says now
    The note reads as a primarily programmatic PDF generator with basic HTML rendering through write_html and no full HTML5 or CSS, and the encryption and signing features are recorded as applying to the document fpdf2 produces rather than to an existing PDF it does not edit.
    How it was caught
    Reading the library’s own documentation index rather than its summary sentence.
  12. 95f9feb

    The ReportLab record, in the summary, the licence and the merge capability

    What it said
    The summary credited the open-source toolkit with importing pages from an existing PDF so they can be stamped or assembled. The official documentation places page reuse in PageCatcher, which is part of the commercial PLUS package, so a free-software capability was attributed to the wrong licence.
    What it says now
    The two are separate editions with separate licence components, the summary and the worth-knowing note say which side each capability is on, and the merge job carries a scope naming the boundary rather than leaving a reader to find it.
    How it was caught
    Following the capability into the vendor’s own product documentation, where it is filed under the paid package.
  13. b6298e2

    The docling record, in the licence field and the browser tag

    What it said
    The licence field said MIT, which reads as covering the whole project. The readme directs users to individual model licences in the packages they come from, so the label covered the code and silently excluded the optional OCR and vision language weights.
    What it says now
    MIT is scoped to the codebase and the model weights are recorded as a separate licence component. The browser interface tag is also gone, since docling-serve is an HTTP API with no documented client-side SDK, so it is its own edition with an HTTP interface.
    How it was caught
    Reading the licence file and the readme together, which is where a single-word licence label stops being sufficient.
  14. b6298e2

    The Surya and Marker records, in the model licence summary

    What it said
    The summary omitted a material clause. The current model licence also restricts entities offering competing products or services, alongside the revenue and funding conditions and the personal and research exceptions, so a reader could believe the threshold was the only restriction.
    What it says now
    Surya names the competing-product restriction, and Marker keeps the written exceptions rather than treating every use above the threshold as forbidden.
    How it was caught
    Reading the model licence file rather than the repository’s licence badge.
  15. 816dc8a

    The LibreOffice Draw record, in the redaction note

    What it said
    The content removal statement was unattached, so it read as though ordinary rectangles or any PDF export removed underlying information. That is the misconception the whole redaction guide exists to correct, and the record was feeding it.
    What it says now
    The statement is attached to File, Export As, Black and White Redacted Export, the workflow the help distinguishes from marks made while reviewing, and the record says plainly that an ordinary rectangle removes nothing. The status stays untested until exported files have been checked for recovery, metadata and attachments.
    How it was caught
    Reading the help page for the export workflow rather than accepting a general statement about the application.
  16. 1cd1344

    The SensusAccess record, in the programmatic access row

    What it said
    It read None, while the vendor documents a subscription web API and library and learning management integrations. A reader looking for programmatic access was told there was none.
    What it says now
    The row reads HTTP API, and the note separates API access, which needs an account and credentials, from the self-service form, where the fair processing notice says ordinary users need not sign up.
    How it was caught
    Reading the vendor’s integration documentation, which is a different page from the one the record was built on.
  17. 1cd1344

    The PAC record, in the accessibility verdict

    What it said
    The standard version limitation existed only in the notes, so the published verdict read as though the tool covered whatever PDF a reader brought. Full support is PDF 1.7, PDF 2.0 is best effort, and full PDF 2.0 and PDF/UA-2 are planned without a date.
    What it says now
    The version boundary appears where a reader meets the verdict, the automated checks, the AI hints and the required human review stay distinct from each other, and the offline assurance is marked as reported rather than network tested.
    How it was caught
    Comparing what the notes knew against what the page said, which is the gap this programme found most often.
  18. b0c0708

    The Amazon Textract record, in the free tier row

    What it said
    The free tier read No categorically. AWS documents a three month introductory allowance for new customers that varies by API and excludes Custom Queries, so a reader planning an evaluation was told there was nothing to evaluate with.
    What it says now
    The record describes that allowance. The free tier field stays false, because the point is that it is a trial rather than an ongoing tier, and related storage and notification charges are named without estimating a bill.
    How it was caught
    Reading the pricing page rather than the product page, which is where an introductory allowance is stated.
  19. 9666b41

    The Stirling PDF record, in the processing and test statements

    What it said
    A claimed self-hosted test stood beside an inherited statement that the self-hosted instance had not been checked. Two sentences on one record said opposite things, and a reader had no way to tell which was true.
    What it says now
    The processing statement is deployment specific, files go to the instance you run wherever it is hosted, and the test is scoped to one operation, one version and configuration, and the hosts it captured.
    How it was caught
    Reading the record against itself, which is what found most of the contradictions in this programme.
  20. 9666b41

    The borb record, in the redaction verdict

    What it said
    The badge said it removes content, confidently, while the record’s own evidence contradicted it: the open-source annotation implementation is a placeholder, and the vendor’s two pages disagree about whether the paid path removes content or hides it.
    What it says now
    The verdict is unverified, because hidden and removed are different claims and the evidence supports neither. The telemetry inconsistency in the privacy policy is recorded rather than resolved, and a claim about being the first network-active local library is gone.
    How it was caught
    Reading the two vendor pages against each other, which disagreed about the same feature.
  21. feb912c

    The Telerik Document Processing Libraries record, in the processing note

    What it said
    It said no document ever leaves the process, which had been inferred from the absence of an Office or Acrobat dependency. Not depending on something is not evidence of no network traffic, and the sentence sat beside a shared disclaimer saying the opposite.
    What it says now
    The library is described separately from the application hosting it, the documented generative AI, timestamp and signing paths are named as configured external routes, merge, sign and protect membership is added, and the record notes that generated output does not automatically pass accessibility testing.
    How it was caught
    Asking what the evidence actually established rather than what the absence of a dependency suggested.
  22. c31aa6d

    The SetaPDF-Core record, in the price row and two capability claims

    What it said
    Pricing read quote-based with no published figure, while the vendor publishes the server licence at EUR 180 excluding VAT, tied to one server or virtual machine, with a separate cluster and cloud licence and renewals at 20 percent. Separately, the record said Core provides no drawing API, and its feature list includes a page canvas object. And pure PHP was treated as a guarantee of local-only deployment, while HTTP writers and S3 stream wrappers are documented.
    What it says now
    The published figure, the renewal rate and the basket effect are recorded, since Core is included in each component so a workflow needs a basket rather than a sum. The drawing claim is removed, and the deployment claim is a statement about where the library runs rather than about what it can be configured to reach.
    How it was caught
    Reading the vendor’s price list and feature list rather than the summary pages.
  23. 80760fe

    The pdftools PDF Web Viewer record, in the redaction claim

    What it said
    It called itself the only tool in the index documenting client-side redaction. MuPDF.js documents browser-capable redaction too, so the superlative was wrong on a fact a reader could check in the index itself.
    What it says now
    The claim is gone. Client-side and air-gapped deployment are recorded as options rather than proof that every embedding application keeps files local, since the SDK can open URLs, and edit is described as annotation and form operations rather than general editing of existing text.
    How it was caught
    Searching the index for the same capability, which is what a superlative claim always needs before it is published.
  24. dba3122

    The PDF Expert record, in the processing badge

    What it said
    The badge said no server is involved, while the record’s own note described conversion uploads, AI providers and optional cloud sync. The badge is the part a reader sees first and the caveat was underneath it, so the two most visible things on the record disagreed.
    What it says now
    The badge reads Mixed, depends on version and feature. Installed editing stays separate from conversion uploads, AI providers and enabled cloud sync, OCR is scoped to Mac 3.0 and later with iOS not yet available, and the lifetime licence being Mac-only is explicit.
    How it was caught
    Reading the badge against the note beneath it, after a locality change had moved the note and not the badge.
  25. 25eba92

    The SimplePDF record, in the why-no-redaction note

    What it said
    The negative rationale said the vendor had no whiteout mention, which was the ground for a no-redaction verdict. The vendor’s official guide for the whiteout tool exists, so the reason given for the verdict was untrue even though the verdict happened to be right.
    What it says now
    The guide is cited, and the verdict stays no redaction on the ground that actually supports it: a whiteout covers text, and secure removal has not been established.
    How it was caught
    Looking for the page the note said did not exist, which is the check every negative claim deserves.
  26. 25eba92

    The SumatraPDF record, in the redaction verdict

    What it said
    It said there is no redaction at all. The vendor documents applied redaction in the 3.7 pre-release, so a product-wide removal claim was wrong and it was wrong in the direction that reads as reassuring.
    What it says now
    The verdict is unverified, with the version boundary stated, rather than a claim covering a whole product.
    How it was caught
    Reading the pre-release notes, which is where a feature arrives before the stable documentation mentions it.
  27. 1b68af6

    The iLovePDF record, in the processing and redaction notes

    What it said
    The notes shouted. Emphatic capitals and the internal history of which correction changed which word were published as though a reader needed them, so the evidence a reader could use was buried under the account of how it had been arrived at.
    What it says now
    Short neutral evidence notes, dated where a date matters. Two capitals deliberately stay: one is a literal token a check reads rather than emphasis, and the other is an acronym.
    How it was caught
    Reading the published note as a reader rather than as the person who wrote it.
  28. 95f9feb

    The jsPDF record, in the processing note

    What it said
    It claimed no network call exists in the library, as an absolute. That is close to true and not true: the browser file-loading module performs GET requests for resources the caller names, so a reader could configure a fetch the sentence denied.
    What it says now
    Generation needs no vendor-hosted rendering service, and the caller-named resource loading is stated, with the distinction that loading a resource is not uploading a document.
    How it was caught
    Reading the module’s source rather than the library’s summary, which was written for a different question.
  29. 1cd1344

    The RoboBraille record, in the range claim and the free-use condition

    What it said
    Its Braille output was described as broader than anything else in the index, a comparative claim with no comparison behind it. And the free-use condition was narrower than the word free suggests: individual, non-commercial users not affiliated with an institution obliged to provide support, with institutions needing a subscription.
    What it says now
    The superlative is gone. The free-use condition appears where a reader meets it rather than only in the notes, and the documented library and learning management integration is described as an institutional arrangement rather than a public API.
    How it was caught
    Reading the vendor’s terms, which is where a free tier stops being simply free.
  30. 1cd1344

    The Adobe PDF Accessibility Auto-Tag API record, in the positioning claim

    What it said
    It said this was the only tool in the index tagging at scale through an API. Equidox documents API-integrated batch remediation and is already listed here, so the superlative was wrong on a fact a reader could check in the index.
    What it says now
    The claim is gone. The warning stays, that it replaces existing tags and does not guarantee WCAG or PDF/UA compliance.
    How it was caught
    Searching the index for the same capability before publishing an exclusivity claim about it.
  31. 1cd1344

    The Allyant PDF Validator, CommonLook Office and AccessibilityNow records, in the requirements and tone

    What it said
    Three things across the records. An Acrobat X version floor was stated as fact while the current page calls the product an Acrobat Pro plug-in. Phone contact details were marked as required when they are not, so the requirements list was stricter than the vendor’s. And a claim that the verification rebuttal was complete was scoped to the automated portion only, while the vendor guides a person through further checkpoints.
    What it says now
    The version floor is marked unconfirmed, the fields are not all mandatory, a plug-in architecture is not treated as evidence of network behaviour in either direction, the rebuttal is scoped to what it covers, and marketing built on fear is replaced by the vendor’s claims attributed with the questions a buyer should ask.
    How it was caught
    Reading the current pages against the record, and treating tone as a factual claim rather than as presentation.
  32. b0c0708

    The Amazon Textract, Google Document AI, Adobe PDF Extract and Azure Document Intelligence records, in the file size rows

    What it said
    Each carried a bare maximum size number, which is the wrong shape for a cloud API: the limit depends on whether the call is synchronous or asynchronous, what the input is, and how many pages it has. A single figure told a reader a limit that did not apply to their call.
    What it says now
    Mode-specific limits, every figure taken from the vendor’s documentation: Textract at 10 MB synchronous and one page for PDF or TIFF, 500 MB and 3,000 pages asynchronous, and 10 MB either way for JPEG and PNG. Google Document AI at 40 MB online and 1 GB batch, with 30 contiguous pages for eligible imageless online requests. Adobe at 100 MB, 400 pages native and 150 scanned, kept nominal because complex files can hit lower limits. Azure’s 500 MB scoped to tier, API version and model. The single size field stays empty on all four, because one number is what was wrong.
    How it was caught
    Reading each vendor’s limits page for the operation rather than the product.
  33. b0c0708

    The Google Cloud Vision and Document AI record, in the privacy attribution

    What it said
    The record covered two services as one, and cited a data usage notice belonging to Vision as though it established retention for Document AI. Input support, storage, regions, prices and limits also differed between them.
    What it says now
    The two are kept apart, the linked data usage notice is marked as Vision’s and cannot establish Document AI retention, and the structured extraction use case gained extract membership with a scope naming Document AI processors.
    How it was caught
    Following the privacy link to see whose document it is, which is a check worth doing on every vendor-hosted claim.
  34. 9666b41

    The DocuSeal record, in the licence note

    What it said
    It described the additional terms as imposing extra conditions on commercial or competing use. The terms file requires retaining original attribution in interactive interfaces, which is an attribution condition rather than a restriction on competing, so the record overstated what the licence forbids.
    What it says now
    The record says what the condition is, and keeps the AGPL obligations, the attribution requirement and the separately licensed Pro features distinct from each other.
    How it was caught
    Reading the additional terms file as a licence rather than reading the sentence that described it.
  35. 9666b41

    The DocuSeal and Documenso records, in the self-hosting claims

    What it said
    Self-hosting was taken to mean every communication stays on your own server. It does not: hosting and storage are deployment choices, and DocuSeal documents local disk or AWS, Google and Azure storage, plus SMTP delivery for the messages it sends.
    What it says now
    The records say what self-hosting decides and what follows from configuration instead, which is the distinction a reader running a confidential workflow actually needs.
    How it was caught
    Reading each vendor’s deployment documentation past the sentence that says self-hosted.
  36. feb912c

    The Aspose PDF and Spire PDF records, in the evaluation limits

    What it said
    Both asserted that a longer operation silently truncates a real document. The vendors document page limits, at four evaluation pages for one and ten for loading with three for image conversion, and a documented page limit is not the same finding as a failure mode. Neither was tested.
    What it says now
    The documented limits are kept, the words trap and worse are gone, and the requirement to use a temporary licence and test the full document is recorded.
    How it was caught
    Asking whether a limit describes behaviour or merely bounds it, which is the difference between a finding and an inference.
  37. feb912c

    The Syncfusion PDF record, in the watermark and licence rows

    What it said
    The watermark field conflated the Community licence with an unlicensed trial, so a reader on the free Community licence was told to expect a watermark they would not get. The record also carried a browser tag on an in-process library.
    What it says now
    The Community licence is its own route with its own eligibility stated: under one million dollars gross revenue, at most five developers and ten employees, no more than three million outside capital, plus the vendor’s conditions for client and government work. The browser tag is gone.
    How it was caught
    Reading the licence terms rather than the download page’s description of them.
  38. c31aa6d

    The PDFlib record, in the processing note and the task scope

    What it said
    It said documents are generated and never sent anywhere, which is an architecture described as a network test. The vendor’s own feature matrix includes internet download helpers and network resources. The task scope also missed documented tagged PDF, PDF/UA-1 and encryption support.
    What it says now
    The statement is scoped to an embedded library rather than to observed network behaviour, accessibility and protect membership is added from the documented features, and the paid levels for PDI and PPS are kept distinct from the base product.
    How it was caught
    Reading the feature matrix, which lists capabilities the prose pages do not mention.
  39. c31aa6d

    The ICEpdf record, in the maintenance narrative

    What it said
    It read as an abandoned project, built on the state of the original vendor site. The community project on GitHub is maintained, documents Apache 2.0 and Java 11, and publishes current artifacts.
    What it says now
    A neutral distinction between the legacy site and the maintained community project, with the licence and current version recorded. A competitor’s marketing is not used as evidence of maintenance or support.
    How it was caught
    Looking for the project rather than for the company, which is the difference for anything that has been forked.
  40. 80760fe

    The pdftools SDK record, in the hosting claim and the outlook

    What it said
    It said the same company sells a hosted conversion service, which the documentation does not establish: self-hosted, on-premises and cloud deployment on Windows, Linux and Docker are all documented, and a REST API is not evidence that the vendor hosts it. The record also predicted that the acquisition would change commercial terms.
    What it says now
    The documented deployment options, with the note that a REST API proves nothing about hosting, and the documented acquisition notice in place of a prediction. Redaction stays uncertain for this SDK rather than borrowing the viewer product’s verdict.
    How it was caught
    Reading the deployment documentation past the API reference, and refusing to carry a sibling product’s verdict across.
  41. 80760fe

    The GroupDocs record, in the price row and the redaction warning

    What it said
    Pricing read quoted with no figure, while the vendor publishes dated starting prices. And the redaction warning stopped at hide or remove, when the .NET documentation describes rasterised PDF as the default save path, which loses searchable text and original metadata.
    What it says now
    The published starting prices are recorded as starting configurations, and the redaction warning carries the output mode and what it costs in searchable text and metadata, with original-format output named as the option that avoids it.
    How it was caught
    Reading the API documentation for the default parameters, which is where a redaction verdict is decided in practice.
  42. 80760fe

    The pdfRest record, in the price row and the usage note

    What it said
    It said no figure is published, while the vendor publishes a Cloud, AWS and Container matrix, with Cloud Starter at 100 calls a month and watermarked output. A reader also could not tell what a call is: billable calls include POST, DELETE and status polling rather than one per document.
    What it says now
    The matrix with its starting tier and watermark, and an explanation of what gets billed, which is the difference between a cheap-sounding price and an actual monthly cost.
    How it was caught
    Reading the pricing matrix and the billing documentation together.
  43. dba3122

    The Goodnotes record, in the processing note, the watermark and the free plan limit

    What it said
    It said files stay on your device, scoped to the web. That flattened Apple-local storage, iCloud and Goodnotes Cloud into one answer, marked free exports as clean when the vendor documents a watermark, and gave a file size limit without saying it applies to the free plan only.
    What it says now
    An edition and feature specific description that separates Apple local and iCloud from Goodnotes Cloud, records free exports as vendor-documented watermarked, and scopes the limit to the free plan. A pricing and support conflict in the vendor’s own pages is exposed rather than resolved.
    How it was caught
    Reading the plan comparison rather than the product page, which is where a limit’s scope lives.
  44. 5642122

    The Foxit PDF Editor and Nutrient records, in the processing and licensing notes

    What it said
    Foxit’s local processing claim covered features that are not local: Smart Redact runs as cloud processing on Azure with vendor-reported deletion and a fifty-document allowance. Nutrient’s local badge covered the whole product when it applies to the client-side Web SDK, and its licensing was described as uniform when it is product specific.
    What it says now
    Foxit records that Local AI runs offline while Smart Redact is cloud processing. Nutrient restricts the local claim to the client-side Web SDK, records product-specific licensing, and keeps the redaction limitation that the application must be applied before export and does not sanitise all metadata.
    How it was caught
    Reading each feature’s own page rather than the product’s headline claim, on both records.
  45. 25eba92

    The merge task page, in the tool table

    What it said
    The page carried a redaction column and a redaction total, on a task where whether a tool can remove content has nothing to do with combining files. It invited a reader to weigh a criterion the job does not use.
    What it says now
    The column appears only where content removal is a live question for that job and a tool has a finding, so merge has none and edit still does. The same rule is applied from the other side on the task pages, where the counts describe the job rather than the index.
    How it was caught
    Reading the task page as someone who wants to merge two documents, rather than as someone auditing the index.
  46. 25eba92

    The merge task page, in the numbered recommendations

    What it said
    A bare numeral sat before each recommendation, which read as a stray list number that had drifted between unrelated rows rather than as any kind of ranking.
    What it says now
    Each reads Our pick followed by its number, and the page states how the shortlist was chosen, so a labelled recommendation is traceable to a method.
    How it was caught
    Reading a rendered page for what a numeral looks like when it is not attached to anything.
  47. 25eba92

    The merge task page, in the PDFsam row

    What it said
    The row carried generic product detail on a page about merging, so a reader learned what the product is rather than whether it merges well.
    What it says now
    Merge-specific facts: free installed merging, page ranges, bookmark handling, field-name collision handling and page mixing, with Enhanced redaction kept as a separate paid edition rather than folded into the free listing.
    How it was caught
    Comparing a row against the question its page exists to answer.
  48. 25eba92

    The merge task page, in the SumatraPDF entry

    What it said
    The entry presented merging as available without saying that the vendor documents it for the 3.7 pre-release, so a reader on the current stable build would reasonably expect a feature they may not have.
    What it says now
    The entry carries a scope naming the pre-release, so the version boundary is on the row rather than in a note a reader has to go looking for.
    How it was caught
    Reading the release notes against the stable documentation, which is where a version boundary hides.
  49. 25eba92

    The SnackPDF and SimplePDF comparison, in the two opening blocks

    What it said
    The short answer and the deciding difference were substantially the same paragraph, so a reader got one idea twice and the judgement that was supposed to follow the fact was buried in the second copy.
    What it says now
    One concise answer states the fact, and the second block covers a different question: everyday local form filling against collecting form responses from a group.
    How it was caught
    Reading the two blocks next to each other, which is the only way a paraphrase shows up.
  50. 07be862

    The SnackPDF and SimplePDF comparison, in the opening

    What it said
    The opening implied that every SimplePDF workflow keeps files off the device. Its paid submission workflow does not: the vendor says the completed document is stored on their side or in storage you supply.
    What it says now
    The subject is about editing, and the answer separates free local editing from the paid submission workflow, so the local claim is scoped to the part of the product it is true of.
    How it was caught
    Following the paid workflow on the vendor’s own site rather than reading the free tool’s description as the product’s description.
  51. 07be862

    The SnackPDF and SimplePDF comparison, in the price row

    What it said
    It showed only a rounded figure converted into pounds, which made a free personal editor look paid and hid which plan the number belonged to.
    What it says now
    The vendor’s own figure in its own currency appears first with the conversion labelled, and the record holds it separately so a comparison can prefer the published number over a derived one.
    How it was caught
    Asking what plan a price row was actually about, which the rounded figure did not say.
  52. 07be862

    The Tesseract and OCRmyPDF comparison, in the dependency claim

    What it said
    It said OCRmyPDF inherits Ghostscript as a dependency. The current documentation lists pypdfium2 as an alternative, so Ghostscript is not strictly required, though older and packaged builds differ.
    What it says now
    The dependency is qualified rather than stated as inherited, which matters because the licence you are bound by depends on which of the two you have.
    How it was caught
    Reading the current installation documentation instead of an older description of it.
  53. 07be862

    The OCRmyPDF record, in the licence summary

    What it said
    The summary implied Ghostscript is always bundled, so a reader assessing licence obligations would count a dependency that may not be there.
    What it says now
    The core licence is matched to the repository and the dependencies are qualified, because which licences bind you depends on what you install or distribute.
    How it was caught
    Reading the licence file in the repository rather than the licence name on the project page.
  54. 07be862

    The PDFsam record, in the free, open-source, account and platform fields

    What it said
    Four fields mixed three editions together, so a reader could not tell which edition a badge described and reasonably assumed the answers applied to the product as a whole.
    What it says now
    Three edition rows carry their own platforms, licences and processing notes, redaction is recorded as an Enhanced capability holding its own plan evidence, and the merge listing names Basic so the free path is not confused with the paid one.
    How it was caught
    Asking which edition each badge was about, a question the record could not answer.
  55. 07be862

    The Tesseract OCR record, in the processing statement

    What it said
    It said no server is involved. For an embeddable library that is an absolute statement about something the library does not decide: where it runs depends on how a developer deploys it, and a hosted integration can receive files.
    What it says now
    The deployment distinction, with the engine described as locally installed and its processing location depending on how it is deployed, and the PDF input limitation stated in the same field rather than separately.
    How it was caught
    Asking who decides where the code runs, which for a library is not the vendor.
  56. c31aa6d

    The MuPDF.js record, in the package, task scope and licence claims

    What it said
    It did not name the official package, so a reader could install a deprecated community one; it carried an unverified bundle size figure as fact; and it made a categorical claim about when a commercial licence is needed.
    What it says now
    The official npm package is named and the deprecated community package is distinguished from it, view, extract and image-output membership is added, the commercial licence is described as the vendor’s own distinction rather than a rule, and the bundle figure is removed rather than carried forward.
    How it was caught
    Checking which package the vendor actually publishes, and removing a number nobody had measured here.
  57. 5642122

    The Bluebeam Revu record, in the processing badge

    What it said
    The badge was scoped to the web while the record covered a desktop application alongside Studio sessions and cloud apps. Ordinary offline subscription access also needs a Bluebeam ID, with reauthentication every thirty days, which the record did not say.
    What it says now
    The badge reads Mixed, depends on version and feature, and the note explains what the account requirement means for someone who expected a desktop application to work offline indefinitely.
    How it was caught
    Reading the account and licensing documentation, which is where an offline claim stops being true.
  58. 07be862

    The Tesseract and OCRmyPDF comparison, in the availability row

    What it said
    The row was labelled Currently working, and the evidence behind it was a website response time. A vendor’s website answering says nothing about whether an installed application works, and the label asserted more than the measurement could carry.
    What it says now
    The row is named Website responded, so it says what was measured rather than what the measurement was taken to mean.
    How it was caught
    Asking what the number in a row was actually produced by, which is the check every status label deserves.
  59. f3595af

    The SimplePDF record, in the vendor figure note

    What it said
    The note speculated that one vendor figure was small enough to be plausible for a tool of this kind, and that no source exists to look for. Both are judgements about a number rather than findings about it, and neither had an audit behind it.
    What it says now
    The figure is reported as the vendor’s, with the method unpublished and the usage unaudited, and whether it looks plausible is not stated at all.
    How it was caught
    Reading a plausibility verdict and asking what would have tested it.
  60. f3595af

    The SnackPDF record, in the test findings and the tool counts

    What it said
    Historical test findings were presented in a way that read as tests this pass had performed, and the page carried freshness and count notes that contradicted each other.
    What it says now
    The findings are dated results from the runs performed on 16 September and after, each naming the workflow it covers, with the tool counts reconciled to this date and the vendor material read since supporting the mechanism without claiming to reproduce those tests.
    How it was caught
    Comparing the page’s own dates and counts against each other, which is where a contradiction shows up before any external check catches it.
  61. 1b68af6

    The iLovePDF record, in the file size limit

    What it said
    The limit was a universal unknown, which is not what the vendor publishes: the pricing page lists 100 MB for merging and 200 MB for compression on the limited tier, so the honest answer is that the limit is set per task rather than that there is no figure.
    What it says now
    The listing says the limits are set per task and quotes the published ones, and the single maximum size field stays empty rather than carrying one figure across every task.
    How it was caught
    Reading the task-level pricing table instead of looking for a product-level number that does not exist.
  62. 1b68af6

    The iLovePDF record, in the summary, the price and the region

    What it said
    The summary said the product works across web, desktop and mobile without installing anything, when the desktop and mobile applications are downloads. The price showed five pounds a month with nothing saying that is the annual rate, with monthly billing at nine. And the data region read European Union while the record’s own note quoted a policy that allows processing outside it.
    What it says now
    The summary says the web tools need no install and the apps are separate downloads under one account, the price carries the commitment behind it, the region reads multiple rather than the narrower half of a two-part statement, and the worth-knowing note separates the tools that need an account from those that do not.
    How it was caught
    Reading each field against the note beneath it, which had already recorded the qualification the field omitted.
  63. 9e9d622

    The Smallpdf record, in the vendor user count

    What it said
    A vendor figure was met with our own judgement that it is roughly a fifth of the world’s population and therefore not credible. Neither claim had an audit behind it, and a plausibility verdict about a large number is not a finding about the product.
    What it says now
    The attribution is kept and what is missing is stated: the figure is the vendor’s, what it counts is not said, whether people, sessions, documents or visits, and no method or independent audit is published, so it is unverified and we cannot say what it measures.
    How it was caught
    Asking what would have to be true for the judgement to be checkable, and finding that nothing would.
  64. 92365a9

    The pdfplumber and pdfminer.six records, in the dependency wording

    What it said
    Both said they bring no compiled extensions and need no compiled system dependencies. pdfplumber requires pypdfium2 and Pillow, and pdfminer.six requires cryptography and optionally Pillow, so the project code being pure Python said nothing about what installing it brings.
    What it says now
    Both records say the project code is pure Python while the installation brings those dependencies, and that wheel availability and source-build prerequisites depend on platform and version.
    How it was caught
    Reading each project’s install requirements rather than its description of itself.
  65. 92365a9

    The pdfplumber record, in the scanned page note

    What it said
    It said a scan needs a text or explicit-lines strategy, which is not what a table strategy does with a scan. The sentence pointed at a setting rather than at the missing step.
    What it says now
    Borderless digital tables and scanned pages are stated apart, with recognition named as the step that is absent and no promise made about the quality of what comes out of it.
    How it was caught
    Asking what the suggested setting actually extracts from an image-only file, which is nothing.
  66. 92365a9

    The pikepdf record, in the capability tags

    What it said
    The record carried a generic conversion tag. pikepdf rewrites and linearises a document’s structure, and its own overview distinguishes that from rasterising a page or changing the format, so the tag said more than the library does.
    What it says now
    The conversion tag is gone, leaving the record claiming only the structural operations it documents.
    How it was caught
    Comparing a category tag against the library’s own description of its scope.
  67. 6b42ea6

    The Poppler record, in the command line limitation

    What it said
    It said the command-line tools take one input file per invocation. pdfunite accepts several source documents and one destination, which its own source declares and loops through, so the limitation was simply false.
    What it says now
    The record separates document assembly from batch processing of unrelated jobs, and does not infer a native batch interface from the fact that merging takes multiple inputs.
    How it was caught
    Reading the source of the specific tool the sentence was about, rather than generalising from one tool to the set.
  68. 6b42ea6

    The pdfcpu record, in the content removal statement

    What it said
    It said there is no redaction and no true content removal, which collapsed two different things and overstated the second. The project documents removing stamps, watermarks and signatures, and manipulating pages and objects.
    What it says now
    The absence of a documented general redaction workflow is stated separately from those removal operations, with the note that they are not proof that arbitrary content has been securely removed.
    How it was caught
    Reading the command list instead of accepting a summary that had been written about the absence of one feature.
  69. 6b42ea6

    The Apache Tika record, in the crash isolation claim

    What it said
    So a malformed file cannot take the host down was published as a guarantee. The vendor describes crash-isolated forked parsing in the 4.x line, which isolates a parser crash rather than conferring immunity to resource exhaustion or to every kind of failure.
    What it says now
    The record describes that isolation for what it is, and dates the version facts it rests on.
    How it was caught
    Reading the feature as the vendor scopes it rather than as the consequence it sounds like.
  70. 6b42ea6

    The MuPDF and mutool record, in the redaction evidence

    What it said
    The redaction evidence cited a different project’s page documentation, which describes an interface this record is not about, so the citation did not support the entry it sat under.
    What it says now
    It cites MuPDF’s own page API, says which interface that is, and notes that the mutool subcommand collection is a different set of operations again. Removal stays a documented capability and independent safety stays untested.
    How it was caught
    Following the citation to see whether the document behind it was about the thing being claimed.
  71. ccd1fd8

    The Genius Scan record, in the data region

    What it said
    The region read European Union and the note said EU backend, while the privacy policy permits storage in the EU or in countries the vendor considers adequate under European rules, which is wider. The narrower half of a two-part statement had been published alone.
    What it says now
    The region reads multiple, and the workflows are separated rather than promised together: document sync, exports and analytics have their own destinations. A European company is not treated as a guarantee of European-only processing.
    How it was caught
    Reading the storage section of the policy rather than its heading.
  72. ccd1fd8

    The Genius Scan record, in the free tier

    What it said
    The free tier was described as fully functional with the paid features blurred into it, so a reader could believe recognition and cloud backup were included. The watermark field was empty when the vendor’s pricing page states that scans are produced without watermarks.
    What it says now
    The summary separates unlimited basic scanning from the paid features, which are recognition, cloud backup and sync, web access, advanced organisation and extra export targets, and the watermark answer is false on the vendor’s own statement with the citation recorded and no output test claimed.
    How it was caught
    Reading the plan comparison rather than the product page, which is where a paid feature stops being part of free.
  73. ccd1fd8

    The Adobe Scan record, in the storage note

    What it said
    The phrase rather than staying on the phone implied that cloud backed storage excludes a local export, which is not what the vendor says.
    What it says now
    The record separates cloud-backed storage from export destinations, since the vendor lists local storage alongside the account and connected services, and it says plainly that a local export is not proof that capture or recognition happened offline.
    How it was caught
    Reading the export list rather than inferring it from the storage sentence.
  74. ccd1fd8

    The SwiftScan record, in the AI processing claim

    What it said
    It concluded that the AI summarise and translate tools are cloud features, stated as established fact, while the record’s own caveat said only that the vendor does not describe them as running on the device.
    What it says now
    The record says their processing location has not been confirmed, and says why: advertising a feature does not establish where it runs.
    How it was caught
    Comparing a conclusion against the caveat sitting next to it, which was narrower than the conclusion.
  75. 95f9feb

    The Apache FOP record, in the positioning sentence

    What it said
    It called FOP the reference open source implementation of XSL-FO, which is a claim about a standards body that no project page can establish, and it presented XSLT as the way in when XSLT is one common way to produce the input rather than the required one.
    What it says now
    The reference-implementation claim is gone. FOP consumes formatting objects, XSLT is described as a common way to produce that input, and an application may supply the formatting objects directly. The distinction from an HTML and CSS renderer is kept.
    How it was caught
    Asking who would be entitled to say reference implementation, and finding that no page the project publishes is.
  76. 95f9feb

    The Prince record, in the release cadence note and the platform list

    What it said
    It inferred that a fix may wait for the next major version, which the download page contradicts: prerelease builds carrying fixes and improvements are offered, so a stable release date does not describe the support cadence. The record also described its missing operating system list as a product limitation when it is a gap in our reading.
    What it says now
    The inference is removed, the platform list is described as something we could not read rather than something the product does not publish, and the dated release fact is kept.
    How it was caught
    Reading the download page past the version number, which is where the prerelease builds are.
  77. b6298e2

    The docling, marker, surya, grobid and tesseract.js records, in the comparative claims

    What it said
    Five records carried phrases like the highest quality Markdown, the most capable open option and the strongest open tool. No comparison had been run, so each was a ranking with nothing behind it, and one rested on a vendor’s own benchmark presented as our conclusion.
    What it says now
    Each says what the tool is built for, and a vendor’s own benchmark is attributed to the vendor rather than converted into a ranking.
    How it was caught
    Searching the index for superlatives and asking, for each, what measurement would support it.
  78. b6298e2

    The Tesseract.js record, in the output formats

    What it said
    It described word and symbol geometry, hOCR and TSV as what the library returns. The readme says version six disables outputs other than text by default and shows hOCR being switched on explicitly, so the description covered what is available rather than what comes back.
    What it says now
    The outputs are qualified by version and described as opt in, and the distinction between image input and no direct PDF support is untouched.
    How it was caught
    Reading the readme rather than the feature list, which is where a default is stated.
  79. 816dc8a

    The LibreOffice Draw record, in the programmatic access row

    What it said
    Programmatic access read None, which the suite’s own documentation does not support: it documents command-line conversion and export, and the PDF export filter takes documented options.
    What it says now
    The field reads CLI, and the prose says what that covers, which is export automation, and what it does not, which is an embeddable drawing SDK or faithful editing of every imported PDF.
    How it was caught
    Reading the command-line documentation for an office suite whose programmatic route is the command line.
  80. 816dc8a

    The zathura record, in the processing note

    What it said
    Two absolutes the project does not support: no network component described, and nothing leaves the device. Its documentation includes opening links in an external browser, which sends nothing about the document but is an outbound action. The record also called it the most configurable viewer in this index, a comparison defined nowhere.
    What it says now
    The note is scoped to local document viewing and names the external-browser exception, and the superlative is gone.
    How it was caught
    Reading the record against itself, and then reading the built page, where the old sentence was still rendering because it lived in the locality recipe file rather than the record.
  81. 1cd1344

    The SensusAccess record, in the comparison and limits

    What it said
    It carried a directory-wide superiority claim with nothing behind it, and treated three branded services as one product, so limits were inherited from one across all of them.
    What it says now
    The three services are named separately, the self-service converter, the high-volume remediator and the manual compliance service, with their limits kept apart. The vendor-reported retention is recorded: source deleted after processing, delivery files up to seven days, and possible storage in spam filtering systems.
    How it was caught
    Reading the product list as a list of products rather than as one service.
  82. b0c0708

    The Azure AI Document Intelligence record, in the container claim

    What it said
    It said the same cloud models run in containers. The installation documentation supports Read and Layout for one version, with additional models on two earlier ones, so parity is version and model specific. Billing telemetry was also being read as document upload.
    What it says now
    The version and model detail is stated, billing traffic is distinguished from sending a document, disconnected licensing is separated, and the record notes that a container image does not require a Linux host.
    How it was caught
    Reading the container installation documentation rather than the cloud service’s feature list.
  83. b0c0708

    The Reducto record, in the price row

    What it said
    Pricing read as quoted with no figure, while the vendor publishes per-endpoint prices, including a rate per thousand pages and an introductory allowance.
    What it says now
    The published tiers and the per-endpoint figure are recorded, with the credit explained as the billing unit rather than a page.
    How it was caught
    Following the pricing link to the endpoint table rather than reading the homepage’s summary of it.
  84. 9666b41

    The DocuSeal record, in the API and embedding costs

    What it said
    The free cloud request allowance was presented without saying which tier it belongs to, and API access and embedding were not distinguished from the plan a reader might already be on.
    What it says now
    The allowance is scoped to the cloud tier, API and embedding are recorded as paid features with a per-completed-document charge including on the self-hosted Pro edition, and the vendor-reported indefinite cloud retention is stated.
    How it was caught
    Reading the plan table rather than the feature list, because a free allowance belongs to a tier.
  85. 9666b41

    The tc-lib-pdf and Gotenberg records, in the processing claims

    What it said
    tc-lib-pdf was described as generating in process, which is not the same as having no external interactions: the extensions it needs, optional outbound calls for timestamp authorities, signing and revocation endpoints, and controlled remote resource access all sit outside the process. Gotenberg’s files stay on your device was a claim about a server product.
    What it says now
    Both are deployment specific. tc-lib-pdf names the extensions, the outbound paths and the fact that it is not a drop-in replacement for the project it came from. Gotenberg says files go to the instance the operator runs, and that URL conversion, outbound filtering, downloads and webhooks mean no workflow has zero outbound transfers.
    How it was caught
    Asking what else the process reaches, which is the question in-process claims always skip.
  86. 9666b41

    The PDFShift record, in the file size and the rendering engine

    What it said
    A single 250 MB maximum was published while the pricing table lists a no file size limit feature on some tier, so the universal figure contradicted the vendor’s own table. And exactly as a browser shows it was doing work it could not do.
    What it says now
    The maximum size field is empty with the free plan figure kept in the note, because one number was the problem, and the rendering is described as Chromium based.
    How it was caught
    Reading the pricing table’s feature rows rather than its headline figure.
  87. feb912c

    The Antenna House Formatter record, in the interfaces

    What it said
    An exclusive command-line label missed the documented routes: the current documentation also covers Java, .NET, COM and C or C++ interfaces.
    What it says now
    Both are recorded. The full and Lite split is also stated, with tagged PDF and PDF/UA marked unavailable in Lite, so the record does not imply that every purchase produces accessible tagged output or that support certifies a document.
    How it was caught
    Reading the interface documentation rather than the product’s command-line examples.
  88. feb912c

    The Vivliostyle record, in the licence and component claims

    What it said
    It called the project the strongest copyleft in this index and one of the very few, neither of which has a defined comparison behind it, and it treated the project as one thing.
    What it says now
    The superlatives are removed, the viewer, command line, core and hosted editor are separated with their own statuses, the command line is recorded as producing several publication formats rather than PDF only, and the copyleft attribution is tied to each component and version.
    How it was caught
    Reading the repository structure, where a project turns out to be several things with different licences.
  89. feb912c

    The Aspose PDF record, in the local processing claim

    What it said
    Local document processing was presented as proof of no external contact. The licensing documentation describes metered key activation and a licence server, which is connectivity about licensing rather than about the document.
    What it says now
    Licensing connectivity is scoped separately from document content transfer, and the vendor’s inconsistent grace periods are deliberately not published as established.
    How it was caught
    Reading the licensing documentation, which is a different document from the product documentation.
  90. feb912c

    The IronPDF record, in the licence counts and the network claim

    What it said
    Licensing was described as chiefly per developer when the vendor counts developers or development machines and defines project and location limits separately, so the count a buyer has to satisfy was wrong. A web-service disclaimer was inherited from a different kind of product, the no-server statement was absolute for a library that can run on a customer’s own server, and an exhaustive claim about its only network calls was published.
    What it says now
    Developer or machine counting, project and location limits, and the redistribution, SDK distribution and air-gapped licensing routes are all recorded. The inherited disclaimer is gone, the no-server statement is qualified, and the network paths are the documented ones.
    How it was caught
    Reading the licensing page rather than the price page, and reading a disclaimer for the kind of product it was written about.
  91. c31aa6d

    The Qoppa Java PDF SDK record, in the support status

    What it said
    It asserted that patches, security fixes and compatibility updates all stop. That is a sales fact turned into a support fact: a notice that no new licences are sold does not establish what existing licensees receive.
    What it says now
    The support assertion is removed, the related claim that an existing deployment is unaffected is qualified for the same reason, the free single-purpose library is kept separate from the commercial suite, and signing and compression membership is added.
    How it was caught
    Reading a withdrawal notice as a statement about sales rather than about the people already using the product.
  92. c31aa6d

    The FPDI record, in the limitations note

    What it said
    The limitation was described loosely as compressed cross references and streams, and it was set beside a version number in a way that implied the version established how common the problem is. A version introducing a format does not say how many documents use it.
    What it says now
    The limitation is named precisely, as compressed cross-reference streams and object streams, with the note that the PDF 1.5 introduction does not establish prevalence. What imported pages do not preserve is listed, including the link annotation opt in added in 2.4.0.
    How it was caught
    Asking what a version number is evidence of, which is not usage.
  93. c31aa6d

    The PDFsharp record, in the preview claim

    What it said
    It said the library can never produce a preview. That is a statement about the library doing a job it does not attempt, when the accurate statement is that it has no renderer.
    What it says now
    The library lacks a PDF renderer, the preview control for drawing operations is noted separately so the two are not confused, and merge membership is added.
    How it was caught
    Distinguishing a missing component from an incapacity, which read very differently to a reader choosing a library.
  94. c31aa6d

    The JPedal, Solid Framework and Datalogics records, in the positioning claims

    What it said
    JPedal was described as a browser grade renderer, which language and architecture do not establish. Solid Framework carried tombstone wording implying nobody buys it, which is a sales conclusion the vendor’s pages do not support. Datalogics was called the most expensive by a wide margin, with no comparable quotes behind the comparison.
    What it says now
    The renderer claim is gone, with protect and merge membership added and compression scoped. Solid Framework gives practical guidance with the sales conclusions qualified. The comparison is removed while the published starting price stays, and merge and extract membership is added with compression scoped.
    How it was caught
    Reading three positioning claims against what a vendor page can support, and finding that none of them could.
  95. 80760fe

    The iText, Scanbot and gImageReader records, in the licensing and locality notes

    What it said
    Three overgeneralisations. iText’s tagline called the commercially licensed add-ons one thing, when some are open source and some are closed. Scanbot’s self-hostable answer was a blanket no against documented server editions, and local engine capability was treated as proof that results stay on a device. gImageReader’s images never leave the machine was an absolute about software the user installs.
    What it says now
    The iText add ons are component specific, with the open-source and closed ones named separately. Scanbot records the server editions, revisits the self-hosting answer, and notes that a local engine with configurable routing to server workflows is not the same as results staying put. gImageReader’s statement is the documented local desktop architecture, and its edit membership is defined as correcting recognised text and recognised output.
    How it was caught
    Reading each vendor’s licensing and deployment documentation rather than the product’s summary claim.
  96. 1a4effc

    The PDF-XChange SDK and pdfGoHTML records, in the sales and scope labels

    What it said
    The SDK was described as effectively closed to new buyers, which vendor staff contradict by stating that approved applications can purchase. Its evaluation output was also presented in a way that could read as a free tier. pdfGoHTML’s account, inspection and local processing labels each asserted more than the vendor documents.
    What it says now
    Sales are case-by-case approval, the watermark is labelled as evaluation output, the component split is preserved, and the current domain is cited rather than an old redirect. pdfGoHTML’s fields are scoped to what the documentation supports.
    How it was caught
    Reading support statements from the vendor rather than inferring a sales position from a product page.
  97. dba3122

    The Master PDF Editor and PDF Architect records, in the processing badge

    What it said
    Both records had their processing notes rewritten to describe a mixed reality while the badge above them still read No server involved. The badge a reader sees first is not the note beneath it: the badge is derived from the edition rows, so rewriting the prose changed the caveat and left the headline claim untouched.
    What it says now
    The edition rows carry the processing split, so the badge itself reads Mixed, depends on version and feature. The same fault was found and fixed on several records at once, which is what turned it from a mistake into a rule.
    How it was caught
    Reading the built page rather than the source record, which is the only place the disagreement between a derived badge and a written note is visible.
  98. dba3122

    The PDF-XChange Editor record, in the watermark note

    What it said
    A conditional watermark note was written into a field the schema does not define. The schema strips unknown keys, so the sentence never rendered, and the type check never complained because an unrecognised key in a data file is not a type error.
    What it says now
    The note is in a field that exists and renders. The larger point is recorded with it: a field that silently disappears is indistinguishable, from the outside, from a field that was never written, and only reading the built page tells them apart.
    How it was caught
    Comparing what the record file said against what the page rendered, after a check of the file alone had passed.
  99. 5642122

    The pdfToolbox record, in the deployment and licensing fields

    What it said
    It carried a categorical no server claim and described the packaging as the documentation does not. The Server and CLI package includes Desktop for profile configuration, with Server using the CLI in the background and Linux shipped under that package, so the boundary between what runs where was drawn in the wrong place.
    What it says now
    The documented packaging, with the categorical claim replaced by a description of self-managed processing.
    How it was caught
    Reading the vendor’s packaging documentation rather than the product summary, which is where a deployment boundary is actually defined.
  100. 5642122

    The pdfaPilot record, in the platforms

    What it said
    The installation platforms were incomplete, so a reader on Linux would not have known it was supported.
    What it says now
    Windows, macOS and Linux installation is recorded, including the systemd guidance the vendor publishes.
    How it was caught
    Reading the installation documentation rather than the download page.
  101. 5642122

    The ABBYY FineReader PDF record, in the evaluation routes

    What it said
    One evaluation description stood for every edition. The vendor’s terms differ by edition: seven days and 100 pages for individual use, and thirty days, five licences and 500 pages for business. The record also blurred Mac creation with Windows editing.
    What it says now
    Each edition’s trial terms are recorded separately, and the platform difference between creating and editing is stated.
    How it was caught
    Reading the trial terms for each edition rather than the product page’s single mention of a free trial.
  102. 5642122

    The Power PDF record, in the editions and their features

    What it said
    Editions and features were flattened together, so installed Standard, Advanced and Mac read as though they were the same as the cloud, Teams and AI services, and perpetual licensing was not scoped to the editions that actually offer it.
    What it says now
    An edition and feature matrix that separates the installed products from the cloud services, with perpetual licensing scoped to retail.
    How it was caught
    Reading the edition comparison, which is where a vendor draws the lines its summary page does not.
  103. 5642122

    The LogrunLab PDF Compare record, in the test claim and the comparison description

    What it said
    A recorded network test was presented as though it established more than it observed, and the record claimed to be the unique place in this index for comparing documents, which is a claim about our own index rather than about the tool.
    What it says now
    The test is framed as what it observed, with its trace, fixtures, browser and date preserved before its request counts are carried forward, and the exclusivity claim is replaced with the truthful statement that this is one place to compare documents rather than the only one.
    How it was caught
    Asking what the recorded test actually observed, which is the question every test claim needs.
  104. 5642122

    The No Fuss PDF record, in the test narrative

    What it said
    The test was written up as a narrative rather than as a result, so a reader looking for the outcome had to read the account of arriving at it.
    What it says now
    A short result with a link to the evidence behind it.
    How it was caught
    Reading the record as somebody deciding rather than as the person who ran the test.
  105. 5642122

    The PrizmDoc record, in the processing and the pricing

    What it said
    Three things ran together: customer-hosted server processing and the vendor’s own cloud, the 300 free cloud transactions described as an ongoing free tier when they are an evaluation allowance, and a pricing note written for our own accounting rather than for a reader.
    What it says now
    The two processing paths are separated, the free allowance is marked as an evaluation, and the pricing is in visitor-facing language.
    How it was caught
    Reading the pricing terms and the deployment documentation together.
  106. 2242006

    The Apryse record, in the price, the evaluation and the SDK scope

    What it said
    It said no price unit is stated, while the vendor’s pricing guide lists entry packages from 1,500 dollars a year. The seven day keyless evaluation was not distinguished from the demo key that tracks nothing. And local processing was claimed for the product rather than for the configured client-side viewer.
    What it says now
    The entry price with the rest marked as needing a quote, the two evaluation routes kept apart, local processing restricted to the configured client-side viewer, and the event metering and standalone application claims marked as needing contract verification rather than repeated.
    How it was caught
    Reading the pricing guide and the evaluation documentation, which are separate documents from the product page.
  107. 2242006

    The Adobe Acrobat record, in the file size and the feature scope

    What it said
    A universal 100 MB limit flattened limits that differ by task, and redaction and accessibility capabilities that belong to the paid desktop editions were attributed to the product as a whole, including the free reader and the online tools.
    What it says now
    Task-specific limits as the vendor’s own FAQ draws them, for ordinary tools, Word and PowerPoint conversion, compression and splitting, with merging counted separately. The free reader, the online tools and the paid desktop editions are separated, and applied removal, hidden data sanitisation and saving are recorded as distinct workflow stages.
    How it was caught
    Reading the FAQ’s per-task limits and the edition comparison rather than a single figure offered for the product.
  108. 2242006

    The empty state on the index, and its show all button

    What it said
    The button cleared the search, task, cost, processing and kind filters but left the saved-only view pressed, so a reader who clicked show all tools was shown one tool.
    What it says now
    It clears the saved-only state and its accessibility value too, with the saved records themselves left alone.
    How it was caught
    Clicking the button on a page where a filter had been left switched on, which is the state the button exists for.
  109. 2242006

    The iLovePDF product page title

    What it said
    The page title was cut off mid-description. The field added to hold a proper title was never read by the code that builds titles, which is why the truncated version survived every pass since it was introduced.
    What it says now
    The title reads iLovePDF: PDF tools, features and limitations, and records without one still get a generated fallback.
    How it was caught
    Reading a browser tab, which is the only place a page title appears.
  110. b0c0708

    The LlamaParse record, in the pricing

    What it said
    The wording implied a quote is needed, when the vendor publishes a free plan and Starter and Pro figures.
    What it says now
    The published plan figures, with credits explained as the billing unit rather than pages, so a reader comparing it with a per page tool is comparing the right things.
    How it was caught
    Reading the pricing page rather than the product page, which is where a published price lives.
  111. 1a4effc

    The SignWell record, in the accounts, allowances and the edit category

    What it said
    Senders and account free recipients were run together as though they were one kind of user, the web allowance was not separated from the API allowance, and Edit was presented as editing when the vendor labels it form preparation.
    What it says now
    Senders are separated from account free recipients, the two allowances are stated apart, and Edit is named for what it does.
    How it was caught
    Reading the pricing tiers as separate products rather than as one plan with limits.
  112. 1a4effc

    The SignNow record, in the batch capability

    What it said
    Batch processing was recorded as not verified, which told a reader nothing while the vendor documents bulk signature invites.
    What it says now
    The documented bulk invites are recorded, with the conflict between the vendor’s own sources kept visible rather than resolved in our favour.
    How it was caught
    Looking for the capability rather than recording a search that had not found it yet.
  113. 1a4effc

    The Dropbox Sign record, in the regional storage note

    What it said
    Multiple regions was published as though where a file is stored also decided where it is processed. It does not: the United States is the default region at rest and premium tiers can choose others, but active editing, sending and signing temporarily processes copies on United States servers even then.
    What it says now
    The scoped explanation, which is the distinction a reader with a residency requirement actually needs.
    How it was caught
    Following the storage statement into the processing documentation.
  114. 1a4effc

    The DocuSign record, in the free sending and regional statements

    What it said
    It said there is no free way to send, and the regional detail was stated as one thing rather than several.
    What it says now
    Sending is available during a free trial with ongoing sending requiring a paid plan, and the regional note separates data at rest from transaction data and from integrations that may cross regions.
    How it was caught
    Reading the trial conditions and the regional documentation, which answer different questions from the same page.
  115. 1a4effc

    The PandaDoc record, in the storage claim and the free plan

    What it said
    Stored for the life of the account was published as fact, and the free plan’s limits were not distinguished from its API eligibility.
    What it says now
    The storage statement is marked unverified, the five template limit is recorded, and the free plan’s API eligibility is separated from the limits of the plan itself.
    How it was caught
    Asking what would test a retention claim, and finding that nothing had.
  116. 1a4effc

    The OpenSign record, in the durability warning

    What it said
    It warned that the default database clears when the service restarts. The current compose file mounts a data volume and a named document volume, so the warning contradicted the configuration the project ships.
    What it says now
    What the current compose file does is recorded, described as a reading of the configuration rather than as a durability test, because a mounted volume is not proof that data survives an upgrade.
    How it was caught
    Reading the deployment file rather than repeating a warning written about an earlier default.
  117. 1a4effc

    The PDF Candy record, in the file size limit

    What it said
    The 500 MB maximum was published as a general allowance.
    What it says now
    It is recorded as a paid plan allowance, which is the difference between a limit and a reason to pay.
    How it was caught
    Reading the plan table rather than the tool page’s figure.
  118. dba3122

    The PDF2Go record, in the batch limits

    What it said
    Current pricing and older help pages were merged into one set of limits, so a reader got numbers that had been superseded without being told.
    What it says now
    The current paid batch support is recorded, up to 200 files and 64 GB per task, beside the help pages still describing 400 files and 8 GB, recorded as a conflict rather than averaged. Desktop offline is a vendor claim rather than a tested guarantee.
    How it was caught
    Comparing two vendor pages that disagreed, instead of choosing the more generous one.
  119. dba3122

    The AvePDF record, in the retention and file size

    What it said
    It said files are deleted about thirty minutes later, which conflates how long a file is reachable with when it is removed.
    What it says now
    Files are accessible for up to 30 minutes, the free service’s separate retention permission is kept before any outbound action, and the documented 128 MB maximum is scoped to the tools that state it rather than applied to all of them.
    How it was caught
    Separating availability from retention, which are two different promises in the same sentence.
  120. dba3122

    The PDFescape record, in the limits

    What it said
    One set of limits stood for every edition.
    What it says now
    Per edition: free online at 10 MB and 100 pages, Premium and Ultimate at 40 MB and 1,000 pages, with history of seven days, thirty days and no expiration respectively.
    How it was caught
    Reading the plan comparison rather than the free tool’s page.
  121. dba3122

    The DocHub record, in the redaction verdict

    What it said
    It stated that redacted content is definitively not removed, which is a verdict resting on one of two vendor sources that disagree: the help article describes a movable whiteout while the pricing matrix claims permanent removal.
    What it says now
    Behaviour not independently tested, with the conflict stated. An exported file would have to be inspected before any verdict, and that has not been done.
    How it was caught
    Reading the two vendor sources against each other and refusing to pick the convenient one.
  122. dba3122

    The Notability record, in the free plan and the pricing

    What it said
    Current pricing and older subscription guidance were combined into a plan that does not exist.
    What it says now
    The current free notes statement with its date, the March 2026 help page conflict recorded rather than merged, and annotation and markup added as a capability.
    How it was caught
    Dating two statements that described different things and refusing to reconcile them by invention.
  123. dba3122

    The Master PDF Editor record, in the processing note

    What it said
    It said no server is involved and that the only network step is activation, which the activation guide contradicts: update checks are documented.
    What it says now
    Desktop processing, with the statement that network behaviour has not been independently tested rather than a claim about what the application never does.
    How it was caught
    Reading the activation guide, which is where an application admits to a network call.
  124. dba3122

    The PDF Studio record, in the trial and licensing

    What it said
    The watermarked free demo and the full access free trial were collapsed into one unknown trial watermark field, though the conditions differ and one of them requires a credit card.
    What it says now
    The two are stated separately, and subscriptions are recorded alongside perpetual licensing rather than as alternatives to it.
    How it was caught
    Reading the trial terms for the difference the record had flattened.
  125. dba3122

    The PDF-XChange Editor record, in the watermark and the AI note

    What it said
    The free watermark was stated unconditionally, and AI features were presented without saying where the data goes.
    What it says now
    The free watermark state is conditional, optional AI features send data to configured providers, and the batch tooling documentation is kept separate from the editor rather than merged into it.
    How it was caught
    Reading the licensing conditions and the AI documentation, which the record had summarised into a single claim.
  126. dba3122

    The Soda PDF record, in the free tier and the price

    What it said
    The free tier was a flat No, and the converter help page’s condition of two files a day or 3 MB was turned into a rule rather than quoted.
    What it says now
    Limited free online tools with the per tool exceptions named, the ambiguous condition quoted as written, and the price recorded as not established in this review rather than guessed.
    How it was caught
    Reading a condition that is ambiguous and leaving it ambiguous, which is the honest option.
  127. dba3122

    The PDF Architect record, in the processing note

    What it said
    It said no server is involved, which the vendor’s own statement does not support: core documents stay local by default, with activation and electronic signature workflows contacting services.
    What it says now
    The vendor’s statement that core documents stay local by default, the activation and signing paths named, and European residency marked unverified for those workflows.
    How it was caught
    Reading the sentence the badge had replaced, including its condition.
  128. 5642122

    The PDFelement record, in the conversion limits

    What it said
    The record gave one figure for conversion pages while the vendor’s own Windows FAQ gives three in its table and five in its prose.
    What it says now
    The conflict is recorded rather than resolved, so a reader planning around the limit knows the vendor disagrees with itself.
    How it was caught
    Reading the table and the prose on the same help page, which is where a vendor contradicts itself most often.
  129. 5642122

    The Nitro PDF Pro record, in the processing badge and the API row

    What it said
    The badge implied local processing while Smart Redact, extraction and PDF chat are online services, and an HTTP API row appeared on a record for a desktop application.
    What it says now
    The badge reads Mixed, depends on version and feature, the Smart Tools are identified as online services, and the API row is removed from a record that is about the desktop product.
    How it was caught
    Reading what each named feature is rather than treating the product as one thing.
  130. 5642122

    The pdf-redactor record, in the removal claim beside the badge

    What it said
    The removal badge stood alone, so a reader could take it as complete sanitisation. What the tool does is narrower: it substitutes the text layer and selected metadata.
    What it says now
    The scope is repeated beside the badge, where the claim is made rather than further down the page, and complete sanitisation is not implied.
    How it was caught
    Reading the badge and the description as a reader would, one after the other, rather than as the person who wrote both.
  131. 19fc1ba

    The redaction guide, in the quick check it recommends

    What it said
    It offered the copy and search check as a certainty, which it is not. Finding the text again means the redaction failed, and that is the whole of what it establishes. Finding nothing establishes nothing about images, metadata, attachments, revision history, hidden objects or unmapped fonts.
    What it says now
    The check is described as a failure detector, with both halves stated: a hit is proof of failure, and a miss is not proof of success. The guide no longer promises a certainty it cannot deliver.
    How it was caught
    Asking what a negative result would rule out, which for a search is almost everything.
  132. 19fc1ba

    The redaction guide, in its counts of exceptions and entries

    What it said
    The page carried hardcoded counts, eight exceptions, three entries, all but one, which had already drifted once and would have drifted again the next time a record changed.
    What it says now
    Every count is derived from the evidence the records hold, so the page cannot disagree with the data behind it.
    How it was caught
    The same drift that had already been fixed on the tested badges on the same page, which is what made it recognisable.
  133. 19fc1ba

    The accessibility guide, in the law and the standard

    What it said
    Section 508 and EN 301 549 were both presented as procurement law. Section 508 is the law that obliges federal agencies, and EN 301 549 is the standard those purchases are measured against, so the guide had the relationship backwards.
    What it says now
    The law and the standard are stated as what each one is.
    How it was caught
    Reading where each document comes from rather than treating two accessibility documents as interchangeable.
  134. 19fc1ba

    The accessibility guide, in what authoring is said to achieve

    What it said
    It said that authoring means the problem is never created, which overstates what good authoring does and quietly excuses the person producing the document.
    What it says now
    Authoring catches structure problems before a finished document rather than repairing them afterwards, and the author still answers the accessibility question. A PDF/UA pass is also recorded as not settling every applicable requirement.
    How it was caught
    Asking who the sentence let off, which is a useful question for a claim about prevention.
  135. 19fc1ba

    The local processing guide, in its central heading

    What it said
    The heading read No server in the path at all. An architectural assessment cannot establish that, because installed software and embedded libraries can use cloud features, remote resources, or a server the reader runs.
    What it says now
    It reads No vendor service in the path, which is the claim the evidence actually supports, and the difference is one a reader can act on.
    How it was caught
    Asking what our own method could have measured, rather than what the heading asserted.
  136. 19fc1ba

    The method page, in the figures and their complements

    What it said
    Two complements were published, that everything else sends it to a server and that the rest draw over it, and the figures themselves carried no indication of how they were arrived at. A total mixing a test with a reading with a vendor’s wording is not one kind of evidence.
    What it says now
    The complements are removed and every figure carries its basis: an architectural assessment, vendor documentation, or something read from the vendor’s own pages.
    How it was caught
    Asking what kind of evidence each number was, which is the question that dissolves a mixed total.
  137. bc3478e

    The open-source licensing guide, in what each licence family requires

    What it said
    Two things. It said a permissive licence asks for attribution and nothing else, while Apache 2.0 also asks you to ship a copy of the licence, to state that you changed files, and to carry any NOTICE file with the distribution. And it said a copyleft licence asks you to publish the source of what you distribute, which flattened the differences between the LGPL, the MPL and the GPL, and described the AGPL as though everything you run becomes public.
    What it says now
    Each licence’s obligations are stated, the AGPL is described as a source offer to the people using the service over a network, and the guide no longer promises a simplicity the licences do not have.
    How it was caught
    Reading the licences rather than the one-line summaries of them.
  138. bc3478e

    The open-source licensing guide, in how records are grouped by licence

    What it said
    The grouping took the first licence name in the field and stopped. A record reading MPL-2.0 for the core with a bundled Ghostscript under AGPLv3 was therefore filed under MPL alone, and its AGPL dependency disappeared from the page entirely. A reader asking whether they could ship it was never shown the licence that would decide the answer.
    What it says now
    Every licence the field names is found and a record is filed under the most restrictive one, because a reader deciding whether they can ship something with an AGPL dependency is asking an AGPL question. Records naming more than one licence are marked so that a single word beside the name does not stand for the whole position.
    How it was caught
    Following a record that named two licences to see which one the page had used, and finding that it had silently used one.
  139. 6f3e3b1

    The PDFgear record, in the processing verdict

    What it said
    The badge said it stays on your device while the note directly underneath said certain advanced conversions run on the vendor’s cloud servers and that the AI copilot is cloud based. It also scoped itself to the web service, when the vendor’s local processing claim is about the installed builds, so the evidence and the scope were the wrong way round.
    What it says now
    A mixed verdict that names both halves: the Windows, macOS, iOS and Android builds read and write local files, and some conversions and the AI copilot are cloud features inside those builds. A mixed verdict is no longer also allowed to say it covers one service, because that sentence contradicted the verdict above it, and six task pages now say that one tool here processes some versions on your device and runs others on a server.
    How it was caught
    Reading the badge and the paragraph beneath it, which disagreed. That disagreement is the reason the processing field gained a state for a product that is several things rather than one.
  140. ec72e5d

    The footer on every product page

    What it said
    It was a binary: either reviewed by a named person, or Compiled from published sources. Not yet reviewed by a person. No record carries a reviewer, so all 153 printed the second, including 147 that carry dated checks describing work somebody had actually done. The line read as though nothing had been checked and contradicted the page above it. The heading over that section said Verified details, above a table mixing vendor statements, our own readings and fields nobody had established. And two disclosures printed on records they did not apply to: the hash sentence on records with no claims, and the currency conversion note on free and open source records whose unit price is deliberately never converted.
    What it says now
    Four separate states, each saying what is true of that particular record: whether an editor has signed it off, which is explicitly not the same as nothing having been checked; how many claims came from the vendor’s own pages and the dates they were read between; when the vendor’s site was last checked; and whether anything was run by us. The heading reads Details, and where each comes from, the hash sentence appears only where there are claims to hash, and the currency note only where a figure was actually converted.
    How it was caught
    Counting before changing anything. No record carried a reviewer and 147 carried dated work, which is what showed the line was not merely imprecise but wrong on almost every page it appeared on.
  141. c0aa51f

    The edit and sign tags, and the two task pages they appear on

    What it said
    Apple Preview carried an edit tag while its own note said Apple states you cannot edit PDF text in Preview. Okular carried edit while saying it annotates rather than edits. Microsoft Edge carried sign while saying it cannot create digital signatures, only view and validate them. The job’s own description promised all of that, and a record had no way to say which part of a job it does.
    What it says now
    A job entry can carry a scope, used only where the record’s own description is narrower than the job name, so it marks exceptions rather than inventing a second taxonomy. Preview reads annotate, not existing text. Edge reads view and check a signature, not create one. The task pages say how many tools do less than the name of the job suggests, and the merge page carries no note, correctly, because none of its tools is narrower.
    How it was caught
    Reading each tag against its own record’s caveat, which is where five disagreements were sitting in plain sight.
  142. afcc78a

    The Edge and Chrome records, in the processing verdict and the scoping sentence

    What it said
    Both carried a finding that no server is in the path, because the browser’s own viewer processes locally, and both were then printed with This covers the web service. We have not checked desktop app processing. The one thing a finding of no server in the path cannot be true alongside is a sentence about which service it covers.
    What it says now
    The scoping sentence is suppressed for that verdict as well as for the mixed and self-hosted ones, so the contradiction is gone and the 20 profiles still carrying it are the ones whose finding really is about a service. Both records name the optional cloud action separately: Edge’s protected file viewing needs a signed in identity and a licence, and Chrome’s save to Drive uploads the open file. Retrieving a web hosted document is described as retrieval rather than as our file being sent anywhere, so opening one does not turn a browser into a cloud edition.
    How it was caught
    Reading the verdict and the scoping sentence together, which is the only way a statement that contradicts itself one line later gets noticed.
  143. f0a4030

    The accessibility task page, and the accessibility tags on six records

    What it said
    The accessibility tag said a tool handled accessibility work without saying which part of it. The records already said which, and the page did not, so a tool that checks, a tool that repairs an already tagged document, and a tool that converts to another format were all filed the same way, and a reader could take a passing check for an accessible document.
    What it says now
    Each record’s accessibility scope is named: the checkers check what a machine can check and do not repair; one repairs an already tagged document but does not tag one; two make another format; and one validates and reports. The task page carries the caveat that a full set of green results means the machine checkable requirements passed, not that the document is accessible, and that the human review is still needed.
    How it was caught
    Reading six tags against six records that already disagreed with them, and then putting the disagreement where a reader actually meets the tag.
  144. 5642122

    The Foxit PDF SDK record, in the trial watermark

    What it said
    The trial watermark was left as an unknown rather than recorded as what the vendor documents.
    What it says now
    It is recorded as vendor documented and scoped to the thirty day desktop and server trial, so a reader knows which trial they would actually be getting rather than that there is one.
    How it was caught
    Reading the trial terms instead of leaving the field empty.
  145. a23ff2d

    The No Fuss PDF listing

    What it said
    It said that filling places an image of your answer over the page rather than changing the document, and that the tool was therefore the wrong choice if the values needed to be machine readable afterwards. The first half was an assumption about the mechanism dressed as an observation, and the second half was false: an answer a reader types is selectable text and can be extracted from the finished file. The same listing also described the tool as working on the scanned and flattened forms that a text based tool has to turn away, which asserts what competing tools do and was never tested here.
    What it says now
    That filling adds a new text layer over the page, so the answer is selectable and extractable while the words already printed in a scan stay image only, and that a reader who needs the scanned words themselves to be searchable needs OCR. The line about what other tools do is gone. The measurement is named on the listing rather than implied, and it was re-run on our own document rather than left resting on the example the operator supplied: an image only form built here was filled, the answer came back out as selectable text, and the scanned words did not.
    How it was caught
    The operator, Tom Appleton of Rust Solutions Ltd, wrote in with three corrections and supplied a completed image only example. Extracting text from that example produced the added answer and nothing from the scan, and the blank form it was made from produced nothing at all, which is what the listing now says.
  146. 527faba

    The IronPDF profile, in the licence field and the worth-knowing note

    What it said
    It said redistribution and SaaS use require Royalty-Free Redistribution Coverage as a paid add-on, that every tier from Lite up could be deployed provided you bought it, and that the coverage costs US$1,999. The vendor says the opposite on its own licensing page: "OEM Redistribution & Air-gapped dev environment — Not available for the Lite license. Please choose Plus, Professional, or Unlimited for coverage options."
    What it says now
    Both passages quote that exclusion and say the cheapest route to redistribution starts one tier up rather than at US$999 plus an add-on.
    How it was caught
    A sweep of live defects, then rendering the licensing page, which is a client-rendered pricing configurator whose terms exist only in its page data.
  147. 19c9a98

    The price row on every product page

    What it said
    A figure converted from another currency was printed as a bare price with nothing saying so. IronPDF charges US$999 and its page read "From £740.96 one-off", with the exchange rate mentioned only inside a long sources list further up. The schema has no field recording whether a vendor prices in GBP or whether the number was converted, so a reader taking the rail at face value saw a number the vendor does not charge and which moves with the rate.
    What it says now
    Every product page says prices are shown in GBP, that some vendors price in another currency and those figures are converted at the European Central Bank reference rate for the date the page was read, and that the figure deciding what you actually pay is the vendor’s own, on the page linked above.
    How it was caught
    Working the backlog item `gbp-figures-without-derivation`, which turned out to be about the wrong thing: it said no derivation survived, and all four derivations do.
  148. 34e42e8

    The pricing page, the homepage, the submit page, and the privacy policy

    What it said
    The Featured tier promised a "Monthly click report" and two other pages listed "click reporting" as something a free listing gets, while nothing reported clicks to anyone. Separately, the privacy policy described a public "site checker" in about a dozen places, including what it would collect and why, and no such checker existed.
    What it says now
    The tier says clicks are counted per product per day and that the monthly report is not automated yet, the other two pages say "click counts", and the privacy policy states before any of it that the site checker is not available and that none of the described data has been gathered from anyone.
    How it was caught
    A sweep of live defects, then checking the code rather than the comment: /go/ does exist, so half of the recorded note was stale and only the checker half was real.
  149. 7bbfbbb

    The evidence drawer on the iLovePDF profile, under a claim we refuted

    What it said
    It said the recorded hash was not reproduced and explained that the page’s pricing markup had changed, ending "the claim is about the redaction tool and is unaffected". So the only substantive thing in the drawer was about a price string, and the word “unaffected” sat directly beneath a claim our own test had refuted.
    What it says now
    It says the pricing change has nothing to do with the claim, names the refutation and what the test found, and explains why it is the only drift note on the site that does not end "the verdict stands".
    How it was caught
    A sweep for live defects, then reading the register entry itself, where the refuted verdict and the word unaffected sit on consecutive lines.
  150. d5d86ac

    The homepage hero

    What it said
    It said that every vendor claim carries the date and the SHA-256 of the page we read. All 294 claims cite a vendor page, but only 215 carry a hash, so the sentence was wrong about the coverage on the most-read page on the site.
    What it says now
    It says every vendor claim is quoted from the vendor’s own page and that, where we kept the evidence, the claim also carries the date and the SHA-256 of the text we read. The launch tagline and four other pieces of launch copy were corrected the same way.
    How it was caught
    Writing the same sentence into the launch announcement, then going to look for where else it appeared. The method page already had it right, which is what made the homepage look wrong beside it.
  151. 068a698

    The launch announcement for this site

    What it said
    It said every claim carries the SHA-256 of the page it was read from. It also said the site can tell when a vendor changes their own words, and that there was a backlog of 148 open items.
    What it says now
    It says the claim carries the hash where we hold the evidence and that the coverage is counted on every build; that the site notices when a source comes back different, which is not the same thing; and that there is a public backlog, without a figure that goes stale.
    How it was caught
    Auditing our own announcement against the build, which reported 215 of 293 claims carrying a hash.
  152. 5ccddf5

    The PrizmDoc profile

    What it said
    It stated that the pages read describe neither retention nor residency, that the vendor had published nothing about where documents are processed or for how long.
    What it says now
    It quotes Accusoft's own hosting FAQ, which names AWS us-east-1 in Virginia, and its server documentation, which says work files are deleted 24 hours after creation by default, with the scope limits named.
    How it was caught
    A check of every claim on the site that a vendor had published nothing.
  153. 5ccddf5

    The AvePDF profile

    What it said
    A published finding said the redaction engine is not AvePDF’s own, which contradicted the same record’s own notes.
    What it says now
    It says the engine is the group’s own commercial technology, quoting the vendor: "We develop all the AvePDF engines" and "AvePDF is built on Nutrient’s enterprise-grade PDF SDK".
    How it was caught
    The same check, which noticed the record disagreeing with itself.
  154. b415482

    The CamScanner profile

    What it said
    It described the developer offering as an agent platform and a REST API.
    What it says now
    It describes document capabilities delivered over MCP, and notes that the vendor’s own documentation says "This is not a new agent platform and does not replace the agent you already use". The page it had been sourced to returns a 404 in a real browser.
    How it was caught
    Rendering five vendor pages in a real browser after a plain fetch returned only a title or a navigation shell.
  155. e60eb42

    The Poppler profile

    What it said
    It said the licence is GPL-2.0-only, taken from distribution packaging, and that upstream COPYING could not be read.
    What it says now
    It says GPL-2.0-or-later for Poppler’s own changes, over an xpdf base under GPL-2.0, quoting the project’s source headers: "licensed under GPL version 2 or later". Upstream reads fine now, and the artefacts are held.
    How it was caught
    Re-reading a source that had been blocked by an anti-scraping challenge when the record was written.
  156. b839c30

    The downloadable dataset, and the page describing it

    What it said
    The dataset published Stirling PDF as untested while its profile said we had watched it keep the file on our own instance. The page beside it said three tools had been canary-tested when eight records said they had.
    What it says now
    The export is built from the same label map the pages use, so the two cannot disagree again, and the canary count is computed from the records rather than typed in.
    How it was caught
    Two independent sweeps of the code and the records, which found the same class of drift from both ends.
  157. 8d85bcc

    The privacy and trust page

    What it said
    It said we record "the product, the day, and a count", while the stored row also carried a full timestamp, and it said the derived value is deleted once the day is over when detail rows outlive the day.
    What it says now
    It says the day, the time and a count, and that detail rows are deleted within two days. The dedupe sentence was corrected too: it is once per visitor per product per day, not once per visitor per day.
    How it was caught
    A reconnaissance of our own click logging, run to see whether pages per session were measurable. They are not.
  158. 56c55fb

    The SnackPDF versus SimplePDF comparison

    What it said
    The prose said SimplePDF’s whiteout covers text while SnackPDF "has no redaction feature at all". Both clauses were backwards, and the comparison table directly above the sentence rendered both correctly.
    What it says now
    It says SnackPDF removes the content and that the verdict came from a test rather than a reading, while SimplePDF has no redaction feature.
    How it was caught
    A backlog sweep, then the records themselves, which showed the table and the prose disagreeing.
  159. 68071d0

    The Camelot profile

    What it said
    Three claims carried history entries saying the vendor’s page no longer carries the sentence we quoted.
    What it says now
    Each carries a correction noting that the page never changed: our comparison tokenised Markdown into the claim and could never match it. The artefact and its hash are unchanged, because the read did not change, only the reading of it.
    How it was caught
    Checking every fragment against the held artefact before trusting the record’s own account of itself.
  160. 2c808c3

    The CommonLook PDF profile

    What it said
    It called the desktop edition a "desktop download", which left a reader looking for a plug-in with no way to tell what they were getting.
    What it says now
    It says there are two editions and that the second is a plugin to Adobe Acrobat Pro or Pro DC, quoting Allyant’s own support documentation.
    How it was caught
    Reading the vendor’s support guide, which the record had not reached.
  161. 430bcc8

    The alternatives and comparison indexes, and one alternatives page

    What it said
    They promised to show "what you pay month to month" above tables rendering weekly, one-off and annual figures.
    What it says now
    They say what each tool costs to start, with the period that figure covers. Of the 57 records carrying a price, 26 are monthly, 16 annual, 12 one-off and 3 weekly.
    How it was caught
    A backlog sweep. Checking it also showed the sweep was wrong about one of the four sites it named: that comparison really is monthly, and was left alone.
  162. 7266019

    The pricing page and the homepage FAQ

    What it said
    The £249 tier included "and the newsletter", which does not exist, and the FAQ promised that a profile "links to its check history", which no profile did.
    What it says now
    The tier lists a job page position and the hero. The FAQ says the profile shows the latest check and when it was taken.
    How it was caught
    A backlog sweep for pages promising things that were never built.
  163. b521b6c

    The accessibility guide and the Goodnotes profile

    What it said
    The guide said two of its four validating tools are Acrobat plug-ins, when one is and the second it meant was the non-validating fifth. The profile said some capabilities on the vendor’s site are labelled as coming later.
    What it says now
    The guide says one of those four, and adds the count a reader wants: two of the five need Acrobat installed. The profile drops the roadmap label, which was searched for on two surfaces and is not there.
    How it was caught
    A backlog sweep, then checking the vendor’s site directly rather than trusting the audit that flagged it.
  164. 106dd12

    The PDF Architect profile, and the redaction guide

    What it said
    The record put redaction in a "Secure module" and said the vendor’s own pages disagreed about which module held it. The guide repeated the same claim in hand-written prose.
    What it says now
    Both say redaction is included from Pro upwards, quoting the pricing page, with no separate Secure module. The guide line survived a record-level fix, which could not reach it.
    How it was caught
    Reading the pricing page, then searching the whole site for other copies of the same claim.
  165. d3a365c

    The ABBYY FineReader and ReportLab profiles

    What it said
    Both carried an instruction not to publish a claim, which a later passage in the same record had already answered.
    What it says now
    Both instructions are retired with a note. ABBYY’s redaction claim rests on the vendor’s own sentence, and ReportLab publishes no CLI claim because the project declares no console entry point.
    How it was caught
    Working through the list of records that told a human to resolve something before publication, while published.
  166. 9d2f697

    The Microsoft Lens profile

    What it said
    It had been published with an instruction to verify that the discontinued banner renders, which had not been done.
    What it says now
    The banner is verified on the built page and on the live profile, and the note records the date. The retirement is the useful information on that page, so the banner is the whole record.
    How it was caught
    The same list of unresolved pre-publication instructions.
  167. 8d6b25f

    The pdf-redactor and DocHub profiles

    What it said
    One asked which project the site intended before citing an author. The other asked for a human eye on the vendor’s "encrypted end-to-end" wording.
    What it says now
    The first names the authors the project itself names in its README, and records that the Free Press wrapper everyone worried about is an archived fork of a different tool. The second keeps the vendor’s words and leaves the existing finding, which had already explained that "end-to-end" rests on transport encryption only.
    How it was caught
    Checking two gates that were recorded as needing a decision, both of which the records had already made.
  168. b415482

    The Adobe PDF Extract API, Azure Document Intelligence and PDFIX profiles

    What it said
    One recorded a free-tier contradiction that was stale metadata in a meta tag rather than a competing offer. One carried a caveat that its own figures come from a different Microsoft endpoint. One flagged a euro figure against a dollar figure as unreconciled.
    What it says now
    The free tier is 500 transactions a month, in the visible body. The Azure figures are re-verified and the distinction between converted estimates and list prices is named. PDFIX prints one seat-year in two currencies, and its Enterprise tier exists only inside the FAQ.
    How it was caught
    Rendering the vendor pages, which had returned nothing to a plain fetch.
  169. 7d8a6b7

    The build check that guards every hash

    What it said
    It failed on every claim naming an evidence file whenever the evidence archive was absent, which is always in continuous integration. So the check could never pass there and the deploy was red on every push.
    What it says now
    It enforces format and reports coverage when the archive is absent, says plainly that bytes were not checked, and still fails on a genuinely missing file when the archive is present.
    How it was caught
    A failed deploy run whose last two lines happened to name the alphabetically last tool.
  170. da74cb6

    Our own listing, and the rule for naming people

    What it said
    Our own product briefly carried a first name in its "Operated by" line, after the idea of crediting makers was floated.
    What it says now
    The field is an entity and nothing else, so it is null, and the schema records why: the plausible sources for a maker’s name are a handle, a commit email or a whois record, and a wrong attribution on an indexed page is worse than no name.
    How it was caught
    Deciding the rule, then applying it to the one case we could be sure of.

Not on this list

Vendor pages that have moved since we read them are not corrections, and they are not here. Each claim carries a Standing line saying whether the recorded hash still matches, and the honest limit of that check is that the hash covers the whole page rather than the sentence, so a commit counter moving looks the same as a rewording. That is explained in full on the method page.

If something on this site is wrong and is not listed here, that is worth more to us than a new listing. Write to calum@dialegein.com, or use the corrections route on the trust page. If it turns out to be wrong, it gets an entry here with the commit that fixed it.