🪔 தீபாவளி மலர்

Verify It Yourself

நீங்களே சரிபாருங்கள் — every number here is re-derivable
Two minutes for one book · one evening for all 569

சரிபார்ப்பு · The Method

Nothing in this audit needs trust in us. The catalog is public, the registry is public, and every claim carries its source. Here is how to check — one book by hand, or the whole screen with our scripts.

1 · Check one book by hand (two minutes)

  1. Pick any row in the Ledger. Note the ISBN and the catalog title.
  2. Open isbn.gov.in → IsbnSearch, choose search type ISBN, paste the number (with hyphens). The registry returns the true owner: title, author, publisher, language, registration date. The registry serves Indian IPs; from abroad, expect it to stall — it does that to everyone.
  3. Compare. If the registry names a different book, that ISBN is allocated-elsewhere — the catalog copy is riding a stolen or fabricated number. If the registry returns nothing, the number was never registered.
  4. Cross-check the title on OpenLibrary, WorldCat, and plain web search (put the bare ISBN in quotes). A book with a genuinely registered ISBN leaves some trace. Most of our hijacked titles leave none.
  5. See the library's own copy: ACL Chennai OPAC and KCL Madurai OPAC (links in the Ledger's footer of each row's biblio). If an OPAC is down — ACL's has been, repeatedly — the hash-chained HTML snapshot in docs/evidence/ preserves what we saw, byte for byte.

2 · Re-run the whole screen (one evening)

The repo bundles every script we used. From a fresh clone:

git clone https://github.com/LogicIncZo/tn-fake-isbn-audit
cd tn-fake-isbn-audit

# integrity check — every dataset matches its published hash
sha256sum -c evidence/SHA256SUMS

# the live registry check for any ISBN list (one req / ~1.2 s — be polite;
# isbn.gov.in serves Indian IPs, from abroad expect stalls)
python3 scripts/verify_full_registry.py

# rebuild the report page's stats from the raw ledgers
python3 scripts/build_site.py
git diff --stat docs/index.html   # numbers should not move

To re-harvest the catalogs yourself (they are public OPACs; we used one request per record, 1.5 s apart):

# ACL Chennai — 5,108 biblio records via the OPAC search index
python3 scripts/harvest_acl.py          # list pages, then stem sweep + detail pages
python3 scripts/stem_sweep.py acl       # pull every catalogued ISBN under each fake-pub stem

# KCL Madurai — 354 Phoenix-collection records
python3 scripts/harvest_kcl.py && python3 scripts/extract_kcl.py

# registry lookup + classification (check-digit, owner, registrant concentration, waves)
python3 scripts/verify_full_registry.py
python3 scripts/fix_acl_titles.py       # restores true titles from registry rows

3 · What each verdict means, precisely

4 · The evidence chain

5 · Honest limits