{
  "publishedOn": "2026-09-29",
  "publisher": "Rust Solutions Ltd",
  "publisherOwns": "nofuss",
  "researchType": "first_party_comparative",
  "fixtures": [
    {
      "id": "flat",
      "file": "flat-form.pdf",
      "sha256": "51efad4630418ced819ee9f0a61fcacc2d8d1f242fe524dac73b900e759dd89e",
      "bytes": 2089,
      "pages": 1,
      "pageSize": [
        600,
        480
      ],
      "extractableSourceText": true,
      "answer": "Alex Example"
    },
    {
      "id": "scan",
      "file": "image-only-form.pdf",
      "sha256": "b0118d7c6a526e2ba0cc134bb8a6ef25b6082ed4371b568732f127ed036b6523",
      "bytes": 45991,
      "pages": 1,
      "pageSize": [
        600,
        480
      ],
      "extractableSourceText": false,
      "answer": "Alex Example"
    }
  ],
  "results": [
    {
      "provider": "nofuss",
      "name": "No Fuss PDF",
      "url": "https://nofusspdf.com/fill-pdf",
      "fixture": "flat",
      "inputSha256": "51efad4630418ced819ee9f0a61fcacc2d8d1f242fe524dac73b900e759dd89e",
      "checkedAt": "2026-09-29T15:15:39.653Z",
      "browser": "Chromium 153.0.8010.12",
      "viewport": [
        1440,
        1000
      ],
      "completed": true,
      "status": "verified",
      "output": {
        "file": "nofuss-flat.pdf",
        "sha256": "a586c16d48cead93d110e6caa3bb7a7111ef548a804c110285a630ebea6d5aab",
        "bytes": 2662,
        "pages": 1,
        "geometry": [
          [
            600,
            480,
            0
          ]
        ],
        "answerExtractable": true,
        "independentlyReopened": true,
        "visualInspection": "Answer legible beside Name; original artwork visible; no added watermark observed on this one page."
      },
      "observedHosts": [
        "nofusspdf.com"
      ],
      "observedContentRequests": [],
      "networkInterpretation": "Not a privacy score. Request APIs can omit multipart bytes; encoded/transformed content can evade markers. Absence is not proof of local processing.",
      "error": null
    },
    {
      "provider": "nofuss",
      "name": "No Fuss PDF",
      "url": "https://nofusspdf.com/fill-pdf",
      "fixture": "scan",
      "inputSha256": "b0118d7c6a526e2ba0cc134bb8a6ef25b6082ed4371b568732f127ed036b6523",
      "checkedAt": "2026-09-29T15:15:44.049Z",
      "browser": "Chromium 153.0.8010.12",
      "viewport": [
        1440,
        1000
      ],
      "completed": true,
      "status": "verified",
      "output": {
        "file": "nofuss-scan.pdf",
        "sha256": "8a8aadb81acc9519e2195986527d5fa6725f138a8e9e45a890c22306ce0ca5bb",
        "bytes": 46564,
        "pages": 1,
        "geometry": [
          [
            600,
            480,
            0
          ]
        ],
        "answerExtractable": true,
        "independentlyReopened": true,
        "visualInspection": "Answer legible beside Name; original artwork visible; no added watermark observed on this one page."
      },
      "observedHosts": [
        "nofusspdf.com"
      ],
      "observedContentRequests": [],
      "networkInterpretation": "Not a privacy score. Request APIs can omit multipart bytes; encoded/transformed content can evade markers. Absence is not proof of local processing.",
      "error": null
    },
    {
      "provider": "simplepdf",
      "name": "SimplePDF",
      "url": "https://simplepdf.com/editor",
      "fixture": "flat",
      "inputSha256": "51efad4630418ced819ee9f0a61fcacc2d8d1f242fe524dac73b900e759dd89e",
      "checkedAt": "2026-09-29T15:15:48.504Z",
      "browser": "Chromium 153.0.8010.12",
      "viewport": [
        1440,
        1000
      ],
      "completed": true,
      "status": "verified",
      "output": {
        "file": "simplepdf-flat.pdf",
        "sha256": "4f4514a95d39ded56066fb878cdc5d53d15c7648456810c386245c37ef89e955",
        "bytes": 31857,
        "pages": 1,
        "geometry": [
          [
            600,
            480,
            0
          ]
        ],
        "answerExtractable": true,
        "independentlyReopened": true,
        "visualInspection": "Answer legible beside Name; original artwork visible; no added watermark observed on this one page."
      },
      "observedHosts": [
        "cdn.simplepdf.com",
        "simplepdf.com"
      ],
      "observedContentRequests": [],
      "networkInterpretation": "Not a privacy score. Request APIs can omit multipart bytes; encoded/transformed content can evade markers. Absence is not proof of local processing.",
      "error": null
    },
    {
      "provider": "simplepdf",
      "name": "SimplePDF",
      "url": "https://simplepdf.com/editor",
      "fixture": "scan",
      "inputSha256": "b0118d7c6a526e2ba0cc134bb8a6ef25b6082ed4371b568732f127ed036b6523",
      "checkedAt": "2026-09-29T15:15:53.515Z",
      "browser": "Chromium 153.0.8010.12",
      "viewport": [
        1440,
        1000
      ],
      "completed": true,
      "status": "verified",
      "output": {
        "file": "simplepdf-scan.pdf",
        "sha256": "32a4eebbff5275a43ad26ac78c9cea3388c2fcf24a9416c63a6baace56a2df5c",
        "bytes": 76084,
        "pages": 1,
        "geometry": [
          [
            600,
            480,
            0
          ]
        ],
        "answerExtractable": true,
        "independentlyReopened": true,
        "visualInspection": "Answer legible beside Name; original artwork visible; no added watermark observed on this one page."
      },
      "observedHosts": [
        "cdn.simplepdf.com",
        "simplepdf.com"
      ],
      "observedContentRequests": [],
      "networkInterpretation": "Not a privacy score. Request APIs can omit multipart bytes; encoded/transformed content can evade markers. Absence is not proof of local processing.",
      "error": null
    },
    {
      "provider": "pdf24",
      "name": "PDF24",
      "url": "https://tools.pdf24.org/en/edit-pdf",
      "fixture": "flat",
      "inputSha256": "51efad4630418ced819ee9f0a61fcacc2d8d1f242fe524dac73b900e759dd89e",
      "checkedAt": "2026-09-29T15:22:38.354Z",
      "browser": "Chromium 153.0.8010.12",
      "viewport": [
        1440,
        1000
      ],
      "completed": true,
      "status": "verified",
      "output": {
        "file": "pdf24-flat.pdf",
        "sha256": "a942242ee484086ec6e1aaf33829efae31bd9f3e2ad719a558f9617c4b2f8778",
        "bytes": 6307,
        "pages": 1,
        "geometry": [
          [
            600,
            480,
            0
          ]
        ],
        "answerExtractable": true,
        "independentlyReopened": true,
        "visualInspection": "Answer legible beside Name; original artwork visible; no added watermark observed on this one page."
      },
      "observedHosts": [
        "analytics.pdf24.org",
        "consent.pdf24.org",
        "filetools41.pdf24.org",
        "geoip.pdf24.org",
        "tools.pdf24.org"
      ],
      "observedContentRequests": [],
      "networkInterpretation": "Not a privacy score. Request APIs can omit multipart bytes; encoded/transformed content can evade markers. Absence is not proof of local processing.",
      "error": null
    },
    {
      "provider": "pdf24",
      "name": "PDF24",
      "url": "https://tools.pdf24.org/en/edit-pdf",
      "fixture": "scan",
      "inputSha256": "b0118d7c6a526e2ba0cc134bb8a6ef25b6082ed4371b568732f127ed036b6523",
      "checkedAt": "2026-09-29T15:22:48.715Z",
      "browser": "Chromium 153.0.8010.12",
      "viewport": [
        1440,
        1000
      ],
      "completed": true,
      "status": "verified",
      "output": {
        "file": "pdf24-scan.pdf",
        "sha256": "9c6666bc30fa91c508c3247f84dbdbc5b2a2fdad4246e3c5b2b3e2ca95f31a8d",
        "bytes": 50527,
        "pages": 1,
        "geometry": [
          [
            600,
            480,
            0
          ]
        ],
        "answerExtractable": true,
        "independentlyReopened": true,
        "visualInspection": "Answer legible beside Name; original artwork visible; no added watermark observed on this one page."
      },
      "observedHosts": [
        "analytics.pdf24.org",
        "consent.pdf24.org",
        "filetools40.pdf24.org",
        "geoip.pdf24.org",
        "tools.pdf24.org"
      ],
      "observedContentRequests": [],
      "networkInterpretation": "Not a privacy score. Request APIs can omit multipart bytes; encoded/transformed content can evade markers. Absence is not proof of local processing.",
      "error": null
    },
    {
      "provider": "smallpdf",
      "name": "Smallpdf",
      "url": "https://smallpdf.com/pdf-form-filler",
      "fixture": "flat",
      "inputSha256": "51efad4630418ced819ee9f0a61fcacc2d8d1f242fe524dac73b900e759dd89e",
      "checkedAt": "2026-09-29T15:25:52.913Z",
      "browser": "Chromium 153.0.8010.12",
      "viewport": [
        1440,
        1000
      ],
      "completed": true,
      "status": "verified",
      "output": {
        "file": "smallpdf-flat.pdf",
        "sha256": "8892a3a2cbf4dfc54a12689ca98be64a5764290913cb6b74e1019ad5fee7a232",
        "bytes": 4631,
        "pages": 1,
        "geometry": [
          [
            600,
            480,
            0
          ]
        ],
        "answerExtractable": true,
        "independentlyReopened": true,
        "visualInspection": "Answer legible beside Name; original artwork visible; no added watermark observed on this one page."
      },
      "observedHosts": [
        "files-upload.r2.smallpdf.com",
        "pagead2.googlesyndication.com",
        "pluto.smallpdf.com",
        "pro.smallpdf.com",
        "region1.google-analytics.com",
        "s.smallpdf.com",
        "smallpdf.com",
        "task.smallpdf.com",
        "usage.trackjs.com",
        "www.googletagmanager.com",
        "www.pdftron.com"
      ],
      "observedContentRequests": [],
      "networkInterpretation": "Not a privacy score. Request APIs can omit multipart bytes; encoded/transformed content can evade markers. Absence is not proof of local processing.",
      "error": null
    },
    {
      "provider": "smallpdf",
      "name": "Smallpdf",
      "url": "https://smallpdf.com/pdf-form-filler",
      "fixture": "scan",
      "inputSha256": "b0118d7c6a526e2ba0cc134bb8a6ef25b6082ed4371b568732f127ed036b6523",
      "checkedAt": "2026-09-29T15:20:46.394Z",
      "browser": "Chromium 153.0.8010.12",
      "viewport": [
        1440,
        1000
      ],
      "completed": true,
      "status": "verified",
      "output": {
        "file": "smallpdf-scan.pdf",
        "sha256": "20e9a60247052871d61edf5854dedbedd4568f2f1b2696923e12704e5bf0059a",
        "bytes": 48641,
        "pages": 1,
        "geometry": [
          [
            600,
            480,
            0
          ]
        ],
        "answerExtractable": true,
        "independentlyReopened": true,
        "visualInspection": "Answer legible beside Name; original artwork visible; no added watermark observed on this one page."
      },
      "observedHosts": [
        "files-upload.r2.smallpdf.com",
        "pagead2.googlesyndication.com",
        "pluto.smallpdf.com",
        "pro.smallpdf.com",
        "region1.google-analytics.com",
        "s.smallpdf.com",
        "smallpdf.com",
        "task.smallpdf.com",
        "usage.trackjs.com",
        "www.googletagmanager.com",
        "www.pdftron.com"
      ],
      "observedContentRequests": [],
      "networkInterpretation": "Not a privacy score. Request APIs can omit multipart bytes; encoded/transformed content can evade markers. Absence is not proof of local processing.",
      "error": null
    },
    {
      "provider": "sejda",
      "name": "Sejda",
      "url": "https://www.sejda.com/sign-pdf",
      "fixture": "flat",
      "inputSha256": "51efad4630418ced819ee9f0a61fcacc2d8d1f242fe524dac73b900e759dd89e",
      "checkedAt": "2026-09-29T15:17:17.341Z",
      "browser": "Chromium 153.0.8010.12",
      "viewport": [
        1440,
        1000
      ],
      "completed": false,
      "status": "incomplete_browser_test",
      "output": null,
      "observedHosts": [
        "a.sejda.com",
        "www.sejda.com"
      ],
      "observedContentRequests": [],
      "networkInterpretation": "Not a privacy score. Request APIs can omit multipart bytes; encoded/transformed content can evade markers. Absence is not proof of local processing.",
      "error": {
        "phase": "fill-export",
        "interpretation": "Incomplete browser test, not proof of an unsupported feature",
        "kind": "browser_interaction_incomplete"
      },
      "note": "Text entered and processed-result iframe reached. Historical adapter targeted the wrong frame; no output captured. No capability failure established."
    },
    {
      "provider": "sejda",
      "name": "Sejda",
      "url": "https://www.sejda.com/sign-pdf",
      "fixture": "scan",
      "inputSha256": "b0118d7c6a526e2ba0cc134bb8a6ef25b6082ed4371b568732f127ed036b6523",
      "checkedAt": "2026-09-29T15:19:05.668Z",
      "browser": "Chromium 153.0.8010.12",
      "viewport": [
        1440,
        1000
      ],
      "completed": false,
      "status": "incomplete_browser_test",
      "output": null,
      "observedHosts": [
        "a.sejda.com",
        "www.sejda.com"
      ],
      "observedContentRequests": [],
      "networkInterpretation": "Not a privacy score. Request APIs can omit multipart bytes; encoded/transformed content can evade markers. Absence is not proof of local processing.",
      "error": {
        "phase": "fill-export",
        "interpretation": "Incomplete browser test, not proof of an unsupported feature",
        "kind": "browser_interaction_incomplete"
      },
      "note": "Text entered and processed-result iframe reached. Historical adapter targeted the wrong frame; no output captured. No capability failure established."
    },
    {
      "provider": "pdfescape",
      "name": "PDFescape",
      "url": "https://www.pdfescape.com/online-pdf-editor/",
      "fixture": "flat",
      "inputSha256": "51efad4630418ced819ee9f0a61fcacc2d8d1f242fe524dac73b900e759dd89e",
      "checkedAt": "2026-09-29T15:20:28.299Z",
      "browser": "Chromium 153.0.8010.12",
      "viewport": [
        1440,
        1000
      ],
      "completed": false,
      "status": "incomplete_browser_test",
      "output": null,
      "observedHosts": [
        "4aebee978c694e7294b2995a7d25b9cd.apm.northamerica-northeast1.gcp.elastic-cloud.com",
        "api-gw.avanquest.com",
        "api-gw.pdfescape.com",
        "avqgate.avanquest.com",
        "avqservice.avanquest.com",
        "avqtools.avanquest.com",
        "cdn.cookielaw.org",
        "cloud.pdfescape.com",
        "contextual.media.net",
        "fonts.googleapis.com",
        "fonts.gstatic.com",
        "gate.upclick.com",
        "geolocation.onetrust.com",
        "jtracking-gate.lulusoft.com",
        "jtracking.lulusoft.com",
        "pagead2.googlesyndication.com",
        "paygw.pdfescape.com",
        "pdfescape.com",
        "prodpdfescape.blob.core.windows.net",
        "qti.avanquest.com",
        "um.pdfescape.com",
        "www.googletagmanager.com",
        "www.pdfescape.com"
      ],
      "observedContentRequests": [],
      "networkInterpretation": "Not a privacy score. Request APIs can omit multipart bytes; encoded/transformed content can evade markers. Absence is not proof of local processing.",
      "error": null,
      "note": "Flat file selected after session-timeout/free-editor navigation; opening was not followed to completion."
    },
    {
      "provider": "pdfescape",
      "name": "PDFescape",
      "url": "https://www.pdfescape.com/online-pdf-editor/",
      "fixture": "scan",
      "inputSha256": "b0118d7c6a526e2ba0cc134bb8a6ef25b6082ed4371b568732f127ed036b6523",
      "checkedAt": null,
      "completed": false,
      "status": "not_tested",
      "output": null,
      "note": "Stopped after incomplete flat-form opening; no capability verdict."
    }
  ]
}
