Or, generate automatically: Paste your website URL on the homepage and get a v0 BCP in seconds. Then refine it in the visual editor.

Create a minimal BCP

Start with only the three required fields. This is the smallest valid BCP:

{
  "brand": {
    "id": "my-brand",
    "display_name": "My Brand",
    "brand_type": "consumer_brand"
  }
}

Choose a brand_type from: consumer_brand, digital_brand, b2b_brand, creator_brand, marketplace, media_publisher, nonprofit, or public_sector.

Add your identity

Define your brand's mission, core values, and archetype:

"identity": {
  "mission": "Make everyday products extraordinary",
  "values": ["quality", "sustainability", "innovation"],
  "brand_archetype": "creator"
}

Define visual identity

Add your brand colors, typography, and logo specifications:

"visual": {
  "colors": {
    "primary": [
      { "name": "Brand Red", "hex": "#E63946", "usage": "Headlines, CTAs" },
      { "name": "Dark Navy", "hex": "#1D3557", "usage": "Body text" }
    ]
  },
  "typography": {
    "primary": { "family": "Inter", "weights": [400, 600, 700] }
  }
}

Set your brand voice

Define how your brand speaks with a voice description, tone descriptors, and vocabulary rules:

"verbal": {
  "voice": {
    "description": "Confident and helpful, like a knowledgeable friend",
    "tone": ["confident", "approachable", "warm"]
  },
  "vocabulary": {
    "encouraged_words": ["discover", "craft", "elevate"],
    "forbidden_words": [
      { "word": "cheap", "reason": "Undermines quality", "alternative": "affordable" }
    ]
  }
}

Set governance & compliance policies

Define your risk posture, marketing tactics policy, and claims governance. BCP inherits sensible defaults from the Global Policy Library — you only override what you need:

"governance": {
  "risk_and_enforcement": {
    "risk_posture": "conservative",
    "enforcement_mode": "strict",
    "block_threshold": 40
  },
  "tactics_policy": {
    "inherit_defaults": true,
    "overrides": [
      { "tactic_id": "countdown_timer", "enforcement": "block" },
      { "tactic_id": "false_scarcity", "enforcement": "block" },
      { "tactic_id": "social_proof", "enforcement": "allow" }
    ]
  },
  "claims_policy": {
    "claims_strictness": "strict",
    "allow_comparative_claims": false,
    "evidence_required_for": ["health_benefit", "efficacy_claim"]
  }
}

Enforcement levels: allow, warn, escalate, or block. Risk posture options: permissive, moderate, conservative, or strict.

Validate your BCP

Use the BCP Validator to check your file against the schema:

  • Paste your JSON in the validator
  • Click Validate to check against the schema
  • Fix any errors shown
  • Aim for a completeness score of 75+

Or validate via the API:

curl -X POST http://localhost:5003/api/validate \
  -H "Content-Type: application/json" \
  -d @my-brand-bcp.json

Publish and use with AI tools

Once validated, integrate your BCP with AI tools and platforms. The BCP gives AI both your brand voice and your compliance rules:

// Load BCP in your AI workflow
const bcp = await fetch('https://mybrand.com/bcp.json');
const voice = bcp.verbal.voice;
const governance = bcp.governance;

const prompt = `Brand voice: ${voice.description}.
Tone: ${voice.tone.join(', ')}.
Never use: ${bcp.verbal.vocabulary.forbidden_words
  .map(w => w.word).join(', ')}.
Blocked tactics: ${governance.tactics_policy.overrides
  .filter(t => t.enforcement === 'block')
  .map(t => t.tactic_id).join(', ')}.
Risk posture: ${governance.risk_and_enforcement.risk_posture}`;

Register your brand through the API:

curl -X POST http://localhost:5003/api/brands \
  -H "Content-Type: application/json" \
  -d @my-brand-bcp.json