GlyphfieldDocs
Documentation/System reference

Brand identity

Edit the shared brand identity that every Studio tool reads, check its brand health score, set it up with a coding agent, and download a brand kit.

Last updated Oct 16, 2026

Brand identity (tool ID identity) is the Glyphfield Studio tool that edits the BrandIdentity of the active project. A BrandIdentity is the JSON record of one brand: its copy, logos, palette, fonts, graphic device, voice, strategy and image assets. The other Studio tools read it, including Brand elements, Moodboard, Brand book, Animation, Lottie, Design Lab, the expression tools, Color tokens, Typography and Component library. Brand identity also scores the identity, writes a setup prompt for a coding agent and exports a brand kit for code.

General Translation Brand identity overview with the brand cover, health score, and quick actions
The Brand identity overview for General TranslationCover · health · quick actions

Layout

RegionContents
Tool headerThe save status (Changes pending or Saved locally), File (Advanced → Edit source code) and Identity JSON
Left sidebar, Brand groupOverview, Set up with agent, Brand health (with the score) and Brand kit
Left sidebar, Edit identity groupVoice & strategy, Logos & assets, Color system, Typography, System defaults and Direction & references
Main areaThe selected section. Every section except Overview shows the brand mark and the section name at the top.

Edits stay pending until you save them. While the active project has pending edits, the Studio shows the notice Save these brand changes? with Ignore and Save changes. An agent saves with identity.save. Identity JSON opens the complete identity as <id>-brand-identity.json in the export preview.

Overview

PanelContents
Brand coverThe brand name in the Display face, the tagline and the positioning on the dominant field. The cover uses the ink color when ink has a larger share of the palette than paper. For Starter and your own brands the picture is the graphic device drawn live from the palette, so palette and device changes show at once. For a reference brand it is the first match of an asset tagged cover, the asset with ID identity-field, any background or texture asset, or the palette drawn in proportion. A footnote reads "Your brand", "Starter template" or "Reference brand", followed by the website.
Starter kitStarter and your own brands only. Directions applies a whole direction; Palette, Type, Device and Corners change one part. See Starter kit.
Quick actionsSet up with your agent, Download brand kit (the ZIP), Edit source and, for an edited built-in identity, Restore the shipped version. Restoring stages the shipped identity as a pending change. Save to keep it.
Health summaryThe score out of 100, the grade, the counts of errors, warnings and suggestions, and Review findings
What is definedEvery audited section with a summary, a completeness meter and Edit
System at a glanceThe mark on light and dark, the palette in proportion, an "Aa" specimen in the Display face with the family names, and the graphic device drawn live with its name and first two rules
Identity essentialsBrand name, Short name (up to 8 characters), Website, Contact email, Social handle, Tagline, Positioning, Mission and Description
Identity previewThe identity applied to its own art-directed composition

Set up with your agent

Set up with agent writes a ready-to-run prompt for a coding agent such as Claude Code, Codex or Cursor. The agent operates the Studio through the Browser API (window.glyphfield.studio, the scripting interface that each Studio tool registers in the page). It researches the brand from its website, repository or design files, fills every section, adds logo and font files, runs the audit, saves the identity and exports the kit.

  • Add brand project → Set up with your agent opens a new, empty brand on this panel. The panel explains why a new brand starts with the agent: every tool reads the identity's logo files, colors, contrast pairs, font files, voice and strategy, and the agent copies them from the brand's own sources and notes each source. Fill it in yourself opens Voice & strategy instead.
  • New brand and Improve this brand switch the prompt. The Studio selects New brand for a project that is not built in when its tagline, positioning or palette still has the values a new project starts with.
  • Copy prompt copies the prompt. It has nine steps: research, brief, connect, validate, apply, files, audit, save and export, and report.
  • Resources lists four links, each with a copy button: this project's URL (/studio?tool=identity&project=<id>), the workflow guide (/docs/agents/brand-setup.md), the identity schema (/api/brand/validate) and the agent skill (skills/glyphfield-brand/SKILL.md).
  • What your agent can call lists every identity.* action with its description.

Brand setup with an agent describes the full workflow.

Brand health

Brand health scores the identity from 0 to 100 across eleven weighted sections:

SectionWeightChecks
Essentials10Name, tagline, positioning, mission, description and website
Strategy12Challenge, central idea, promise, outcome, at least three pillars and at least three personality traits
Voice10At least three principles and three examples, at least two approved phrases and two things to avoid, and a tagline, promise and phrases that do not repeat each other
Logos14Each of the five logo slots, and each logo's surface
Color14The ink, paper and emphasis colors, the contrast of every text pair, the palette proportions, and a palette that differs from the default
Typography12A stored font file for each of the four roles, font licenses, a monospace Code face, unused fonts, the type scale and body line height
Graphic device8The device, its rationale and at least three rules
Imagery6Image direction, at least two non-logo images and alt text
Products & proof6Products, one-line product summaries, audiences, proof, and customer names kept apart from proof
Applications4At least three applications
Naming & data4Distinct color names, the social handle format, the short name and the storage size

Each check is an error, a warning or a suggestion, worth 3, 2 and 1 points. A section's score is the points of its passing checks divided by the points of all its checks. The overall score is the weighted average of the section scores. The grade is Strong at 90 or more, Good at 75 or more, Needs work at 50 or more, and Incomplete below 50. An identity with any error is graded Needs work at best.

The Contrast pairs panel measures every declared text pair against WCAG 2.2 AA: 4.5:1 for level AA and 3:1 for AA-large. Without declared pairs, the audit checks ink on paper, ink on muted, and ink or paper (whichever contrasts more) on the accent at AA-large. The semantic light and dark roles from Color tokens do not count toward the score.

Findings are grouped under Errors, Warnings and Suggestions. Each finding shows the problem, its detail and its ID, an Agent prompt button that copies a self-contained instruction, and Edit. A finding with a deterministic fix also has a one-click fix button:

Fix IDChange
contrast:<fg>:<bg>Moves the foreground color's OKLCH lightness until the pair reaches its required ratio. Chroma and hue stay the same.
proportionsSets paper to 60, ink to 30, emphasis to 10 and every other color to 0
type-scaleSets a 16 px base and a 1.25 ratio
body-leadingSets the Body line height to 1.5
alt-textUses each asset's label as its missing alt text
social-handleAdds @ to the start of the social handle
short-nameCapitalizes the short name, or sets it in capitals when it has three characters or fewer
distinct-phrasesRemoves approved phrases that repeat the tagline or promise
prune-fontsRemoves stored fonts that no role uses
separate-customersMoves customer names from proof to customers
logo-surfacesSets each logo slot's surface to the surface the slot is for
font-bindingsBinds each role to a stored font file of its family

Copy prompt for all findings copies one prompt for every error and warning. It leaves out suggestions.

Brand kit

Brand kit lists each file under Files with a Download button. Preview shows the text files under the tabs brand.md, tokens/tokens.json, tokens/brand.css and tokens/tailwind.css, with Copy.

FileDownload nameContents
Brand kit (.zip)<slug>-brand-kit.zipA <slug>-brand-kit/ folder with brand.md, tokens/tokens.json, tokens/brand.css, tokens/tailwind.css, identity.json, logos/<id>.<ext> for every logo asset, and fonts/<file> for each font the kit may include
brand.mdbrand.mdGuidelines for coding agents: the health score, rules, voice, color with the semantic light and dark table, typography with tracking rules, logos, the graphic device, code usage, strategy, products, audiences and proof, applications, a pre-ship checklist and sources
Design tokens (JSON)<slug>-tokens.jsonW3C Design Tokens (DTCG 2025.10): color, palette scales, semantic light and dark aliases, font, size, typography, radius and motion
CSS variables<slug>-brand.cssCSS custom properties: --brand-color-* and its scale steps, the semantic --brand-<role> with dark values for prefers-color-scheme, data-theme="dark" and .dark, --brand-font-*, --brand-text-*, --brand-radius, --brand-duration-* and --brand-ease-*
Tailwind v4 theme<slug>-tailwind.cssA Tailwind CSS v4 @theme block plus @theme inline semantic roles, for classes such as bg-paper, text-ink, font-display, bg-background and text-foreground
Logo pack (.zip)<slug>-logos.zipEvery logo asset, named by asset ID

<slug> is the brand name in lowercase with hyphens. Both ZIP files are stored without compression. The kit includes a font file only when a type role uses it and the file was uploaded or its recorded license names OFL, Apache, MIT, CC0 or the Ubuntu Font License. Every other font that a role uses keeps its @font-face rule, preceded by a comment that asks you to add a licensed copy at the fonts/ path.

Editors

Voice & strategy

PanelFields
StrategyChallenge, Central concept, Brand promise, Desired outcome, strategic pillars and personality traits
VoiceVoice principles, approved phrases, language to avoid and greetings
Voice examplesFor each example, the context, the line to write and the line to avoid. Add example adds one.
Audience, products and proofAudiences, brand values, products, product one-liners in the form Name: what it does, proof statements, and customers (up to 48, kept apart from proof). A one-liner without a colon is ignored.
Template samplesSample person, Role, Event name, Event location, Event date, Event time, Install command, Code sample title, Code sample, product actions, and a latest update (a title, then one change per line)

List fields take one entry per line. Sources below the panels records where the facts came from. Published plans (up to four) and a sample metric are edited in source. Brand elements, moodboards, the brand book and the expression tools print these fields as content.

Logos & assets

The Logo family panel has five slots. Upload or replace a file in each slot. Tools pick the variant that suits each surface and fall back to another mark when one is missing.

Slot IDUseRequired
mark-darkMark for light surfacesYes
mark-lightMark for dark surfacesYes
wordmarkWordmark for light surfacesNo
wordmark-lightWordmark for dark surfacesNo
mark-monoOne-color markNo

The Asset library stores images with a type (logo, background, texture, image, icon, product, proof, motion or reference), a label, usage, alt text, tags, the source owner, the source URL, a license and a redistribution status (Bundled, Original, Research only or URL only). Choose the type in Asset type, then select Add asset. An image can be PNG, JPG, GIF, WebP, BMP, AVIF or SVG up to 4 MB. Glyphfield reads the format from the file bytes. Assets of type proof are stored in proofAssets. The Conversion library sanitizes SVG files and converts PNG, JPG, WebP, GIF, AVIF and BMP files into transparent PNG working copies that Design Lab shaders can use.

Color system

Each palette color has a name, a usage, a HEX value and a share of the layout. Tools read the color IDs ink (text), paper (background), muted (quiet surface) and emphasis (accent). These four cannot be removed. The IDs success, warning, progress and error are optional. Text pairs declares the foreground and background pairs the brand uses for text, each at AA text or AA large, with the measured ratio and a pass or fail mark. Palette presets replaces the eight role colors with a starter kit palette. Colors you added stay, and declared text pairs switch to the pairs the palette is tested for. Tint scales and the semantic light and dark roles are edited in Color tokens.

Typography

Font files stores TTF, OTF, WOFF or WOFF2 files with the identity. Upload font file accepts files up to 2.5 MB, and each stored file has a license field. The last font file cannot be removed. Typography roles assigns a font to the Display, Body, Accent and Code roles, each with Usage, Weight, Line height (0.7–2) and Tracking (−8 to 12 px). Weight runs from the font's lowest weight to its highest, capped at 550, in steps of 50. Type pairings sets all four roles to a starter kit pairing and stores its font files; usage notes and uploaded fonts stay. Type scale sets Base size (12–24 px) and Scale ratio, one of six ratios from 1.2 to 1.618. The scale step each role uses (typeScale.roleSteps) is set in Typography.

System defaults

PanelFields
Visual defaultsInterface density (Compact, Comfortable, Spacious), Image treatment (Natural, Monochrome, Duotone), Construction field (None, Dots, Lines), Corner radius (0–32 px) and Default logo scale (40–160%)
Graphic systemRecognizable device, Device drawing (a live thumbnail of each starter kit device in the brand's palette, plus a reference brand's own device while it is in use), Device rationale, Composition behavior, Image direction and system rules

Direction & references

The section opens with an editorial header of the tagline, the premise and the personality. System diagram draws how the brand turns inputs into outcomes. Brand dossier holds the art direction: Brand premise, Personality, Logo system, Typography direction, Color direction, Image selection and treatment, Layout and composition, Graphic device, Motion principles, Provenance and licensing, application recipes, a rendering recipe and do-not rules. Applications lists the places the identity must work, each with a name, category, format and intent. Reference contact sheet records each research reference with its source URL, owner and status (Planned, Captured or Reviewed). A reference stays research-only until its redistribution status permits bundling.

Starter kit

The starter kit holds tested parts that any brand can combine. Applying a part changes the visual system and keeps the brand's name and copy. Generated placeholder marks are redrawn in the new ink, paper and accent.

PartOptions
PalettesEight eight-role palettes. Light first: Signal (signal blue on white), Harbor (navy and coral), Ember (ember on cream), Clay (terracotta on sand) and Mono (black and white with one red). Dark first: Forest (deep forest and mint), Ultraviolet (ultraviolet and mint) and Citrus (ink and citrus). Each palette's text pairs pass WCAG AA, or AA large for labels on the accent.
Type pairingsSwiss (Switzer, Instrument Serif accent, Geist Mono), Neutral (Inter and Geist Mono), Editorial (Instrument Serif display, Inter text) and Technical (Geist Mono display, Inter text), all from bundled fonts
DevicesSignal window, Construction grid, Orbit, Gradient band, Light beam, Current, Dither wall, Light arch and Network horizon. Each comes with its device copy and rules.
CornersSquare (0 px), Soft (6 px), Round (12 px) and Pill (20 px)
DirectionsSignal, Harbor, Ember, Forest, Ultraviolet and Citrus, each a palette, a pairing, a device, corners and a density

Choosing a device replaces the device name, rationale, composition and rules only while they are still placeholder or starter kit copy; a brand's own device copy stays. A new brand starts from the Harbor direction with placeholder copy. Starter uses the Signal direction.

Built-in identities

Glyphfield ships nine built-in identities. Starter (kind template) is the identity that identity.project.create copies when from is omitted. Its artwork and copy are original Glyphfield work under the MIT license, and its fonts keep their own licenses. The other eight (kind example) are reference studies of real brands. Their marks, media and webfonts remain their owners' property and are not covered by Glyphfield's MIT license. Licensing lists the terms.

IDNameKindGraphic device
starterStartertemplateSignal window
basementBasementexampleThe engineered interruption
gtGeneral TranslationexampleThe glyph globe
rampRampexampleThe savings ledger
mintlifyMintlifyexampleThe knowledge beam
tailwindTailwind CSSexampleThe utility wave
viteplusVite+exampleThe convergence field
cloudflareCloudflareexampleThe network horizon
stripeStripeexampleThe programmable field

The General Translation (GT) identity is built from GT's brand canon. Its color direction names four absolute colors (ink #070707, raised ink #101010, titanium #8A8F98 and paper #FFFFFF) and one accent. The accent is signal blue #2F5CE0, lifted to #86A8FF on ink and used on one element per composition. The stored palette holds Ink, Paper, Mist #F4F4F4, Signal blue and four neutral status colors (Cloud, Titanium, Graphite and Charcoal). The graphic device is the glyph globe: the earth drawn in characters from twenty writing systems. The cover asset is the glyph globe on ink.

GT sets Display, Body and Accent in Rasmus Inter and Code in Geist Mono. Rasmus Inter is Rasmus Andersson's Inter Variable 4.1 (font version 4.001) with its optical-size and weight axes, bundled as public/fonts/inter-variable.ttf. Both faces are licensed under the SIL Open Font License 1.1. The picture library holds nine pieces of GT artwork (the glyph globes, the globe and mark, the glyph and horizon fields, the speed marks, the How GT works still and the signal gem smoke). It also holds ten artifact pictures, such as the Rosetta Stone and the Blue Marble, printed through an 8 × 8 Bayer dither. Each picture records its credit and license. GT's marks and artwork are © General Translation, Inc., included with permission for this identity only. Seven artifact pictures are public domain, and the Rosetta Stone, Devanagari manuscript and Louisbourg lighthouse screens are CC BY-SA 4.0 adaptations. THIRD_PARTY_NOTICES.md and public/brands/ASSET-NOTICE.md in the repository list every credit.

Each built-in identity records a fingerprint of the version it shipped with (presetFingerprint). When a Glyphfield release ships a newer version, an untouched built-in identity is replaced by it. An edited built-in identity keeps every edit and gains the fields and assets it did not have. It also drops links to bundled files that a release removed. Files you uploaded stay. Restore the shipped version replaces the edits with the current shipped identity.

Source format

File → Edit source code shows the complete BrandIdentity. Apply code validates it against the BrandIdentity JSON Schema and replaces the identity. GET /api/brand/validate serves that schema. The fields id, kind, revision, builtIn and presetFingerprint keep their project values. Unknown fields are kept. An error names every invalid path, for example colors[1].hex must be a six-digit HEX color such as "#1A2B3C"; received "#FFF".

The top-level fields are applications, artDirection, assets, audiences, colorPairings, colorSystem, colors, contactEmail, customers, description, dossier, fonts, greetings, graphicSystem, mission, motion, name, positioning, productDetails, products, proof, proofAssets, references, samples, shortName, socialHandle, sourceNotes, strategy, style, tagline, typeScale, typography, values, voice and website, plus the project fields above. Asset and font paths must be data: URLs or root-relative paths on the Glyphfield origin. Identity fields describes each field.

Browser API

An export artifact is an object with a non-empty blob and a fileName. studio.download(artifact) saves it.

ActionInputOutput
identity.readNoneA copy of the BrandIdentity object
identity.validate{ identity, mode?: 'patch' | 'full' } (default patch){ ok, issues: [{ code, message, path, severity }] }
identity.apply{ identity, mode?: 'merge' | 'replace', replace?, remove?, save? }{ identity, warnings, saved, health: { score, grade, counts } }. Throws a TypeError that lists every issue.
identity.asset.add{ file: File, slot?, id?, type?, label?, surface?, usage?, alt?, license?, sourceUrl?, sourceOwner?, redistribution?, tags?, save? }{ asset }
identity.font.add{ file: File, roles?, family?, label?, weight?, weightMin?, weightMax?, style?, license?, sourceUrl?, id?, save? }{ font }
identity.auditNoneThe brand health report
identity.fix{ fixId, save? }The report after the fix
identity.saveNone{ saved: true }
identity.export.jsonNoneAn export artifact with the identity JSON
identity.export.kit{ format?: 'zip' | 'dtcg' | 'css' | 'tailwind' | 'markdown' | 'logos', download? }An export artifact
identity.setup.prompt{ mode?: 'new' | 'improve' }{ mode, prompt }
identity.project.create{ from?: 'starter' | 'scratch' | <built-in or project id>, name? }{ id, name, kind: 'custom', from, url }

A logo slot replaces that slot in place. identity.font.add treats a file whose name contains "variable" or "[wght" as a 100–900 weight range. After identity.project.create resolves, read window.glyphfield.studio again, because the new project owns the API. Brand setup with an agent describes the merge rules, replace and remove.

HTTP

RouteUse
GET /api/brand/validateThe BrandIdentity JSON Schema, the merge-patch schema, the merge rules and the logo slots
POST /api/brand/validate{ identity, mode?: 'full' | 'patch' } (default full). Returns { ok, issues, identity, health, schemaVersion }.
GET /api/brand/kit, POST /api/brand/kitThe kit contract. { identity, format: 'dtcg' | 'css' | 'tailwind' | 'markdown' } returns that file.
GET /api/identitiesThe nine built-in identities

These routes store nothing. The ZIP files and font files come only from identity.export.kit in the browser. See Endpoint reference.

Limits

ItemLimit
Image asset4 MB; PNG, JPG, GIF, WebP, BMP, AVIF or SVG
Font file2,500,000 bytes; TTF, OTF, WOFF or WOFF2
Short name8 characters
Customers48
Published plans4
StorageThe audit warns when the identity JSON exceeds 3.5 million characters
HTTP request body5,250,000 bytes
Font weightStudio tools display weights up to 550. The schema accepts 100–900.

On this page