Brand-Aware AI in Content Hub — Wiring Brand Kits Without Breaking Editorial Workflow

The first time a content operations lead asked me to "turn on the brand AI in Content Hub," the brand kit already existed. Someone had uploaded a PDF in Stream, the sections had filled in, and a superuser had flipped the Brand Assistant switch over a lunch break. By the end of the week the assistant was drafting campaign copy against the wrong brand, two authors on a Knockout page could not see the same panel the React users saw, and a brief had been treated as approved because the model had written it in a confident tone. The kit was fine. The wiring had skipped the editorial system Content Hub already had.
Brand-aware generation in Content Hub has been generally available since 28 November 2025 for Content Hub users with Stream Premium. The 24 February 2026 SitecoreAI changelog added the controls I now treat as mandatory: a choice of information sources, and a writing style that is deliberately separate from the brand kit's tone of voice. This post is the setup I use so those controls sit inside the workflow authors already trust, instead of beside it.
The kit is not a Content Hub entity until you map it
A brand kit is created in Stream, from documents a brand manager uploads. Stream ingests those documents into brand knowledge and uses that knowledge to fill the kit sections: brand context, global goals, tone of voice, dos and don'ts, a checklist, grammar, visual guidelines, image style. Sitecore is explicit that the sections are a subset of the uploaded knowledge. Authors who expect the assistant to quote page 40 of a PDF will be disappointed, and they should hear that before go-live.
Content Hub does not read a draft kit. The documented preparation is dull and I do not skip it. Documents finish processing. The kit and the documents are Published. An administrator notes the published names. A superuser, or a user with the ManageBrandKits privilege, then maps those kits to Content Hub brands under Manage, AI features, Brand settings, on the Brand mapping tab. Mapping writes a relation from the brand entity to the Sitecore brand kit. Sitecore's own note says the schema changes. I put that relation in the same change record as any other schema update, because a later package or a script that recreates M.Brand can drop it without an obvious error in the assistant UI.
The new entity to permission is SC.Brandkit. If the tenant already drives access by brand, the rule I add is the one the docs illustrate: read on SC.Brandkit, constrained to the brand the user already has. A global read on every kit is how a regional author starts generating copy for a brand they are not allowed to publish. I would rather the assistant refuse the kit than "helpfully" offer it.
Only after mapping do I enable the assistant, on the Brand assistant tab of the same Brand settings page. The screen has a legal disclaimer field. I make the brand and legal owners write that sentence. It renders under the assistant's responses, and an empty disclaimer is a choice I do not want to be the person who made.
Who is allowed to talk to it
Sitecore's usage page is tighter than "anyone who can log in." The assistant is available to users with a verified email address who belong to at least one user group other than Everyone. It is fully supported on React pages. On Knockout and hybrid pages the 28 November 2025 changelog says the assistant may be present and may still need a theme refresh before it matches the React rendering. I do not discover that in production. I open the pages the editorial team actually uses — campaign creation, the brief, the asset detail page they refuse to give up — and I confirm the panel on each. Where a page cannot move to React, the theme refresh goes in a maintenance window, which is what Sitecore asks for, and it is a ticket rather than a CSS guess.
Stream Premium is the license gate for the kit and the assistant. A Stream subscription alone is not the sentence in the Content Hub docs. I confirm Premium before I map anything, because a half-configured AI features page trains authors to click a button that then fails, and the second rollout is harder than the first.
Sitecore also documents a data claim I repeat out loud: interactions follow their privacy policy, customer data is not used to train the model, and guardrails apply to brand documents. I point authors at that page. I do not add a private promise on top of it. If a tenant has a contractual review of AI subprocessors, that review happens before the switch is enabled, not after the first brief is generated.
Writing style is not tone of voice
This is the February 2026 change that breaks a workflow when nobody explains it. From the tool configuration in the chat, an author can pick a predefined writing style — Formal, Casual, Bold, Informative, or Friendly — or a custom style. They can also choose information sources: knowledge sources, web search, or both, depending on the mode. Those choices persist across chats until someone changes them.
The brand kit's tone of voice stays the organization-wide definition. The writing style is a per-chat lens on top of it. I have watched a brand manager spend a week tuning "calm, precise, never playful" in the kit, and then watch an author leave the style on Bold and ship a subject line the kit would have rejected. Both settings did what they were documented to do. The editorial rule I add is simple. The kit is owned by the brand team and changes rarely. The writing style is chosen for the assignment, written on the brief, and reset when the assignment is over. Web search as a source is allowed for research modes and turned off when the output is supposed to be grounded only in the kit and the Content Hub entities already on the page. A public web result inside a regulated claim is not a brand feature. It is an unreviewed source.
The assistant's own documentation describes an agentic process for gathering that context and writing a response. I treat the response as a draft. Content Hub already has states, assignments, and approvals for campaigns and content. A generated paragraph becomes real when a person moves the entity through those states. I do not add a parallel "AI approved" flag, and I do not let a flow auto-advance a campaign because the disclaimer was accepted.
A guard I put in front of the brief, not inside the model
Content Hub will not validate that the person who pressed generate picked the kit named on the job ticket. That check is ours. The shape I keep in the implementation notes is small, and it runs where the brief is saved, in whatever extension or script the tenant already uses to enforce required relations. The values are the ones the mapping screen already shows.
type BrandBinding = {
contentHubBrandId: string;
mappedKitName?: string;
kitStatus?: "Published" | "Draft";
authorGroupIds: string[];
allowedGroupIds: string[];
writingStyle?: string;
styleApprovedForAssignment?: string;
sources: Array<"knowledge" | "web">;
webSearchAllowed: boolean;
};
export function assertBrandBinding(binding: BrandBinding): void {
if (!binding.mappedKitName || binding.kitStatus !== "Published") {
throw new Error("Brand assistant requires a published kit mapped to this brand.");
}
const allowed = binding.authorGroupIds.some((id) => binding.allowedGroupIds.includes(id));
if (!allowed) {
throw new Error("Author is outside the groups allowed to use this brand kit.");
}
if (binding.writingStyle && binding.writingStyle !== binding.styleApprovedForAssignment) {
throw new Error("Writing style does not match the style named on the assignment.");
}
if (!binding.webSearchAllowed && binding.sources.includes("web")) {
throw new Error("This assignment is grounded in brand knowledge only.");
}
}
This is not a Content Hub API. It is the rule I want a script, a real-time validator, or a human checklist to enforce before a generated body is pasted into the content entity. The assistant can still be used to explore. The entity does not store the result until the binding matches the assignment. Teams that skip the check do not have a model problem. They have drafts from the Fruitful kit sitting on a brand entity that was never mapped to Fruitful.
Where this sits next to DAM and CMP work
Brand-aware AI does not distribute content. Authors still create assets, public links, and CMP content the way the tenant's workflows describe, and a downstream site still receives that content through the connector or the Edge publication path I will map in a later post. The assistant can help write the brief and the body. It does not select a rendition, it does not create a public link, and it does not publish to Experience Edge.
I keep the rollout inside one brand and one React page for the first week. The page is the campaign brief, because that is where a wrong tone is still cheap. Asset detail pages come second, and only for the fields an author is allowed to overwrite. I leave final-layout pages and approved entities alone. Generation on an approved entity invites someone to paste over the version legal already signed.
The documentation also asks for clear prompts: the content type, the constraints, the keywords. I turn that into a one-line template on the brief itself, so the prompt is part of the job record. "Write a 40-word introductory paragraph for this campaign, using only the mapped kit, in the Informative style" is reviewable. "Make this better" is not, and it is how the Bold style sneaks back in.
The order I follow on a tenant that already has brands
- Confirm Stream Premium and list the published kits by name. Unpublished documents are a stop, not a follow-up.
- Map each kit to the matching Content Hub brand and record the schema relation. Set
SC.Brandkitpermissions to follow the brand rules already in place. - Enable the assistant, with a disclaimer legal has signed, on a React page the editors use. File a theme-refresh ticket for any Knockout page that must keep the panel.
- Write down, per assignment type, the allowed writing style and whether web search is a permitted source. Check that rule where the entity is saved.
- Keep approval states exactly where they were. A generated field is a draft until the same people who used to approve the brief have approved this one.
The win is quieter than the demo. Authors stop retyping the tone guide, and the brand team still recognizes the sentence. That only happens when the kit, the mapping, the group, and the workflow state are all still in force after the panel opens. The panel is the last step. It is the one everyone wants to do first.

