{
  "id": "hashicorp",
  "version": "1.0.0",
  "name": "HashiCorp",
  "description": "HashiCorp, Inc. is the company behind a family of infrastructure- automation tools — Terraform, Vault, Consul, Nomad, Boundary, Packer, Vagrant, and Waypoint — and the HashiCorp Cloud Platform (HCP) that hosts them. The corporate identity is anchored on a single signature yellow (#FFCD00) against a deep near-black canvas (#0E0E10), with each product carrying its own signature accent (Terraform Purple, Vault Yellow, Consul Magenta, Nomad Green, etc.). The voice is engineer-direct and operationally literate: declarative IaC, deliberate APIs, and a strong preference for the live `terraform apply` over the marketing abstraction.\n",
  "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"
  },
  "tags": [
    "tech",
    "hashicorp",
    "devops",
    "infrastructure-as-code",
    "dark-canvas"
  ],
  "palette": {
    "ref": "hashicorp@1.0.0",
    "swatches": [
      {
        "id": "hashicorp-yellow",
        "name": "HashiCorp Yellow",
        "value": "#FFCD00",
        "description": "The HashiCorp corporate accent — the yellow of the parent wordmark and the principal CTA color across hashicorp.com.\n",
        "aliases": []
      },
      {
        "id": "hashicorp-yellow-dark",
        "name": "HashiCorp Yellow Dark",
        "value": "#D9AE00",
        "description": "Pressed/active state for the corporate yellow CTA.",
        "aliases": []
      },
      {
        "id": "hashicorp-black",
        "name": "HashiCorp Black",
        "value": "#000000",
        "description": "Pure black — corporate wordmark fill on light surfaces.",
        "aliases": []
      },
      {
        "id": "hashicorp-canvas",
        "name": "HashiCorp Canvas",
        "value": "#0E0E10",
        "description": "Near-black canvas used on hashicorp.com hero sections and the HCP console dark chrome.\n",
        "aliases": []
      },
      {
        "id": "hashicorp-canvas-deep",
        "name": "HashiCorp Canvas Deep",
        "value": "#050507",
        "description": "Darkest canvas used as the page-level dark background.",
        "aliases": []
      },
      {
        "id": "terraform-purple",
        "name": "Terraform Purple",
        "value": "#7B42BC",
        "description": "Terraform product accent — used on terraform.io and the Terraform Registry chrome.\n",
        "aliases": []
      },
      {
        "id": "vault-yellow",
        "name": "Vault Yellow",
        "value": "#FFEC6E",
        "description": "Vault product accent — the brighter yellow used on vaultproject.io, distinct from the corporate yellow.\n",
        "aliases": []
      },
      {
        "id": "consul-magenta",
        "name": "Consul Magenta",
        "value": "#E03875",
        "description": "Consul product accent — magenta used on consul.io and service-mesh diagrams.\n",
        "aliases": []
      },
      {
        "id": "nomad-green",
        "name": "Nomad Green",
        "value": "#00CA8E",
        "description": "Nomad product accent — used on nomadproject.io.",
        "aliases": []
      },
      {
        "id": "boundary-pink",
        "name": "Boundary Pink",
        "value": "#F24C53",
        "description": "Boundary product accent — coral-pink used on boundaryproject.io.",
        "aliases": []
      },
      {
        "id": "packer-blue",
        "name": "Packer Blue",
        "value": "#1DAEFF",
        "description": "Packer product accent — sky-blue used on packer.io.",
        "aliases": []
      },
      {
        "id": "waypoint-sky",
        "name": "Waypoint Sky",
        "value": "#14C6CB",
        "description": "Waypoint product accent — teal used on waypointproject.io.",
        "aliases": []
      },
      {
        "id": "hashicorp-ink",
        "name": "HashiCorp Ink",
        "value": "#1B1B1F",
        "description": "Primary text on light surfaces.",
        "aliases": []
      },
      {
        "id": "hashicorp-gray",
        "name": "HashiCorp Gray",
        "value": "#6F7682",
        "description": "Secondary text and metadata.",
        "aliases": []
      },
      {
        "id": "hashicorp-gray-light",
        "name": "HashiCorp Gray Light",
        "value": "#9CA0A8",
        "description": "Tertiary text and disabled UI.",
        "aliases": []
      },
      {
        "id": "hashicorp-surface",
        "name": "HashiCorp Surface",
        "value": "#F4F4F7",
        "description": "Quiet surface — card backgrounds on the marketing site.",
        "aliases": []
      },
      {
        "id": "hashicorp-border",
        "name": "HashiCorp Border",
        "value": "#DDDFE4",
        "description": "Hairline borders and dividers.",
        "aliases": []
      },
      {
        "id": "hashicorp-white",
        "name": "HashiCorp White",
        "value": "#FFFFFF",
        "description": "Primary canvas on light surfaces.",
        "aliases": []
      }
    ],
    "modes": {
      "light": {
        "roles": {
          "background": "hashicorp-white",
          "surface": "hashicorp-surface",
          "surface-elevated": "hashicorp-white",
          "text-primary": "hashicorp-ink",
          "text-secondary": "hashicorp-gray",
          "text-tertiary": "hashicorp-gray-light",
          "primary": "hashicorp-yellow",
          "primary-hover": "hashicorp-yellow-dark",
          "accent": "terraform-purple",
          "accent-hover": "consul-magenta",
          "warning": "vault-yellow",
          "warning-hover": "hashicorp-yellow-dark",
          "error": "boundary-pink",
          "success": "nomad-green",
          "border": "hashicorp-border"
        }
      },
      "dark": {
        "roles": {
          "background": "hashicorp-canvas-deep",
          "surface": "hashicorp-canvas",
          "surface-elevated": "hashicorp-black",
          "text-primary": "hashicorp-white",
          "text-secondary": "hashicorp-surface",
          "text-tertiary": "hashicorp-gray-light",
          "primary": "hashicorp-yellow",
          "primary-hover": "hashicorp-yellow-dark",
          "accent": "terraform-purple",
          "accent-hover": "consul-magenta",
          "warning": "vault-yellow",
          "warning-hover": "hashicorp-yellow-dark",
          "error": "boundary-pink",
          "success": "nomad-green",
          "border": "hashicorp-canvas"
        }
      }
    }
  },
  "fonts": [
    {
      "role": "heading",
      "ref": "inter@1.0.0",
      "family": "Inter",
      "classification": "sans-serif",
      "source": {
        "kind": "google-fonts",
        "family": "Inter",
        "url": "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap"
      },
      "fallbackStack": [
        "-apple-system",
        "BlinkMacSystemFont",
        "Segoe UI",
        "Roboto",
        "Helvetica Neue",
        "Arial",
        "sans-serif"
      ],
      "availableStyles": [
        {
          "weight": 100,
          "style": "normal"
        },
        {
          "weight": 100,
          "style": "italic"
        },
        {
          "weight": 200,
          "style": "normal"
        },
        {
          "weight": 200,
          "style": "italic"
        },
        {
          "weight": 300,
          "style": "normal"
        },
        {
          "weight": 300,
          "style": "italic"
        },
        {
          "weight": 400,
          "style": "normal"
        },
        {
          "weight": 400,
          "style": "italic"
        },
        {
          "weight": 500,
          "style": "normal"
        },
        {
          "weight": 500,
          "style": "italic"
        },
        {
          "weight": 600,
          "style": "normal"
        },
        {
          "weight": 600,
          "style": "italic"
        },
        {
          "weight": 700,
          "style": "normal"
        },
        {
          "weight": 700,
          "style": "italic"
        },
        {
          "weight": 800,
          "style": "normal"
        },
        {
          "weight": 800,
          "style": "italic"
        },
        {
          "weight": 900,
          "style": "normal"
        },
        {
          "weight": 900,
          "style": "italic"
        }
      ]
    },
    {
      "role": "body",
      "ref": "inter@1.0.0",
      "family": "Inter",
      "classification": "sans-serif",
      "source": {
        "kind": "google-fonts",
        "family": "Inter",
        "url": "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap"
      },
      "fallbackStack": [
        "-apple-system",
        "BlinkMacSystemFont",
        "Segoe UI",
        "Roboto",
        "Helvetica Neue",
        "Arial",
        "sans-serif"
      ],
      "availableStyles": [
        {
          "weight": 100,
          "style": "normal"
        },
        {
          "weight": 100,
          "style": "italic"
        },
        {
          "weight": 200,
          "style": "normal"
        },
        {
          "weight": 200,
          "style": "italic"
        },
        {
          "weight": 300,
          "style": "normal"
        },
        {
          "weight": 300,
          "style": "italic"
        },
        {
          "weight": 400,
          "style": "normal"
        },
        {
          "weight": 400,
          "style": "italic"
        },
        {
          "weight": 500,
          "style": "normal"
        },
        {
          "weight": 500,
          "style": "italic"
        },
        {
          "weight": 600,
          "style": "normal"
        },
        {
          "weight": 600,
          "style": "italic"
        },
        {
          "weight": 700,
          "style": "normal"
        },
        {
          "weight": 700,
          "style": "italic"
        },
        {
          "weight": 800,
          "style": "normal"
        },
        {
          "weight": 800,
          "style": "italic"
        },
        {
          "weight": 900,
          "style": "normal"
        },
        {
          "weight": 900,
          "style": "italic"
        }
      ]
    },
    {
      "role": "mono",
      "ref": "jetbrainsmono-nerdfont@1.0.0",
      "family": "JetBrainsMono Nerd Font",
      "classification": "monospace",
      "source": {
        "kind": "external",
        "family": "JetBrainsMono Nerd Font",
        "notes": "Nerd-Font-patched build of JetBrains Mono. Not available via Google Fonts. Download woff2/ttf files from the Nerd Fonts GitHub release and self-host, or install system-wide for terminal/IDE use.\n"
      },
      "fallbackStack": [
        "JetBrains Mono",
        "Fira Code",
        "Menlo",
        "Monaco",
        "Consolas",
        "Liberation Mono",
        "monospace"
      ],
      "availableStyles": [
        {
          "weight": 100,
          "style": "normal"
        },
        {
          "weight": 100,
          "style": "italic"
        },
        {
          "weight": 200,
          "style": "normal"
        },
        {
          "weight": 200,
          "style": "italic"
        },
        {
          "weight": 300,
          "style": "normal"
        },
        {
          "weight": 300,
          "style": "italic"
        },
        {
          "weight": 400,
          "style": "normal"
        },
        {
          "weight": 400,
          "style": "italic"
        },
        {
          "weight": 500,
          "style": "normal"
        },
        {
          "weight": 500,
          "style": "italic"
        },
        {
          "weight": 600,
          "style": "normal"
        },
        {
          "weight": 600,
          "style": "italic"
        },
        {
          "weight": 700,
          "style": "normal"
        },
        {
          "weight": 700,
          "style": "italic"
        },
        {
          "weight": 800,
          "style": "normal"
        },
        {
          "weight": 800,
          "style": "italic"
        }
      ]
    }
  ],
  "roles": {
    "colors": {
      "identity": "hashicorp-canvas",
      "on-identity": "hashicorp-yellow",
      "primary": "hashicorp-yellow",
      "primary-hover": "hashicorp-yellow-dark",
      "accent": "terraform-purple",
      "accent-hover": "consul-magenta",
      "background": "hashicorp-white",
      "surface": "hashicorp-surface",
      "surface-elevated": "hashicorp-white",
      "text-primary": "hashicorp-ink",
      "text-secondary": "hashicorp-gray",
      "text-tertiary": "hashicorp-gray-light",
      "chrome": "hashicorp-canvas",
      "chrome-deep": "hashicorp-canvas-deep",
      "product-terraform": "terraform-purple",
      "product-vault": "vault-yellow",
      "product-consul": "consul-magenta",
      "product-nomad": "nomad-green",
      "product-boundary": "boundary-pink",
      "product-packer": "packer-blue",
      "product-waypoint": "waypoint-sky",
      "mark": "hashicorp-yellow"
    },
    "typography": {
      "display": "heading",
      "prose": "body",
      "code": "mono"
    }
  },
  "assets": [],
  "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
    }
  ]
}
