Status reviewed 2026-08-05. This is an engineering control and evidence log, not legal advice. A source is not public-safe merely because the endpoint is unauthenticated or the project currently uses it for noncommercial research.
| Source family | Evidence / current restriction | Local research | Licensed full | Public-safe display, redistribution, or ML |
|---|---|---|---|---|
| Retrosheet data products | Retrosheet's published use policy permits giving away, selling, and commercial products; it asks users to acknowledge Retrosheet. | yes | yes | yes, with attribution |
| Lahman | Project documentation identifies CC BY-SA, but the exact release/license notice must travel with any public derivative. | yes | pending attribution/share-alike review | no automated approval |
| Chadwick Register | License and redistribution terms need a pinned-release review. | yes | no | no |
| MLB Stats API and Baseball Savant/Statcast | MLB terms prohibit automated scripts collecting or interacting with MLB Digital Properties. | yes, owner-risk research only | no | no |
Community MLB Stats API OpenAPI file (mlb-statsapi-spec.json, v2.0.0, 190 paths) |
Copied from the MIT-licensed repo albertinopadin/baseball-mcp (commit 599fc34, 2025-06-21). The repo licence covers its code; the file describes MLB's API and its own upstream origin is not stated, so treat it as a private planning checklist. Reviewed 2026-10-07. |
yes, planning only (not committed) | no | no |
| Baseball-Reference via pybaseball | No permission evidence recorded for automated collection, predictive ML, or redistribution. | yes, owner-risk research only | no | no |
| FanGraphs via fungo | Reached through the FanGraphs mobile-app JSON API (fungo, the one Cloudflare-exempt client). No permission evidence recorded for automated collection, redistribution, model training, or generated content. FanGraphs' site terms reserve its data; the mobile-app endpoints are undocumented and unauthenticated, not licensed. Reviewed 2026-09-10 (ADR-288). |
yes, owner-risk research only | no | no |
| Polymarket / Kalshi | Public read access is not a redistribution, content, or commercial-display license. | yes, owner-risk research only | no | no |
| RSS/news feeds | Feed access does not establish rights to republish summaries, derived NLP features, or commercial content. | yes, owner-risk research only | no | no |
Evidence: Retrosheet use policy, Retrosheet site notice, and MLB Terms of Use. Before changing a row to public-safe, retain the source's current terms, specific permitted use, attribution wording, redistribution terms, ML/model training permission, generated-content permission, commercial permission, and review date in the same pull request.
Derived relations inherit their most-restrictive source. gold.fangraphs_guts
and gold.fangraphs_park_factors (fangraphs-conform Beat 1, ADR-290) are
conformed from raw.fangraphs_* and carry FanGraphs' local_research posture:
never public_safe, never in the published mlb-research dataset, never a
reference-baseline-model input. gold.fangraphs_guts is a cross-check /
reference only — a wOBA / FIP / park-factor figure the project publishes is
computed from core.play, not from these. A standing test
(tests/unit/test_fangraphs_conform_rights.py) blocks a public_safe entry for
any gold.fangraphs_* relation in the export registry.
local_researchis the default and permits owner-controlled research intake. It must not be used as evidence that a table, feature, model, chart, or download can be publicly served.licensed_fullis intentionally no broader thanpublic_safeuntil an executed license is recorded here.public_safecurrently permits only Retrosheet connector families. Its ingest guard fails closed for every other connector.
Set MLB_DATA_PROFILE or pass --profile to mlb ingest, mlb bootstrap,
or mlb update. The CLI blocks a forbidden connector before it makes a
network request. Downstream public-serving controls remain a prerequisite for
Plan 05: each serving object must carry source lineage and call the same
profile guard before publication.
Public artifacts that use Retrosheet data must include the current Retrosheet attribution/copyright notice supplied with the relevant data shipment. Preserve the original source release and its notice in the ingestion manifest.