Scam AI raised $2.6M to combat AI-powered scams→
scam.ai

Research dataset / v1.2.0 /

Genuine PDF Corpus (PDF-Forensics)

Original PDFs from public sources.
Study how document checks behave on source files.

PDF files
82,955
Uncompressed size
51.0 GB
Archive parts
6

Every file was read CLEAN (no sign of tampering found) by our Trustable detection engine, release 0.18.0. Originals that it still flagged, or could not reach a conclusion on, were left out.

Explore original documents.

Two original PDFs from the release, both legislation. An AI agent selected and checked these first-page previews; they are illustrative, not a representative sample. Court records and personal financial documents are not previewed because they can name private people; the document types below show the full mix.

genuine

Page 1 of a genuine file: UK statutory instrument

UK statutory instrument

role genuine · doc_type legislation_gazette

The blank left half is in the source PDF, which prints its text in one right-hand column; it is not a cropping error.

Contains public sector information licensed under the Open Government Licence v3.0 (Crown © and database right, legislation.gov.uk) (Open Government Licence v3.0).

genuine

Page 1 of a genuine file: EU delegated regulation

EU delegated regulation

role genuine · doc_type legislation_gazette

© European Union, https://eur-lex.europa.eu, 1998-2026 (Commission Decision 2011/833/EU).

Know what is in the release.

What the 82,955 files are, by document type, PDF format and language. The labels are machine-assigned or taken from the source.

Document types

n = 82,955 shipped files, the whole release

Genuine PDF Corpus (PDF-Forensics) · Document types · 1.2.0n = 82,955 shipped files. Legislation Gazette: 30,331; Other (one recorded type): 15,116; Enforcement Order: 8,570; Audit Report: 8,113; Court Filing: 6,208; Annual Report: 5,412; Call Report: 3,956; Remaining 9 categories: 5,249. Exact values and all categories are in the data table.Number of files010k20k30k40kLegislation Gazette30,331Other (one recorded type)15,116Enforcement Order8,570Audit Report8,113Court Filing6,208Annual Report5,412Call Report3,956Remaining 9 categories5,249
“Other” is one recorded document type: the file has a type, and it is none of the named ones (government notices and regulated filings, for example). “Not recorded” means the document-type field is missing.
View complete data table 16 categories
Document types · n = 82,955 shipped files
CategoryFilesShare
Legislation Gazette30,33136.56%
Other (one recorded type)15,11618.22%
Enforcement Order8,57010.33%
Audit Report8,1139.78%
Court Filing6,2087.48%
Annual Report5,4126.52%
Call Report3,9564.77%
Bank Statement1,9612.36%
Court Opinion1,8242.20%
Contract9271.12%
Invoice2870.35%
Loan Disclosure2080.25%
Not recorded340.04%
Paystub4<0.01%
Tax Form Other3<0.01%
Utility Bill1<0.01%
Total82,955100.00%
Inventory, role definitions & file fields

What is inside

Issued or published, unmodified original; not an edited derivative, synthetic document, specimen, blank form or reference document.

PopulationCountRepresentation
Original PDF files, each read CLEAN82,955files.jsonl and the PDF archives
Link-only records (listed by address, not shipped)0Not part of this version; links.jsonl is empty

Each file record includes SHA-256, byte count, relative package path, source provenance (the source and, where recorded, its URL), document labels and licence information. Null fields are unknown, not negative findings. There is no edited-pair or edit-operation catalogue in this version.

Built for document-forensics research.

Content, rendering and file structure offer different signals. This dataset lets you study them together.

Measure coverage

Record which inputs each detector can assess. Keep unsupported files, size limits and extraction failures separate from completed checks.

Test other detectors

Our engine 0.18.0 reads every file here as CLEAN, so the set cannot measure that engine’s false-positive rate. Measure another detector’s alerts, or a later version’s, then review what it flags.

Trace each source

Each file’s record carries its SHA-256, its source and source URL (where one was recorded) and its licence. Use them to identify a document and its reuse conditions.

Read the labels in context.

The genuine label means the file was collected as an unmodified original. It is not a guarantee that every statement in it is true or that its issuer is authentic. Labels are assigned from source manifests and machine checks, without independent human validation.

Of 95,245 candidate originals, the 82,955 our engine read CLEAN were kept and 12,290 were withheld: files it flagged, files it could not reach a conclusion on or did not finish scanning, and files we hold out for our own evaluation. The set therefore leans toward documents that engine finds unambiguous and is not a random sample of genuine documents. A CLEAN reading does not prove a document authentic.

This release contains no edited positive examples. It cannot by itself measure forgery-detection recall, accuracy or performance on benign editing workflows.

Sources, validation & coverage notes

Sources and provenance

The Genuine PDF Corpus (PDF-Forensics) collects original PDFs from public issuers and public datasets. Its address keeps “1m” from earlier versions so that links stay stable; version 1.2.0 contains 82,955 original PDFs, all redistributed as files.

Version 1.2.0 keeps only the files that our Trustable detection engine, release 0.18.0 (build 83416ce4, structural model v10j_b), read CLEAN in a full scan on 31 October and 1 November 2026: 82,955 of 95,245 candidates. The other 12,290 were withheld: files it flagged (SUSPICIOUS or FORGED), files it could not reach a conclusion on or did not finish scanning, and files we hold out for our own evaluation. DATASET_CARD.md and summary.json record the same totals. Link-only records (files listed by address but not shipped) were never scanned and are not part of this version.

Internal employees’ personal files and customer-provided files are excluded. A source that is held for unresolved permission, privacy, attribution or provenance is not silently treated as approved for release.

Selection and packaging

  1. Deduplicate source files by SHA-256 and retain provenance and source records.
  2. Keep only files recorded as unmodified originals: no edit recorded, and not derived from or assembled out of another file. Exclude benign edits, malicious alterations, synthetic files, specimens, blank forms and reference documents.
  3. Apply the source-licence, privacy and attribution rules. List the approved files in files.jsonl; links.jsonl, the list of link-only records, is empty in this version.
  4. Scan every remaining file with our detection engine, release 0.18.0, and keep only the files it read CLEAN.
  5. Preserve PDF bytes. Verify each file’s hash, archive membership and compressed-archive checksum. Derive the website and paper statistics from these same manifests.

Labels and evaluation limits

The genuine label describes source provenance and the absence of a recorded edit. It does not certify the issuer, the contents, or the absence of a change before collection. 0 shipped files have a recorded human-reviewed label.

Document type, language and PDF format are machine-assigned or source-provided labels. Missing and undetermined values remain visible. Source and format imbalance can affect a detector’s alert rate.

The CLEAN screen is a selection, not a label audit (see “Read the labels in context” above). A later engine version may flag some of these files.

Report input count, completed checks, unsupported inputs and failures alongside any detector score. Give the alert rate on the files a detector actually assessed, and call it a false-positive rate only once you have independent ground truth.

Public-record privacy limits

Some source PDFs are public court records. The release’s existing screen checks for Social Security numbers and full account numbers; it does not remove names or home addresses. Public-source status is not a promise of de-identification.

Do not use these records to target or profile named people. Check each record’s source conditions and the data card before use. Report a privacy concern with the file hash through the takedown contact below.

Access & citation.

Release v1.2.0 / 1 November 2026

Download the release.

The release contains 6 PDF archives and a metadata package. PDF files occupy 51.0 GB uncompressed.

Included with any credit purchase on your Scam AI account: one purchase unlocks every dataset open for download, and the credits stay yours to spend on checks.

Sign in, open Genuine PDF Corpus (PDF-Forensics) in the Marketplace and press Download, then choose the archive parts you need.

Licences travel with the files.

Source PDFs retain their source licences and conditions. The release grants no licence beyond them.

Read LICENSES.md, ATTRIBUTION.md and each file’s record before reuse. Public availability is not a blanket permission for every use.

Licence & responsible-use details ↓
Download, extract & verify

Download and verify

The package contains 6 independent PDF archives and one metadata archive. A part is a storage group, not a train/test split.

FileContents
archives.jsonArchive names, compressed sizes, SHA-256 values and PDF counts.
ARCHIVE_SHA256SUMSChecksums for the PDF archives and metadata archive.
metadata.tar.zstFile manifest, data card, download guide, licences, attribution and per-part member manifests.
part-NNNNN.tar.zstOriginal PDF bytes, expanding under files/.

Start with the metadata: read DATASET_CARD.md, DOWNLOADS.md, LICENSES.md, ATTRIBUTION.md, summary.json, licences/ before downloading the PDF parts. For a partial download, verify only the matching checksum lines; files you have not downloaded are not verified.

Verify and extract (GNU tar, sha256sum, zstd)
# Verify every downloaded archive against its published checksum.
sha256sum -c ARCHIVE_SHA256SUMS

# Extract separate parts into one new directory; do not concatenate them.
mkdir dataset
tar --zstd --extract --file metadata.tar.zst --directory dataset --no-same-owner
tar --zstd --extract --file part-00000.tar.zst --directory dataset --no-same-owner
Check extracted bytes (sha256sum, Python 3)
cd dataset
sha256sum -c SHA256SUMS

# Verify the PDF bytes in one extracted part.
python3 -c 'import json, sys
for line in open(sys.argv[1]):
    r = json.loads(line)
    print(r["sha256"] + "  " + r["path"])' parts/part-00000.jsonl |
  sha256sum -c --quiet
Licences, source conditions & takedown

Source licences and conditions

Every original retains its source licence or recorded legal basis. The 82,955 shipped PDFs cover 33 licence records, in three groups that do not overlap: 49,246 files under a licence that permits redistribution, 26,914 under one that permits it with attribution, and 6,795 public court records for which no licence statement was found, shipped under our rule for public court records.

There is no blanket licence replacing these source conditions. Keep notices, required credit and any per-file use restrictions. The source records, full texts and credits are in LICENSES.md, ATTRIBUTION.md and licences/.

Do not misrepresent a research copy as an issuer’s authenticated document, use it to deceive, or target a person named in a source. A public URL does not remove privacy responsibilities.

Takedown

To report a rights or privacy concern, contact support@scam.ai with the SHA-256 or release path. The team can identify the record and remove it from the hosted copy and subsequent releases.

Cite this version.

Scam AI. Genuine PDF Corpus (PDF-Forensics). Version 1.2.0, 2026.

BibTeX
@misc{scamai-pdf-forensics-1m,  author       = {{Scam AI}},  title        = {{Genuine PDF Corpus (PDF-Forensics)}},  year         = {2026},  version      = {1.2.0},  howpublished = {\url{https://scam.ai/research/datasets/pdf-forensics-1m}},  note         = {Dataset, version 1.2.0, dated 2026-11-01}}

Version 1.2.0, dated 1 November 2026. The address and citation key keep “pdf-forensics-1m” from earlier versions so that links stay stable; this version holds 82,955 files. All research and datasets →