# PrintKids.io Asset Licenses

PrintKids.io uses **CC0 (public domain)** and **original** artwork only. This folder documents sources for school compliance, AdSense review, and parent transparency.

## License summary

| License | Meaning |
|---------|---------|
| **CC0 1.0** | No copyright. Free for personal, educational, and **commercial** use. No attribution required (we still document sources). |
| **PrintKids original** | Layout, worksheets, and canvas-drawn elements created for this site. |

## Approved sources (whitelist)

| Source | License | Commercial use | Notes |
|--------|---------|------------------|-------|
| [OpenClipart.org](https://openclipart.org/share) | CC0 Zero | Yes | All uploads dedicated to public domain |
| [Abby the Pup](https://www.abbythepup.com/about-us) | CC0 | Yes | Official PDFs only; place in `assets/source/` |
| PrintKids / Figma originals | Owned | Yes | Original page layouts |
| Quiver AI (optional) | Per Quiver ToS | Check terms | Paid generation path |

## Do NOT use

- Pinterest, Google Images, or random blog “free printables”
- Teachers Pay Teachers or paid clip art (license usually forbids redistribution)
- OpenClipart items tagged **`pd_issue`** (copyright under review)
- Characters under trademark (Disney, Pokémon, etc.) even if labeled “free”

## Inventory

Every file in `assets/svg/` is listed in **`assets/manifest.json`** with:

- Source site and OpenClipart ID (if applicable)
- Download URL
- License string
- Optional notes (e.g. Abby the Pup lineage)

Coloring-page heroes are mapped in **`js/page-assets.js`** → `COLORING_PAGES`.

## Abby the Pup PDF workflow

1. Download only from [abbythepup.com](https://www.abbythepup.com) (CC0 stated on About page)
2. Save PDFs to `assets/source/`
3. Run: `python3 scripts/import-abby-pdf.py assets/source/your-file.pdf`
4. Output PNGs go to `assets/pages/`; add entries to `manifest.json`

## Public transparency page

Teachers and parents can read **`sources.html`** on the live site for a human-readable source list.

Chinese team guide: **`SOURCING.zh-CN.md`**

## Asset pipeline (automated)

```bash
# Audit all SVG ↔ manifest ↔ Hy3 coloring pairs
python3 scripts/asset-pipeline.py audit

# Must pass before deploy (also runs on start.sh)
python3 scripts/asset-pipeline.py validate

# Regenerate homepage stats (188 Hy3 coloring pages, etc.)
python3 scripts/asset-pipeline.py site-stats

# Download new CC0 SVG from OpenClipart (Studio corners only)
python3 scripts/asset-pipeline.py fetch 332403 happy-cat

# Check if SVG is line-art vs color-fill (legacy Studio archive)
python3 scripts/asset-pipeline.py line-check assets/svg/happy-cat.svg

# Abby the Pup PDF download + PNG extract
python3 scripts/asset-pipeline.py abby
```

## Usage on PrintKids.io

- **Coloring pages**: large CC0 kawaii illustration + original header/footer layout
- **Drawing pages**: original layout + small CC0 corner vignettes
- Assets are **hosted locally** (not hotlinked) for speed and reliability
- We do **not** sell or separately redistribute raw SVG files
- Hero upgrade notes: **`COLORING-UPGRADES.md`**

**Last updated:** July 2026
