Signed-off-by: Justin Paul <justin@jpaul.me>
Provenance — Brand
Draft v0.1. The visual identity for Provenance: an Origin mark (primary logo) and a monogram tile (app icon / favicon), in a warm ink-and-bronze palette.
Concept
The mark is a survey-datum / origin point: a ring with cardinal ticks (a surveyor's monument — the land / property side of the product) enclosing four nodes connected to a center point (a family graph — the people side). One mark for both halves of what Provenance does. The bronze echoes survey-marker disks and aged document seals — heritage without sepia cliché.
Palette
| Role | Light | Dark | Hex notes |
|---|---|---|---|
| Ink (primary text/marks) | #1A1A17 |
#F2EEE6 |
warm near-black / warm off-white |
| Bronze (accent) | #A06A42 |
#A06A42 |
constant in both modes |
| Paper (knockout on bronze) | #F7F3EC |
#F7F3EC |
constant |
| Muted (tagline/secondary) | #6B6862 |
#9A968E |
The SVG assets carry an embedded prefers-color-scheme rule, so ink and muted tones auto-adapt to light/dark; bronze and paper are intentionally fixed (bronze is mid-tone and reads on both).
Typography
- Wordmark: a refined transitional serif (the heritage/archival register). The wordmark in these assets is outlined to vector paths, so the files render identically everywhere with no font dependency. For production UI headings, pair with a comparable licensed serif (e.g. a Times/Garamond-class face).
- Tagline & secondary: a clean humanist/grotesque sans.
- Tagline: where it came from matters — sentence case, never title case.
Assets
| File | Use |
|---|---|
provenance-logo.svg |
Primary horizontal lockup — mark + wordmark + tagline |
provenance-logo-plain.svg |
Lockup without tagline (tight spaces, headers) |
provenance-mark.svg |
Mark only — square, for avatars, small placements, loading states |
provenance-icon.svg |
App icon — 512px bronze monogram tile |
favicon.svg |
Favicon — 48px monogram tile |
generate.py |
Reproducible generator for all of the above |
Usage notes
- Clear space: keep padding around the lockup at least the height of the mark's center-to-tick distance (≈ the ring radius). Don't crowd it.
- Minimum size: the full lockup stays legible down to ~140px wide; below that, use the mark or the icon.
- Don't: recolor outside the palette, add gradients/shadows, stretch, or rotate. Don't put the ink lockup on a busy or mid-tone background where it loses contrast — use the icon tile instead.
- Backgrounds: the lockup and mark are transparent and adapt to light/dark. The icon tile supplies its own bronze background.
Regenerating
python3 docs/brand/generate.py
Requires matplotlib and the Liberation Serif/Sans fonts (or edit the font paths at the top of the script). Outputs all SVGs into this directory.