{
  "$description": "Brand: HashiCorp (hashicorp@1.0.0)",
  "color": {
    "swatches": {
      "$description": "Source-of-truth color swatches from palette hashicorp@1.0.0",
      "hashicorp-yellow": {
        "$value": "#FFCD00",
        "$type": "color",
        "$description": "The HashiCorp corporate accent — the yellow of the parent wordmark and the principal CTA color across hashicorp.com.\n"
      },
      "hashicorp-yellow-dark": {
        "$value": "#D9AE00",
        "$type": "color",
        "$description": "Pressed/active state for the corporate yellow CTA."
      },
      "hashicorp-black": {
        "$value": "#000000",
        "$type": "color",
        "$description": "Pure black — corporate wordmark fill on light surfaces."
      },
      "hashicorp-canvas": {
        "$value": "#0E0E10",
        "$type": "color",
        "$description": "Near-black canvas used on hashicorp.com hero sections and the HCP console dark chrome.\n"
      },
      "hashicorp-canvas-deep": {
        "$value": "#050507",
        "$type": "color",
        "$description": "Darkest canvas used as the page-level dark background."
      },
      "terraform-purple": {
        "$value": "#7B42BC",
        "$type": "color",
        "$description": "Terraform product accent — used on terraform.io and the Terraform Registry chrome.\n"
      },
      "vault-yellow": {
        "$value": "#FFEC6E",
        "$type": "color",
        "$description": "Vault product accent — the brighter yellow used on vaultproject.io, distinct from the corporate yellow.\n"
      },
      "consul-magenta": {
        "$value": "#E03875",
        "$type": "color",
        "$description": "Consul product accent — magenta used on consul.io and service-mesh diagrams.\n"
      },
      "nomad-green": {
        "$value": "#00CA8E",
        "$type": "color",
        "$description": "Nomad product accent — used on nomadproject.io."
      },
      "boundary-pink": {
        "$value": "#F24C53",
        "$type": "color",
        "$description": "Boundary product accent — coral-pink used on boundaryproject.io."
      },
      "packer-blue": {
        "$value": "#1DAEFF",
        "$type": "color",
        "$description": "Packer product accent — sky-blue used on packer.io."
      },
      "waypoint-sky": {
        "$value": "#14C6CB",
        "$type": "color",
        "$description": "Waypoint product accent — teal used on waypointproject.io."
      },
      "hashicorp-ink": {
        "$value": "#1B1B1F",
        "$type": "color",
        "$description": "Primary text on light surfaces."
      },
      "hashicorp-gray": {
        "$value": "#6F7682",
        "$type": "color",
        "$description": "Secondary text and metadata."
      },
      "hashicorp-gray-light": {
        "$value": "#9CA0A8",
        "$type": "color",
        "$description": "Tertiary text and disabled UI."
      },
      "hashicorp-surface": {
        "$value": "#F4F4F7",
        "$type": "color",
        "$description": "Quiet surface — card backgrounds on the marketing site."
      },
      "hashicorp-border": {
        "$value": "#DDDFE4",
        "$type": "color",
        "$description": "Hairline borders and dividers."
      },
      "hashicorp-white": {
        "$value": "#FFFFFF",
        "$type": "color",
        "$description": "Primary canvas on light surfaces."
      }
    }
  },
  "font": {
    "$description": "Typography roles mapped to font atoms",
    "heading": {
      "family": {
        "$value": [
          "Inter",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Roboto",
          "Helvetica Neue",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "heading role → Inter (inter@1.0.0)"
      },
      "weight": {
        "100": {
          "$value": 100,
          "$type": "fontWeight"
        },
        "200": {
          "$value": 200,
          "$type": "fontWeight"
        },
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "600": {
          "$value": 600,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "800": {
          "$value": 800,
          "$type": "fontWeight"
        },
        "900": {
          "$value": 900,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    },
    "body": {
      "family": {
        "$value": [
          "Inter",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Roboto",
          "Helvetica Neue",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "body role → Inter (inter@1.0.0)"
      },
      "weight": {
        "100": {
          "$value": 100,
          "$type": "fontWeight"
        },
        "200": {
          "$value": 200,
          "$type": "fontWeight"
        },
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "600": {
          "$value": 600,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "800": {
          "$value": 800,
          "$type": "fontWeight"
        },
        "900": {
          "$value": 900,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    },
    "mono": {
      "family": {
        "$value": [
          "JetBrainsMono Nerd Font",
          "JetBrains Mono",
          "Fira Code",
          "Menlo",
          "Monaco",
          "Consolas",
          "Liberation Mono",
          "monospace"
        ],
        "$type": "fontFamily",
        "$description": "mono role → JetBrainsMono Nerd Font (jetbrainsmono-nerdfont@1.0.0)"
      },
      "weight": {
        "100": {
          "$value": 100,
          "$type": "fontWeight"
        },
        "200": {
          "$value": 200,
          "$type": "fontWeight"
        },
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "600": {
          "$value": 600,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "800": {
          "$value": 800,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    }
  },
  "$extensions": {
    "com.brand-atoms.rules": [
      {
        "type": "colorChoice",
        "target": "logo.wordmark.fill",
        "severity": "error",
        "rationale": "The HashiCorp corporate wordmark renders in black, reversed white, or the corporate yellow. The product-family accents identify specific products (Terraform, Consul, Nomad, Boundary) and must not stand in for the parent corporate mark.\n",
        "allowed": [
          "hashicorp-black",
          "hashicorp-white",
          "hashicorp-yellow"
        ],
        "forbidden": [
          "terraform-purple",
          "consul-magenta",
          "nomad-green",
          "boundary-pink"
        ]
      },
      {
        "type": "forbiddenTreatment",
        "target": "logo",
        "severity": "error",
        "rationale": "HashiCorp's brand guidelines explicitly prohibit altering the proportions or color of the corporate wordmark and restrict per-product accent colors to their owning product surfaces (Terraform Purple on Terraform, not on the corporate wordmark).\n",
        "treatments": [
          "stretched",
          "rotated",
          "recolored",
          "drop-shadow",
          "on-busy-photo",
          "product-accent-on-corporate-wordmark",
          "gradient-fill"
        ]
      },
      {
        "type": "contrastRatio",
        "target": "text-primary",
        "severity": "error",
        "rationale": "HashiCorp Ink (#1B1B1F) on HashiCorp White gives ~17:1 — well above WCAG 2.1 Level AA. The rule encodes the floor for any new foreground/background pairing on hashicorp.com and the HCP console.\n",
        "against": "background",
        "minRatio": 4.5,
        "standard": "WCAG-AA"
      },
      {
        "type": "contrastRatio",
        "target": "roles.colors.primary",
        "severity": "warning",
        "rationale": "HashiCorp Yellow on HashiCorp White is contrast-marginal — it does not clear AA for body-sized text and barely clears AA-large. Use the yellow as a CTA / heading accent against the dark canvas (where it clears ~14:1), not as body copy on white.\n",
        "against": "background",
        "minRatio": 3,
        "standard": "WCAG-AA-large"
      },
      {
        "type": "compositionConstraint",
        "target": "roles.colors.primary",
        "severity": "recommendation",
        "rationale": "The signature corporate yellow lives against the near-black canvas — the highest-contrast brand composition. Pairing corporate yellow with Vault Yellow on the same surface creates a two-yellow composition that reads as a brand- hierarchy error.\n",
        "pairsWith": [
          "hashicorp-canvas",
          "hashicorp-canvas-deep",
          "hashicorp-black"
        ],
        "doesNotPairWith": [
          "vault-yellow"
        ]
      },
      {
        "type": "contextRestriction",
        "target": "roles.colors.product-terraform",
        "severity": "warning",
        "rationale": "Terraform Purple is the product accent for Terraform and Terraform-related surfaces. Using Terraform Purple on corporate / parent-brand surfaces undermines the product- family color system that lets readers identify which HashiCorp product a surface belongs to.\n",
        "allowedContexts": [
          "terraform",
          "hcp-terraform",
          "terraform-registry"
        ],
        "forbiddenContexts": [
          "corporate-marketing",
          "parent-brand-surfaces"
        ]
      },
      {
        "type": "accessibilityRequirement",
        "target": "*",
        "severity": "error",
        "rationale": "WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. HashiCorp's marketing and HCP console surfaces both target AA as the accessibility floor for developer tooling.\n",
        "standard": "WCAG-AA",
        "criterion": "1.4.3"
      },
      {
        "type": "fontPairing",
        "target": "typography.heading",
        "severity": "recommendation",
        "rationale": "HashiCorp's marketing surfaces use Inter for both heading and body. Keep headings at least 1.5× body to preserve hierarchy when one family does both jobs.\n",
        "requires": "body",
        "minSizeRatio": 1.5
      }
    ],
    "com.brand-atoms.assets": [],
    "com.brand-atoms.provenance": {
      "source": "https://www.hashicorp.com/brand",
      "license": "Proprietary — All Rights Reserved",
      "attribution": "HashiCorp, the HashiCorp logo, Terraform, Vault, Consul, Nomad, Boundary, Packer, Vagrant, and Waypoint are trademarks of HashiCorp, Inc. Brand colors and identity guidance documented here are derived from hashicorp.com/brand and the product brand pages (terraform.io, vaultproject.io, consul.io, nomadproject.io, boundaryproject.io, packer.io, waypointproject.io).\n",
      "importedDate": "2026-05-18",
      "notes": "Brand-atoms' read of HashiCorp's publicly available brand surface and the per-product brand pages. This file is not an official HashiCorp brand-guidelines document. HashiCorp leans dark in marketing (hashicorp.com hero canvas is near-black); the dark-canvas identity is encoded here. No asset files are bundled; HashiCorp's product logos are trademarked.\n"
    },
    "com.brand-atoms.references": {
      "palette": "hashicorp@1.0.0",
      "fonts": {
        "heading": "inter@1.0.0",
        "body": "inter@1.0.0",
        "mono": "jetbrainsmono-nerdfont@1.0.0"
      }
    }
  }
}
