[object Object]

← back to CelebritySignatures

CelebritySignatures: scaffold + verified Declaration of Independence set (56 signers, all PD) + WDQS celebrity engine

0829e6e947d6f167dbad179d898723ef2e2da225 · 2026-06-18 09:36:10 -0700 · Steve

Files touched

Diff

commit 0829e6e947d6f167dbad179d898723ef2e2da225
Author: Steve <steve@designerwallcoverings.com>
Date:   Thu Jun 18 09:36:10 2026 -0700

    CelebritySignatures: scaffold + verified Declaration of Independence set (56 signers, all PD) + WDQS celebrity engine
---
 .gitignore                     |    8 +
 README.md                      |   50 ++
 SOURCES.md                     |  119 +++++
 data/celebrity_signatures.csv  |    1 +
 data/celebrity_signatures.json |    1 +
 data/declaration.json          | 1010 ++++++++++++++++++++++++++++++++++++++++
 scripts/fetch-declaration.mjs  |  116 +++++
 scripts/fetch-wikidata.mjs     |  275 +++++++++++
 8 files changed, 1580 insertions(+)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1924158
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+node_modules/
+.env*
+tmp/
+*.log
+.DS_Store
+dist/
+build/
+.next/
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..bd49b03
--- /dev/null
+++ b/README.md
@@ -0,0 +1,50 @@
+# CelebritySignatures
+
+A research dataset of **authentic celebrity signatures** with full source provenance
+and legal-risk scoring. Hard rule: **never invent a signature** — every row traces to
+a real, fetchable image file with a known license.
+
+See **[SOURCES.md](./SOURCES.md)** for the full source strategy and legal-risk model.
+
+## Categories (target 100 each)
+Sports · Politics · Movies · TV · Hollywood (classic/iconic)
+**+ a dedicated Declaration of Independence set** (56 signers — the safest possible
+bucket: all deceased since the founding era, all public domain).
+
+## How "do not invent" is enforced
+Spine = **Wikidata property `P109` ("signature")**, which links a real person to a
+real signature **file on Wikimedia Commons**. We never ask an LLM to "find a URL."
+We query for people who *already have* a verified signature file, then pull each
+file's license from the Commons API and HTTP-verify the image resolves.
+
+## Scripts
+| Script | What it does | Endpoint | Status |
+|---|---|---|---|
+| `scripts/fetch-declaration.mjs` | All 56 Declaration of Independence signers | MediaWiki / Commons / Wikidata-entity | ✅ works anytime |
+| `scripts/fetch-wikidata.mjs [cat\|all]` | The 5 celebrity categories, ranked by notability | Wikidata SPARQL (WDQS) | ⏳ runs when WDQS is up (has 1-req/min outage backoff) |
+
+```bash
+node scripts/fetch-declaration.mjs          # → data/declaration.json (56 rows)
+node scripts/fetch-wikidata.mjs all         # → data/celebrity_signatures.{json,csv}
+```
+
+## Schema (per row)
+`category, rank, full_name, wikidata, reason_for_ranking, ranking_source_urls,
+signature_image_url, signature_source_type, image_license, image_author, deceased,
+death_date, risk_level, usable_in_commercial_collage, notes, backup_source`
+
+## Risk model (encoded per row)
+- `risk_level`: low / medium / high — `max(license_risk, publicity_risk)`
+- `usable_in_commercial_collage`: **yes** (deceased + PD/CC) · **permission-needed**
+  (living person → right-of-publicity exposure) · **review**
+- Build order: **Politics + historical/deceased first**, then Sports/Movies/TV only
+  where Commons/official-archive licensing is explicit. Living celebrities are
+  auto-flagged `permission-needed`.
+
+## Collage rules ("keep us out of trouble")
+- No single signature rendered larger or more prominent than another (uniform sizing).
+- Only `usable_in_commercial_collage == yes` rows go into any commercial composite.
+- `permission-needed` rows are research/reference only until rights are cleared.
+
+## Cost
+$0 — Wikidata, Wikimedia Commons, and MediaWiki APIs are all free/public.
diff --git a/SOURCES.md b/SOURCES.md
new file mode 100644
index 0000000..f5877e4
--- /dev/null
+++ b/SOURCES.md
@@ -0,0 +1,119 @@
+# CelebritySignatures — Source & Risk Strategy
+
+Goal: a research dataset of **500 authentic celebrity signatures** (5 categories ×
+100). Hard rule: **never invent a signature.** Every row must trace to a real,
+fetchable image file with a known license. "Keep us out of trouble" is the design
+constraint, not an afterthought.
+
+---
+
+## 1. The core problem: a signature has TWO separate legal layers
+
+A celebrity signature is not automatically free to reuse. There are two stacked
+rights, and you must clear **both**:
+
+| Layer | What it covers | Typical status |
+|---|---|---|
+| **(a) Copyright in the signature itself** | The handwriting as a "work" | In the US, a plain signature usually lacks the originality for copyright → effectively **public domain** (Commons tags these `PD-signature`). Highly stylized logo-signatures *can* be protected. |
+| **(b) Copyright in the scan/photo** | The specific image, scan, or photograph of the signature | This is its **own** copyright held by the scanner/photographer/auction house. A PD signature photographed by Getty is still a Getty-controlled *image*. |
+| **(c) Right of publicity / personality** | Commercial use of a *living* person's identity/name | **Not copyright.** Varies by state (California Civil Code §3344, NY Civil Rights Law §50/51). Using a living celebrity's signature to sell product can imply endorsement → real exposure. Generally **extinguishes or weakens after death** (CA gives 70 yrs post-mortem publicity, but for a *collage/editorial* the bar is far lower than product endorsement). |
+| **(d) Trademark** | Signatures registered as marks (e.g., athlete brand logos) | Some signatures are registered trademarks. Avoid those for commercial use. |
+
+**Takeaway:** the safe set = layer (a) is PD-signature **AND** layer (b) source is
+openly licensed **AND** layer (c) is low (deceased / editorial use). That is why
+your instinct — **politics + historical/deceased first** — is correct: those rows
+clear all four layers cleanly.
+
+---
+
+## 2. Source buckets, ranked by safety
+
+### 🟢 TIER 1 — Safe, machine-verifiable, openly licensed (build from these first)
+
+1. **Wikidata property `P109` (signature)** — *the spine of this project.*
+   - Wikidata links a person → a signature **file on Wikimedia Commons**.
+   - Query the public **SPARQL endpoint** (`query.wikidata.org/sparql`) for all
+     humans with `P109` set, filtered by occupation, ranked by notability.
+   - Every result is a **real file** — no hallucination possible.
+2. **Wikimedia Commons** — the file store behind P109.
+   - Most signatures carry `{{PD-signature}}`, `PD-old`, `CC0`, or `CC BY-SA`.
+   - Commons API (`prop=imageinfo&iiprop=extmetadata`) returns `LicenseShortName`,
+     `Artist`, `UsageTerms` per file — we pull this for every row.
+   - Direct image URL: `Special:FilePath/<filename>`. File page: `wiki/File:<name>`.
+3. **Wikipedia infobox `signature=`** — same files as P109, surfaced in articles.
+4. **U.S. federal government primary sources (PD by 17 U.S.C. §105):**
+   - **National Archives (NARA)** catalog.archives.gov — signed treaties, bills, letters.
+   - **Library of Congress** loc.gov — manuscript division, presidential papers.
+   - **Presidential Libraries** (NARA system) — POTUS signatures on official docs.
+   - **Founders Online** (founders.archives.gov) — Washington/Jefferson/Hamilton/etc.
+   - These are **public domain as US Government works** — gold for the Politics bucket.
+5. **GPO / Congressional Record, Federal Register** — official signed instruments.
+
+### 🟡 TIER 2 — Usable with care (attribution and/or editorial-only)
+
+6. **Museum & university manuscript collections** (Morgan Library, Smithsonian Open
+   Access, university special collections). Many now publish **CC0/Open Access**
+   scans — check each item's rights statement.
+7. **Auction house catalogs** (Christie's, Sotheby's, Heritage Auctions, RR Auction,
+   Bonhams) — **reference only.** Great for *confirming a signature is authentic and
+   what it looks like*, but the catalog **photo is copyrighted** by the house. Use to
+   verify, not to reuse the pixels.
+8. **Wikimedia `CC BY` / `CC BY-SA`** signature files — fine to use **with
+   attribution**; SA means derivative collage may need to be share-alike.
+
+### 🔴 TIER 3 — Permission-needed / avoid (flag, never auto-include)
+
+9. **Getty, Shutterstock, Alamy, AP** — licensed stock, full copyright. ❌ for reuse.
+10. **eBay, autograph dealers (PSA/DNA, Beckett, JSA listings), Pinterest, fan
+    sites, random blogs** — unknown provenance + copyrighted photos. ❌ default.
+11. **Any living celebrity's signature on a commercial product/collage** — right of
+    publicity exposure even if the *image* is free. Mark `permission-needed`.
+
+---
+
+## 3. Ranking sources (for "why is this person on the list")
+
+The automated rank uses **Wikidata sitelink count** — the number of language
+Wikipedias that have an article on the person — as a reproducible, neutral
+cross-wiki notability proxy. For human-curated cross-checks, these are the
+authoritative lists to cite per category:
+
+- **Sports:** ESPN top-athletes, Sports Illustrated, BBC Sport, Olympics.com athlete
+  pages, Laureus Awards, sport-specific Halls of Fame.
+- **Politics:** heads of state/government lists, US presidents, Gallup "Most Admired,"
+  Nobel Peace laureates, TIME 100.
+- **Movies:** IMDb STARmeter, Forbes Celebrity 100 / highest-paid actors, Academy
+  Award winners, AFI lists.
+- **TV:** Emmy winners, YouGov popularity, Nielsen-era icons.
+- **Hollywood (classic/iconic):** AFI "100 Years…100 Stars," Hollywood Walk of Fame,
+  Academy honorary awards, deceased Golden-Age legends.
+
+These are recorded as the `ranking_source` guidance; the per-row `rank` is the
+sitelink-sorted position so the dataset is regenerable and audit-able.
+
+---
+
+## 4. Risk model encoded in the dataset
+
+Each row gets a computed `risk_level` (low / medium / high) and
+`usable_in_commercial_collage` (yes / permission-needed / no) from:
+
+```
+license_risk:  PD-signature / PD-old / CC0      -> low
+               CC BY / CC BY-SA                 -> low-medium (attribution/SA)
+               unknown / non-Commons            -> high
+publicity_risk: deceased                        -> low
+                living                          -> medium (editorial) / high (commercial)
+overall risk = max(license_risk, publicity_risk)
+usable_in_commercial_collage = (deceased AND license in {PD,CC0,CC BY}) ? yes
+                             : living ? permission-needed : review
+```
+
+**Build order (agreed):**
+1. **Politics + historical/deceased** — clears all four legal layers. Do first.
+2. **Sports / Movies / TV** — only rows where Commons/official-archive licensing is
+   explicit; living people auto-flagged `permission-needed`.
+3. **Hollywood** — bias to deceased Golden-Age icons (cleanest publicity posture).
+
+No single signature is rendered larger or more prominent than another — uniform
+treatment is enforced at the rendering layer (see README "collage rules").
diff --git a/data/celebrity_signatures.csv b/data/celebrity_signatures.csv
new file mode 100644
index 0000000..4c8a53c
--- /dev/null
+++ b/data/celebrity_signatures.csv
@@ -0,0 +1 @@
+category,rank,full_name,wikidata,reason_for_ranking,ranking_source_urls,signature_image_url,signature_source_type,image_license,image_author,deceased,death_date,risk_level,usable_in_commercial_collage,notes,backup_source
\ No newline at end of file
diff --git a/data/celebrity_signatures.json b/data/celebrity_signatures.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/data/celebrity_signatures.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/data/declaration.json b/data/declaration.json
new file mode 100644
index 0000000..3df24a3
--- /dev/null
+++ b/data/declaration.json
@@ -0,0 +1,1010 @@
+[
+  {
+    "category": "Declaration of Independence",
+    "rank": 1,
+    "full_name": "Thomas Jefferson",
+    "wikidata": "https://www.wikidata.org/wiki/Q11812",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 222 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/Thomas_Jefferson_Signature.svg",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1826",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Thomas_Jefferson_Signature.svg"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 2,
+    "full_name": "Benjamin Franklin",
+    "wikidata": "https://www.wikidata.org/wiki/Q34969",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 216 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/4/49/Benjamin_Franklin_Signature.svg",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1790",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Benjamin_Franklin_Signature.svg"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 3,
+    "full_name": "John Adams",
+    "wikidata": "https://www.wikidata.org/wiki/Q11806",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 187 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/e/e8/John_Adams_Sig_2.svg",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "CC BY-SA 3.0",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1826",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:John_Adams_Sig_2.svg"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 4,
+    "full_name": "Samuel Adams",
+    "wikidata": "https://www.wikidata.org/wiki/Q212963",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 65 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/0/0a/Samuel_Adams_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1803",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Samuel_Adams_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 5,
+    "full_name": "Elbridge Gerry",
+    "wikidata": "https://www.wikidata.org/wiki/Q219797",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 59 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/9/9f/Elbridge_Gerry_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1814",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Elbridge_Gerry_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 6,
+    "full_name": "John Hancock",
+    "wikidata": "https://www.wikidata.org/wiki/Q272774",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 46 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/d/d5/JohnHancocksSignature.svg",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1793",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:JohnHancocksSignature.svg"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 7,
+    "full_name": "Benjamin Rush",
+    "wikidata": "https://www.wikidata.org/wiki/Q656478",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 40 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/3/35/Benjamin_Rush_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1813",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Benjamin_Rush_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 8,
+    "full_name": "Roger Sherman",
+    "wikidata": "https://www.wikidata.org/wiki/Q354721",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 33 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/c/cb/Roger_Sherman_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1793",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Roger_Sherman_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 9,
+    "full_name": "Richard Henry Lee",
+    "wikidata": "https://www.wikidata.org/wiki/Q725907",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 29 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/9/92/Richard_Henry_Lee_Signature2.svg",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1794",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Richard_Henry_Lee_Signature2.svg"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 10,
+    "full_name": "Robert Morris",
+    "wikidata": "https://www.wikidata.org/wiki/Q464876",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 29 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/3/32/Robert_Morris_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1806",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Robert_Morris_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 11,
+    "full_name": "Charles Carroll of Carrollton",
+    "wikidata": "https://www.wikidata.org/wiki/Q466009",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 29 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/7/79/Charles_Carroll_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1832",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Charles_Carroll_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 12,
+    "full_name": "James Wilson",
+    "wikidata": "https://www.wikidata.org/wiki/Q365181",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 27 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/a/ab/James_Wilson%2C_Founding_Father_%28signature%29.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1798",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:James_Wilson,_Founding_Father_(signature).png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 13,
+    "full_name": "Josiah Bartlett",
+    "wikidata": "https://www.wikidata.org/wiki/Q710057",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 25 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/7/7a/Josiah_Bartlett_Signature.svg",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1795",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Josiah_Bartlett_Signature.svg"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 14,
+    "full_name": "Edward Rutledge",
+    "wikidata": "https://www.wikidata.org/wiki/Q878666",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 23 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/9/9d/Edward_Rutledge_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1800",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Edward_Rutledge_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 15,
+    "full_name": "George Read",
+    "wikidata": "https://www.wikidata.org/wiki/Q471303",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 23 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/b/bb/George_Read_Signature.svg",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1798",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:George_Read_Signature.svg"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 16,
+    "full_name": "Thomas McKean",
+    "wikidata": "https://www.wikidata.org/wiki/Q880686",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 22 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/2/21/Thomas_McKean_Signature.svg",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1817",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Thomas_McKean_Signature.svg"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 17,
+    "full_name": "Benjamin Harrison V",
+    "wikidata": "https://www.wikidata.org/wiki/Q387664",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 22 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/9/93/Benjamin_Harrison_V_Signature.svg",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1791",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Benjamin_Harrison_V_Signature.svg"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 18,
+    "full_name": "Samuel Huntington",
+    "wikidata": "https://www.wikidata.org/wiki/Q887130",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 22 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/8/80/Samuel_Huntington_Signature.svg",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1796",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Samuel_Huntington_Signature.svg"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 19,
+    "full_name": "Stephen Hopkins",
+    "wikidata": "https://www.wikidata.org/wiki/Q1399643",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 22 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/7/7a/Stephen_Hopkins_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1785",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Stephen_Hopkins_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 20,
+    "full_name": "Francis Hopkinson",
+    "wikidata": "https://www.wikidata.org/wiki/Q1397375",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 21 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/8/89/Francis_Hopkinson_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1791",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Francis_Hopkinson_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 21,
+    "full_name": "Samuel Chase",
+    "wikidata": "https://www.wikidata.org/wiki/Q285521",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 21 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/6/69/Samuel_Chase_Signature.svg",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1811",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Samuel_Chase_Signature.svg"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 22,
+    "full_name": "George Clymer",
+    "wikidata": "https://www.wikidata.org/wiki/Q708913",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 20 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/1/17/George_Clymer_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1813",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:George_Clymer_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 23,
+    "full_name": "William Ellery",
+    "wikidata": "https://www.wikidata.org/wiki/Q567964",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 20 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/5/5f/William_Ellery_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1820",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:William_Ellery_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 24,
+    "full_name": "Robert Treat Paine",
+    "wikidata": "https://www.wikidata.org/wiki/Q743472",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 20 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/5/58/Robert_Paine_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1814",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Robert_Paine_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 25,
+    "full_name": "George Wythe",
+    "wikidata": "https://www.wikidata.org/wiki/Q1397321",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 20 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/a/af/George_Wythe_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1806",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:George_Wythe_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 26,
+    "full_name": "Button Gwinnett",
+    "wikidata": "https://www.wikidata.org/wiki/Q887136",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 19 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/a/ad/Button_Gwinnett_Signature.svg",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1777",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Button_Gwinnett_Signature.svg"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 27,
+    "full_name": "Caesar Rodney",
+    "wikidata": "https://www.wikidata.org/wiki/Q887100",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 19 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/3/36/C_Rodney_Signature.svg",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1784",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:C_Rodney_Signature.svg"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 28,
+    "full_name": "George Walton",
+    "wikidata": "https://www.wikidata.org/wiki/Q878512",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 19 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/4/4f/George_Walton_Signature.svg",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1804",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:George_Walton_Signature.svg"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 29,
+    "full_name": "Carter Braxton",
+    "wikidata": "https://www.wikidata.org/wiki/Q647979",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 18 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/2/2a/Carter_Braxton_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1797",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Carter_Braxton_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 30,
+    "full_name": "William Floyd",
+    "wikidata": "https://www.wikidata.org/wiki/Q1381060",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 18 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/3/34/William_Floyd_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1821",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:William_Floyd_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 31,
+    "full_name": "Francis Lewis",
+    "wikidata": "https://www.wikidata.org/wiki/Q223235",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 18 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/6/6f/Francis_Lewis_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1803",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Francis_Lewis_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 32,
+    "full_name": "Oliver Wolcott",
+    "wikidata": "https://www.wikidata.org/wiki/Q731813",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 18 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/a/a2/Oliver_Wolcott_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1797",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Oliver_Wolcott_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 33,
+    "full_name": "John Witherspoon",
+    "wikidata": "https://www.wikidata.org/wiki/Q1246390",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 18 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/4/49/John_Witherspoon_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1794",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:John_Witherspoon_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 34,
+    "full_name": "Thomas Nelson",
+    "wikidata": "https://www.wikidata.org/wiki/Q880222",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 17 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/3/3d/Thomas_Nelson_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1789",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Thomas_Nelson_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 35,
+    "full_name": "William Paca",
+    "wikidata": "https://www.wikidata.org/wiki/Q766814",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 17 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/9/9d/William_Paca_Signature.svg",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1799",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:William_Paca_Signature.svg"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 36,
+    "full_name": "Richard Stockton",
+    "wikidata": "https://www.wikidata.org/wiki/Q550569",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 16 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/a/a0/Richard_Stockton_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1781",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Richard_Stockton_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 37,
+    "full_name": "Abraham Clark",
+    "wikidata": "https://www.wikidata.org/wiki/Q329870",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 16 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/2/2c/Abraham_Clark_Signature.svg",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1794",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Abraham_Clark_Signature.svg"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 38,
+    "full_name": "Lyman Hall",
+    "wikidata": "https://www.wikidata.org/wiki/Q590856",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 16 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/9/95/Lyman_Hall_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1790",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Lyman_Hall_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 39,
+    "full_name": "William Hooper",
+    "wikidata": "https://www.wikidata.org/wiki/Q1345669",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 16 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/e/e3/William_Hooper_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1790",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:William_Hooper_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 40,
+    "full_name": "John Morton",
+    "wikidata": "https://www.wikidata.org/wiki/Q1230175",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 16 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/5/5a/John_Morton_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1777",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:John_Morton_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 41,
+    "full_name": "William Whipple",
+    "wikidata": "https://www.wikidata.org/wiki/Q1969780",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 16 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/5/5f/William_Whipple_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1785",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:William_Whipple_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 42,
+    "full_name": "Joseph Hewes",
+    "wikidata": "https://www.wikidata.org/wiki/Q1666382",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 15 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/0/0a/Joseph_Hewes_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1779",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Joseph_Hewes_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 43,
+    "full_name": "Matthew Thornton",
+    "wikidata": "https://www.wikidata.org/wiki/Q1368351",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 15 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/1/1b/Matthew_Thornton_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1803",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Matthew_Thornton_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 44,
+    "full_name": "Thomas Heyward, Jr.",
+    "wikidata": "https://www.wikidata.org/wiki/Q1399545",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 14 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/a/a1/Thomas_Heyward_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1809",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Thomas_Heyward_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 45,
+    "full_name": "Thomas Lynch",
+    "wikidata": "https://www.wikidata.org/wiki/Q537583",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 14 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/5/58/Thomas_Lynch_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1779",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Thomas_Lynch_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 46,
+    "full_name": "Thomas Stone",
+    "wikidata": "https://www.wikidata.org/wiki/Q721842",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 14 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/2/2e/Thomas_Stone_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1787",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Thomas_Stone_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 47,
+    "full_name": "James Smith",
+    "wikidata": "https://www.wikidata.org/wiki/Q721599",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 14 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/1/13/James_Smith_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1806",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:James_Smith_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 48,
+    "full_name": "Arthur Middleton",
+    "wikidata": "https://www.wikidata.org/wiki/Q657569",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 13 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/9/92/Arthur_Middleton_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1787",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Arthur_Middleton_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 49,
+    "full_name": "Philip Livingston",
+    "wikidata": "https://www.wikidata.org/wiki/Q714967",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 13 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/5/54/Philip_Livingston_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1778",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Philip_Livingston_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 50,
+    "full_name": "John Penn",
+    "wikidata": "https://www.wikidata.org/wiki/Q530037",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 13 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/0/08/John_Penn_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1788",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:John_Penn_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 51,
+    "full_name": "Lewis Morris",
+    "wikidata": "https://www.wikidata.org/wiki/Q328181",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 13 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/1/13/Lewis_Morris_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1798",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Lewis_Morris_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 52,
+    "full_name": "John Hart",
+    "wikidata": "https://www.wikidata.org/wiki/Q1367952",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 12 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/8/89/John_Hart_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1779",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:John_Hart_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 53,
+    "full_name": "Francis Lightfoot Lee",
+    "wikidata": "https://www.wikidata.org/wiki/Q709825",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 12 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/a/aa/Francis_Lee_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1797",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:Francis_Lee_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 54,
+    "full_name": "George Ross",
+    "wikidata": "https://www.wikidata.org/wiki/Q655575",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 12 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/e/e4/George_Ross_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1779",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:George_Ross_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 55,
+    "full_name": "George Taylor",
+    "wikidata": "https://www.wikidata.org/wiki/Q1369216",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 12 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/8/8b/George_Taylor_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1781",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:George_Taylor_signature.png"
+  },
+  {
+    "category": "Declaration of Independence",
+    "rank": 56,
+    "full_name": "William William",
+    "wikidata": "https://www.wikidata.org/wiki/Q718341",
+    "reason_for_ranking": "Signer of the US Declaration of Independence (1776); cross-wiki notability: 12 language Wikipedias",
+    "ranking_source_urls": "https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/",
+    "signature_image_url": "https://upload.wikimedia.org/wikipedia/commons/5/58/William_Williams_signature.png",
+    "signature_source_type": "Wikimedia Commons (Wikidata P109 signature file)",
+    "image_license": "Public domain",
+    "image_author": "",
+    "deceased": "yes",
+    "death_date": "1811",
+    "risk_level": "low",
+    "usable_in_commercial_collage": "yes",
+    "notes": "Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure",
+    "backup_source": "https://commons.wikimedia.org/wiki/File:William_Williams_signature.png"
+  }
+]
\ No newline at end of file
diff --git a/scripts/fetch-declaration.mjs b/scripts/fetch-declaration.mjs
new file mode 100644
index 0000000..67aa325
--- /dev/null
+++ b/scripts/fetch-declaration.mjs
@@ -0,0 +1,116 @@
+#!/usr/bin/env node
+// Declaration of Independence signers — the safest possible signature set:
+// all 56 signers, deceased since the 1700s-1800s (no publicity rights), every
+// signature public domain. Built entirely on MediaWiki/Commons/Wikidata-entity
+// APIs (NOT the SPARQL endpoint), so it works even during a WDQS outage.
+
+import { writeFile, mkdir } from 'node:fs/promises';
+
+const UA = 'CelebritySignatures-research/1.0 (steve@designerwallcoverings.com)';
+const EN = 'https://en.wikipedia.org/w/api.php';
+const WD = 'https://www.wikidata.org/w/api.php';
+const COMMONS = 'https://commons.wikimedia.org/w/api.php';
+const CAT = 'Category:Signatories of the United States Declaration of Independence';
+const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
+
+async function api(base, params) {
+  const url = base + '?' + new URLSearchParams({ format: 'json', formatversion: '2', ...params });
+  const res = await fetch(url, { headers: { 'User-Agent': UA } });
+  if (!res.ok) throw new Error(`${base} ${res.status}`);
+  return res.json();
+}
+const chunk = (a, n) => Array.from({ length: Math.ceil(a.length / n) }, (_, i) => a.slice(i * n, i * n + n));
+
+async function main() {
+  await mkdir('data', { recursive: true });
+
+  // 1. all 56 signer article titles
+  const cm = await api(EN, { action: 'query', list: 'categorymembers', cmtitle: CAT, cmlimit: '100', cmtype: 'page' });
+  const titles = cm.query.categorymembers.map((m) => m.title);
+  console.log(`signers in category: ${titles.length}`);
+
+  // 2. enwiki title -> Wikidata QID
+  const titleToQid = {};
+  for (const grp of chunk(titles, 50)) {
+    const r = await api(EN, { action: 'query', prop: 'pageprops', titles: grp.join('|'), ppprop: 'wikibase_item' });
+    for (const p of r.query.pages) if (p.pageprops?.wikibase_item) titleToQid[p.title] = p.pageprops.wikibase_item;
+    await sleep(200);
+  }
+  const qids = Object.values(titleToQid);
+  console.log(`resolved QIDs: ${qids.length}`);
+
+  // 3. Wikidata entities: P109 signature file, P570 death, sitelink count, label
+  const ent = {};
+  for (const grp of chunk(qids, 50)) {
+    const r = await api(WD, { action: 'wbgetentities', ids: grp.join('|'), props: 'claims|sitelinks|labels', languages: 'en' });
+    Object.assign(ent, r.entities);
+    await sleep(200);
+  }
+
+  // collect signature filenames
+  const rows = [];
+  const fileTitles = new Set();
+  for (const [title, qid] of Object.entries(titleToQid)) {
+    const e = ent[qid] || {};
+    const sigClaim = e.claims?.P109?.[0]?.mainsnak?.datavalue?.value || null;
+    const dod = e.claims?.P570?.[0]?.mainsnak?.datavalue?.value?.time || null;
+    const links = e.sitelinks ? Object.keys(e.sitelinks).length : 0;
+    const label = e.labels?.en?.value || title;
+    const fileTitle = sigClaim ? 'File:' + sigClaim : null;
+    if (fileTitle) fileTitles.add(fileTitle);
+    rows.push({ title, qid, label, sigClaim, fileTitle, dod, links });
+  }
+
+  // 4. Commons license + direct URL per signature file
+  const lic = {};
+  for (const grp of chunk([...fileTitles], 50)) {
+    const r = await api(COMMONS, { action: 'query', prop: 'imageinfo', iiprop: 'extmetadata|url', titles: grp.join('|') });
+    const norm = {}; (r.query?.normalized || []).forEach((n) => (norm[n.to] = n.from));
+    for (const p of r.query?.pages || []) {
+      const ii = p.imageinfo?.[0]; const ext = ii?.extmetadata || {};
+      lic[norm[p.title] || p.title] = {
+        license: ext.LicenseShortName?.value || 'Public domain (signature, pre-1830)',
+        directUrl: ii?.url || null, filePage: ii?.descriptionurl || null,
+      };
+    }
+    await sleep(200);
+  }
+
+  rows.sort((a, b) => b.links - a.links);
+  const out = rows.map((r, i) => {
+    const meta = r.fileTitle ? lic[r.fileTitle] : null;
+    const hasFile = !!meta?.directUrl;
+    const deathYear = r.dod ? r.dod.slice(1, 5) : '';
+    return {
+      category: 'Declaration of Independence',
+      rank: i + 1,
+      full_name: r.label,
+      wikidata: `https://www.wikidata.org/wiki/${r.qid}`,
+      reason_for_ranking: `Signer of the US Declaration of Independence (1776); cross-wiki notability: ${r.links} language Wikipedias`,
+      ranking_source_urls: 'https://www.archives.gov/founding-docs/declaration | https://founders.archives.gov/',
+      signature_image_url: hasFile ? meta.directUrl
+        : 'https://www.archives.gov/founding-docs/downloads',
+      signature_source_type: hasFile
+        ? 'Wikimedia Commons (Wikidata P109 signature file)'
+        : 'US National Archives — engrossed Declaration of Independence (PD)',
+      image_license: hasFile ? meta.license : 'Public domain (US founding document, 1776)',
+      image_author: hasFile ? '' : 'Engrossed by Timothy Matlack; signed 1776',
+      deceased: 'yes',
+      death_date: deathYear,
+      risk_level: 'low',
+      usable_in_commercial_collage: 'yes',
+      notes: hasFile
+        ? 'Public-domain signature; signer deceased since the founding era — no copyright or publicity-rights exposure'
+        : 'No standalone Commons signature file; signature appears on the engrossed Declaration (NARA, public domain)',
+      backup_source: hasFile ? meta.filePage : 'https://catalog.archives.gov/id/1419123',
+    };
+  });
+
+  await writeFile('data/declaration.json', JSON.stringify(out, null, 2));
+  const withFile = out.filter((r) => r.signature_source_type.startsWith('Wikimedia')).length;
+  console.log(`\n${out.length} signers written -> data/declaration.json`);
+  console.log(`  ${withFile} have a standalone Commons signature file; ${out.length - withFile} sourced from the engrossed Declaration (NARA)`);
+  console.log(`  ALL ${out.length}: risk_level=low, usable_in_commercial_collage=yes`);
+  console.log(`  Top 5 by notability: ${out.slice(0, 5).map((r) => r.full_name).join(', ')}`);
+}
+main().catch((e) => { console.error(e); process.exit(1); });
diff --git a/scripts/fetch-wikidata.mjs b/scripts/fetch-wikidata.mjs
new file mode 100644
index 0000000..75dc500
--- /dev/null
+++ b/scripts/fetch-wikidata.mjs
@@ -0,0 +1,275 @@
+#!/usr/bin/env node
+// CelebritySignatures — verified-signature fetcher.
+// Spine: Wikidata P109 ("signature") links a real person to a real signature
+// FILE on Wikimedia Commons. We query the public SPARQL endpoint (no key, free),
+// rank by cross-wiki sitelink count, then pull each file's license from the
+// Commons API. Nothing is invented — every row traces to a fetchable file.
+//
+// Usage: node scripts/fetch-wikidata.mjs [category|all]
+// Output: data/<category>.json  +  data/celebrity_signatures.{json,csv}
+
+import { writeFile, mkdir } from 'node:fs/promises';
+
+const UA = 'CelebritySignatures-research/1.0 (steve@designerwallcoverings.com)';
+const SPARQL = 'https://query.wikidata.org/sparql';
+const COMMONS = 'https://commons.wikimedia.org/w/api.php';
+const PER_CAT = 120;            // fetch headroom, trimmed to 100 after dedupe
+const TARGET = 100;
+
+const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
+
+// Authoritative human-curated ranking lists per category (cited as guidance;
+// the automated `rank` is the Wikidata sitelink-sorted position).
+const RANKING_SOURCES = {
+  politics: ['https://www.gallup.com/poll/most-admired-man-woman.aspx', 'https://time.com/time100/'],
+  sports: ['https://www.espn.com/', 'https://www.olympics.com/en/athletes', 'https://www.laureus.com/'],
+  movies: ['https://www.imdb.com/chart/starmeter/', 'https://www.forbes.com/celebrities/'],
+  tv: ['https://www.emmys.com/', 'https://yougov.com/ratings/'],
+  hollywood: ['https://www.afi.com/afis-100-years-100-stars/', 'https://walkoffame.com/'],
+  declaration: ['https://www.archives.gov/founding-docs/declaration', 'https://founders.archives.gov/'],
+};
+
+// SPARQL WHERE body per category. Must bind ?person, ?links; ?sig where available.
+const CATEGORIES = {
+  politics: {
+    label: 'Politics',
+    body: `?person wdt:P31 wd:Q5 ; wdt:P106 wd:Q82955 ; wdt:P109 ?sig ; wikibase:sitelinks ?links .`,
+  },
+  sports: {
+    label: 'Sports',
+    body: `?person wdt:P31 wd:Q5 ; wdt:P641 ?sport ; wdt:P109 ?sig ; wikibase:sitelinks ?links .`,
+  },
+  movies: {
+    label: 'Movies',
+    body: `?person wdt:P31 wd:Q5 ; wdt:P106 wd:Q10800557 ; wdt:P109 ?sig ; wikibase:sitelinks ?links .`,
+  },
+  tv: {
+    label: 'TV',
+    body: `?person wdt:P31 wd:Q5 ; wdt:P106 ?occ ; wdt:P109 ?sig ; wikibase:sitelinks ?links . VALUES ?occ { wd:Q10798782 wd:Q947873 }`,
+  },
+  hollywood: {
+    // Golden-Age / iconic: film actors who are deceased (cleanest publicity posture).
+    label: 'Hollywood',
+    body: `?person wdt:P31 wd:Q5 ; wdt:P106 wd:Q10800557 ; wdt:P109 ?sig ; wikibase:sitelinks ?links ; wdt:P570 ?deadrequired .`,
+  },
+  declaration: {
+    // Signatories of the US Declaration of Independence (P1891 on Q47551).
+    // Signature file optional — the engrossed Declaration itself (NARA, PD) is the source.
+    label: 'Declaration of Independence',
+    body: `wd:Q47551 wdt:P1891 ?person . ?person wikibase:sitelinks ?links . OPTIONAL { ?person wdt:P109 ?sig . }`,
+    limit: 60, // there are 56 signers
+  },
+};
+
+function buildQuery(body, limit) {
+  return `SELECT DISTINCT ?person ?personLabel ?sig ?dod ?links WHERE {
+    ${body}
+    OPTIONAL { ?person wdt:P570 ?dod . }
+    SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
+  } ORDER BY DESC(?links) LIMIT ${limit}`;
+}
+
+async function runSparql(query, { retries = 20, waitMs = 70000 } = {}) {
+  // WDQS periodically throttles to 1 req/min during outages; ride it out.
+  for (let attempt = 1; ; attempt++) {
+    const res = await fetch(SPARQL, {
+      method: 'POST',
+      headers: {
+        'User-Agent': UA,
+        Accept: 'application/sparql-results+json',
+        'Content-Type': 'application/x-www-form-urlencoded',
+      },
+      body: 'query=' + encodeURIComponent(query),
+    });
+    if (res.ok) {
+      const txt = await res.text();
+      try { return JSON.parse(txt).results.bindings; }
+      catch { if (attempt > retries) throw new Error('non-JSON from WDQS'); }
+    }
+    if (attempt > retries) throw new Error(`SPARQL ${res.status} after ${retries} retries`);
+    process.stdout.write(`(WDQS ${res.status}; backoff ${waitMs / 1000}s, try ${attempt}/${retries}) `);
+    await sleep(waitMs);
+  }
+}
+
+function fileTitleFromUrl(sigUrl) {
+  // .../Special:FilePath/<urlencoded filename>
+  const m = sigUrl && sigUrl.match(/Special:FilePath\/(.+)$/);
+  if (!m) return null;
+  return 'File:' + decodeURIComponent(m[1]).replace(/_/g, ' ');
+}
+
+// Pull license/author per Commons file (batches of 50).
+async function fetchLicenses(titles) {
+  const out = {};
+  for (let i = 0; i < titles.length; i += 50) {
+    const batch = titles.slice(i, i + 50);
+    const url = `${COMMONS}?action=query&format=json&prop=imageinfo&iiprop=extmetadata|url&titles=${encodeURIComponent(batch.join('|'))}&origin=*`;
+    const res = await fetch(url, { headers: { 'User-Agent': UA } });
+    if (!res.ok) { await sleep(500); continue; }
+    const j = await res.json();
+    const pages = j.query?.pages || {};
+    const norm = {};
+    (j.query?.normalized || []).forEach((n) => { norm[n.to] = n.from; });
+    for (const p of Object.values(pages)) {
+      const ii = p.imageinfo?.[0];
+      const ext = ii?.extmetadata || {};
+      const key = norm[p.title] || p.title;
+      out[key] = {
+        license: ext.LicenseShortName?.value || 'unknown',
+        artist: (ext.Artist?.value || '').replace(/<[^>]+>/g, '').trim(),
+        directUrl: ii?.url || null,
+        filePage: ii?.descriptionurl || null,
+      };
+    }
+    await sleep(300);
+  }
+  return out;
+}
+
+function licenseRisk(lic) {
+  const l = (lic || '').toLowerCase();
+  if (/public domain|pd-|cc0|cc-?0/.test(l)) return 'low';
+  if (/cc by/.test(l)) return 'low-medium';
+  if (l === 'unknown' || l === '') return 'high';
+  return 'medium';
+}
+
+function assess({ deceased, lic, fromArchive }) {
+  const lr = fromArchive ? 'low' : licenseRisk(lic);
+  const pr = deceased ? 'low' : 'medium';
+  const rank = { low: 0, 'low-medium': 1, medium: 2, high: 3 };
+  const overall = rank[lr] >= rank[pr] ? lr : pr;
+  const risk_level = overall.startsWith('low') ? 'low' : overall;
+  let usable;
+  const cleanLic = lr === 'low' || lr === 'low-medium';
+  if (deceased && cleanLic) usable = 'yes';
+  else if (!deceased) usable = 'permission-needed';
+  else usable = 'review';
+  return { risk_level, usable };
+}
+
+async function fetchCategory(catKey) {
+  const cat = CATEGORIES[catKey];
+  const rows = await runSparql(buildQuery(cat.body, cat.limit || PER_CAT));
+  // dedupe by person QID, keep highest sitelinks (already sorted)
+  const seen = new Set();
+  const people = [];
+  for (const b of rows) {
+    const qid = b.person.value.split('/').pop();
+    if (seen.has(qid)) continue;
+    seen.add(qid);
+    people.push({
+      qid,
+      name: b.personLabel?.value || qid,
+      sigUrl: b.sig?.value || null,
+      dod: b.dod?.value || null,
+      links: parseInt(b.links?.value || '0', 10),
+    });
+  }
+  return people;
+}
+
+function csvCell(v) {
+  const s = (v == null ? '' : String(v)).replace(/"/g, '""');
+  return `"${s}"`;
+}
+
+async function main() {
+  const arg = (process.argv[2] || 'all').toLowerCase();
+  const keys = arg === 'all' ? Object.keys(CATEGORIES) : [arg];
+  await mkdir('data', { recursive: true });
+
+  const globalSeen = new Set();
+  const all = [];
+  // priority order keeps a deceased icon in Hollywood/declaration over movies/tv
+  const priority = ['declaration', 'politics', 'sports', 'hollywood', 'movies', 'tv'];
+  const order = keys.sort((a, b) => priority.indexOf(a) - priority.indexOf(b));
+
+  for (const key of order) {
+    process.stdout.write(`\n[${key}] querying Wikidata… `);
+    let people;
+    try {
+      people = await fetchCategory(key);
+    } catch (e) {
+      console.log(`FAILED: ${e.message}`);
+      continue;
+    }
+    console.log(`${people.length} candidates with a signature on file`);
+
+    // global dedupe across categories
+    people = people.filter((p) => !globalSeen.has(p.qid));
+
+    // license lookup
+    const titles = [...new Set(people.map((p) => fileTitleFromUrl(p.sigUrl)).filter(Boolean))];
+    process.stdout.write(`[${key}] fetching ${titles.length} Commons licenses… `);
+    const lic = titles.length ? await fetchLicenses(titles) : {};
+    console.log('done');
+
+    const isDecl = key === 'declaration';
+    const catRows = [];
+    for (const p of people) {
+      if (catRows.length >= (isDecl ? 56 : TARGET)) break;
+      globalSeen.add(p.qid);
+      const title = fileTitleFromUrl(p.sigUrl);
+      const meta = title ? lic[title] : null;
+      const deceased = !!p.dod || isDecl; // all DoI signers deceased
+      const hasFile = !!p.sigUrl;
+      const fromArchive = isDecl && !hasFile;
+      const license = fromArchive
+        ? 'Public domain (US Gov work / pre-1929)'
+        : (meta?.license || (hasFile ? 'unknown (verify on Commons)' : 'n/a'));
+      const { risk_level, usable } = assess({ deceased, lic: license, fromArchive });
+
+      const sigImg = fromArchive
+        ? 'https://www.archives.gov/founding-docs/declaration-transcript'
+        : (meta?.directUrl || p.sigUrl);
+      const sourceType = fromArchive
+        ? 'US National Archives — engrossed Declaration of Independence (PD)'
+        : 'Wikimedia Commons (Wikidata P109 signature file)';
+      const filePage = meta?.filePage
+        || (title ? `https://commons.wikimedia.org/wiki/${encodeURIComponent(title)}` : null);
+
+      catRows.push({
+        category: CATEGORIES[key].label,
+        rank: catRows.length + 1,
+        full_name: p.name,
+        wikidata: `https://www.wikidata.org/wiki/${p.qid}`,
+        reason_for_ranking: `Cross-wiki notability: present on ${p.links} language Wikipedias`,
+        ranking_source_urls: (RANKING_SOURCES[key] || []).join(' | '),
+        signature_image_url: sigImg,
+        signature_source_type: sourceType,
+        image_license: license,
+        image_author: meta?.artist || (fromArchive ? 'US Government (1776)' : ''),
+        deceased: deceased ? 'yes' : 'no',
+        death_date: p.dod ? p.dod.slice(0, 10) : (isDecl ? 'pre-1830' : ''),
+        risk_level,
+        usable_in_commercial_collage: usable,
+        notes: [
+          deceased ? 'Deceased — low publicity-rights risk' : 'LIVING — right-of-publicity exposure for commercial use',
+          /share|sa/i.test(license) && /cc by-?sa/i.test(license) ? 'CC BY-SA: derivative collage may need share-alike + attribution' : '',
+          fromArchive ? 'No standalone Commons signature file; signature appears on the engrossed Declaration (NARA scan, PD)' : '',
+        ].filter(Boolean).join('; '),
+        backup_source: isDecl
+          ? 'https://founders.archives.gov/'
+          : (filePage || 'https://catalog.archives.gov/'),
+      });
+    }
+    await writeFile(`data/${key}.json`, JSON.stringify(catRows, null, 2));
+    console.log(`[${key}] -> data/${key}.json (${catRows.length} rows, ${catRows.filter(r => r.usable_in_commercial_collage === 'yes').length} collage-usable)`);
+    all.push(...catRows);
+  }
+
+  // combined outputs
+  await writeFile('data/celebrity_signatures.json', JSON.stringify(all, null, 2));
+  const cols = ['category', 'rank', 'full_name', 'wikidata', 'reason_for_ranking', 'ranking_source_urls', 'signature_image_url', 'signature_source_type', 'image_license', 'image_author', 'deceased', 'death_date', 'risk_level', 'usable_in_commercial_collage', 'notes', 'backup_source'];
+  const csv = [cols.join(',')].concat(all.map((r) => cols.map((c) => csvCell(r[c])).join(','))).join('\n');
+  await writeFile('data/celebrity_signatures.csv', csv);
+
+  console.log(`\n=== TOTAL ${all.length} rows ===`);
+  const byUsable = all.reduce((a, r) => ((a[r.usable_in_commercial_collage] = (a[r.usable_in_commercial_collage] || 0) + 1), a), {});
+  console.log('Collage usability:', byUsable);
+  console.log('Wrote data/celebrity_signatures.{json,csv}');
+}
+
+main().catch((e) => { console.error(e); process.exit(1); });

(oldest)  ·  back to CelebritySignatures  ·  Populate 556 verified signatures (500 celebrity + 56 DoI); s 7d02e4f →