No silent edits
Every change to a published standard carries a version bump and a changelog entry.
An audit has to be checkable against the version it named.
Two approvers
A change to a published standard is approved by Joel Zimmer and Nathan Zimmer.
One person cannot quietly move the brand.
The guide is the source
Everything under /ai is generated. A hand edit is overwritten by the next build.
Two copies of a fact means one of them is wrong and nobody knows which.
Archive, never delete
A superseded guide moves to the archive and stays reachable.
An audit citing v6.8 has to be checkable against v6.8.
One version everywhere
Tokens, components, channels, packages, and pages all carry the same version number.
Separate version numbers make it impossible to say what agrees with what.
Every consumer is registered
A surface running this brand is listed with the version it was last synced to.
Otherwise nobody can answer which of our things are on the old brand.
Reviewed twice a year
The system is reviewed against the people using it, and the review stays on the record.
A changelog only ever looks at itself.
Audit before presenting
Branded work is audited against the current standard, and the report names the version used.
Compliance claimed without a version is a claim about nothing.
Nothing ships on a broken build
The three checks pass before anything reaches production.
A site that disagrees with its own manifest is lying about being canonical.
Corrections come home
A value corrected in the field returns through a changelog entry, never as a note in an inbox.
A press proof that lives in someone's email is a fact the system does not have.
Locked language stays locked
No team member, contractor or AI system redefines a locked conviction or standard term without leadership approval.
A standard that anyone can quietly reword is not a standard.
Nothing invented
No contractor or AI system invents doctrine, quotations, testimonies, statistics, partner needs, biography or outcomes.
Law II: the record or nothing. A ministry is believed because it can be checked.
Unknown stays labelled
Information that is not known stays a labelled placeholder or is escalated. An empty field is never filled with an assumption.
A guessed number outlives the guess and becomes a fact nobody can trace.
Preaching is punctuation only
Preaching and preaching-derived writing are edited for punctuation unless the speaker asks for style or content editing.
The preacher's cadence, force and theology are the content, not a first draft.
A human approves
An AI audit may identify violations. Final approval of any published asset stays with the designated human owner.
The audit is a tool. Responsibility does not transfer to it.
The non-negotiables
The rules about what the brand looks and sounds like are not restated here. These are the audit's gates, read from https://brand.theword.world/ai/audit.md at build time. Any gate failure fails the whole audit.
A statistic, quote, testimony, name, date, or Bible reference appears that did not come from the official ministry record. Bracketed placeholders ([n], [city]) pass. Plausible-looking figures fail.
Any photograph or video frame of people, ministry, or the field that is stock, AI-generated, or staged. Documentary capture only.
The prophecy is paraphrased, excerpted, trimmed, or reworded. It is quoted exactly and in full, or it is absent.
Any text set in Flame, or any text sitting directly on Flame. Fire at text size is Ember.
Type over photography or video without the Midnight scrim, or in a color other than White or Parchment.
An initiative's name appears without "A ministry of THE WORD FOR ALL THE WORLD." One recorded exception: EVERY1, which stands on its own across the movement, the app, and the activation platform. On an EVERY1 surface the line is not merely optional, it is wrong, and so is a parent lockup. Revival To My City and the School of the Local Church carry it without exception.
Seals, crests, flags, eagles, or any device that imitates a government office. This includes theming the system to a country: a national accent colour, a flag palette, or a patriotic treatment of buttons, grounds, or type. Two recorded exceptions: the School of the Local Church's approved academic seal, on the School's own credentials only (Brand Guide §11, v5.8), and the flag in the bar of a published country lockup (Brand Guide §11, v7.8). A country is carried by its lockup, its language, and the people in its photographs, and by nothing else.
A vision statement, field report, testimony, or official record published without the name of the person or office behind it.
Any term from the Messaging Guide's hype, corporate-polish, or churchy-insider lists, used straight rather than explained.
The copy makes THE WORD the hero of the story instead of the believer and the local church.
Changing the brand
Starts when: Someone proposes a change to what the standard says.
Proposal
Anyone
A pull request against the guide
Review
Brand owners
A preview to look at
Approval
Joel and Nathan
A recorded sign-off
Release
Whoever proposed it
A version bump and a changelog entry
Sync
Whoever released it
Canva, Figma, and the packages updated
Record
Whoever synced
consumers.json showing the new version
Ends when: Every registered surface is on the version the guide states. · Procedures: SOP1 SOP2 SOP5 SOP6
Producing branded work
Starts when: A page, a post, a deck, an ad, an email, or a document is needed.
Brief
Requester
Who it is for, and what it must do
Draft
Maker
The work, built from components and the copy bank
Audit
Maker
An audit report naming the version
Revise
Maker
Every failed check fixed
Publish
Owner of the surface
The work, live
Ends when: The work is live and its audit report is filed with it. · Procedures: SOP3 SOP7
Bringing a new surface on
Starts when: A new site, app, kit, or account will carry the brand.
Register
Owner
A row in consumers.json
Build
Owner
The surface, built on the published tokens
Sync
Owner
The current version in place
Record
Owner
syncedVersion set
Ends when: The linter can see the surface and say what version it is on. · Procedures: SOP4 SOP5 SOP6
Correcting a defect
Starts when: Something published is found to be wrong.
Report
Anyone
What is wrong and where it shows
Reproduce
Maintainer
A failing check, where one is possible
Fix
Maintainer
The correction, and a check that would have caught it
Release
Maintainer
A version bump and a changelog entry
Ends when: The defect is fixed and cannot return unnoticed. · Procedures: SOP1 SOP2
Reviewing the system
Starts when: Six months have passed, or a new kind of surface has joined.
Examine
Reviewer
What each audience finds and has to invent
Report
Reviewer
A review, with an acceptance test per recommendation
Plan
Brand owners
What will be done, and in what order
Release
Maintainer
The version the review called for
Close
Reviewer
The review row naming the version it produced
Ends when: The review is on the record with its outcome beside it. · Procedures: SOP8 SOP1
Release a brand change
- Edit the source: brand/index.html for a visual rule, brand/messaging/index.html for a verbal one.
- Bump the version in the title and the kicker.
- Add a changelog row: version, date, owner, what changed, who approved it.
- Move the superseded guide into archive/.
- Run build_logos.py, then build_ai.py, then brand_lint.py.
- Commit the regenerated files with the change that caused them.
- Open a pull request and check the preview before merging.
Done when: All three checks pass and the changelog names the new version.
Rebuild the AI layer
- Run python3 tools/build_logos.py.
- Run python3 tools/build_ai.py.
- Run python3 tools/brand_lint.py.
- Commit every regenerated file alongside the edit.
Done when: Both --check modes report current and the linter reports no errors.
Audit a piece of work
- Fetch /ai/manifest.json and record the versions it reports.
- Read tokens, the brand system, and the audit. Read the initiative's guide if it speaks for one.
- Work the ten gates in order. Any gate failure fails the whole audit.
- Score every applicable check and mark the rest n/a with a reason.
- Return the report template exactly, with a verdict.
Done when: The report names a version and gives SHIP, REVISE, or BLOCKED.
Add a page to the portal
- Copy the chrome from an existing page.
- Link /assets/brand.tokens.css rather than restating the palette.
- Add the og tags, the meta description, and the favicon links.
- Add the page to llms.txt in tools/build_ai.py, and to the homepage card index if it is a front door.
- Rebuild and lint.
Done when: The linter reports no errors and the page appears in the sitemap.
Set up the Canva brand kit
- Run python3 tools/sync_canva.py to print the sheet.
- Keep one kit and name it with the current version.
- Set exactly the six colours and the three fonts, and remove anything else.
- Upload the listed PNG logos.
- Build the locked brand templates.
- Set syncedVersion in ai-source/consumers.json.
Done when: The linter no longer warns that Canva is unsynced.
Push tokens into Figma
- Run python3 tools/sync_figma.py --dry-run and read the payload.
- Set FIGMA_TOKEN and FIGMA_FILE_KEY.
- Run python3 tools/sync_figma.py.
- Set syncedVersion in ai-source/consumers.json.
Done when: The Figma library shows the current values and the linter is quiet.
Check work in another repository
- Add the brand-check Action to the repository's pull request workflow.
- Point it at the built output, not the source.
- Fix every failure it reports.
- Run the full audit with a reader before publishing.
Done when: The check passes and a human audit has been run on top of it.
Publish a system review
- Create reviews/<date>-<name>/index.html with a title and a meta description.
- Name the version examined, what was found, and what it recommends.
- Give every recommendation an acceptance test.
- Add its row to the reviews index.
- Rebuild: the review registers itself in llms.txt and the sitemap.
Done when: The review appears on /reviews and in the machine-readable layer.
Propose a change to locked language
- Name the exact section and the current wording.
- Write the requested wording in full, not a description of it.
- State the reason, and what changes if it is refused.
- List the channels and generated files the change reaches.
- Name the owner and the approver, and propose an effective date.
- Open it as a pull request so the diff is the proposal.
Done when: Joel and Nathan have approved, the changelog row is written, and the build passes.
EVERY1 is a second site, not a second system
EVERY1's brand site is published from this repository and this build, and served from its own domain and its own Pages project.
One build, one linter and one version number are the only reason nothing here can disagree with anything else. Two copies would give two answers to what Midnight is.
There was nothing to fork. EVERY1 shares every colour, all three typefaces and every law, differing only in proportion, its Flame ceiling and one endorsement exception.
Revisit when: EVERY1's palette or typefaces diverge from the house, or a separate team owns it with no shared review. Then: Fork it, with EVERY1 consuming @theword/brand as a dependency rather than copying it. That package already exists for this reason.
The EVERY1 site carries its own copies
The site holds its own stylesheet, typefaces and marks rather than linking the parent's domain.
Its Pages project serves only that directory, a partner downloading a logo should never be sent to the parent's domain, and the door that stands alone should not go dark when that domain does.
Every copy is generated by the build and verified byte for byte, so duplication cannot become drift.
Revisit when: The duplicated weight becomes a problem, or the two sites are merged onto one domain. Then: Serve the shared assets from one origin with permissive CORS, which they already have.