{
  "id": "docker",
  "version": "1.0.0",
  "name": "Docker",
  "description": "Docker, Inc. is the company behind the Docker container engine, Docker Desktop, Docker Hub, and a developer-platform suite for building and shipping containerized applications. The brand identity is anchored on Docker Blue (#2496ED) — the fill of the Moby whale mark — paired with a deeper Navy used on dark-canvas marketing and on Docker Hub. The voice is developer-direct and workflow-forward: short verbs, runnable commands, and a strong preference for the live `docker run` over the marketing abstraction.\n",
  "provenance": {
    "source": "https://www.docker.com/company/newsroom/media-resources/",
    "license": "Proprietary — All Rights Reserved",
    "attribution": "Docker, the Docker logo, the Moby whale, Docker Desktop, and Docker Hub are trademarks of Docker, Inc. Brand colors and identity guidance documented here are derived from Docker's media-resources page (docker.com/company/newsroom/media- resources/) and the visible style values across docker.com and Docker Desktop.\n",
    "importedDate": "2026-05-18",
    "notes": "Brand-atoms' read of Docker's publicly available brand-resources page. This file is not an official Docker brand-guidelines document. The Moby whale is one of the most-protected open-source-adjacent marks in developer tooling; no asset files are bundled here.\n"
  },
  "tags": [
    "tech",
    "containers",
    "docker",
    "devops",
    "infrastructure"
  ],
  "palette": {
    "ref": "docker@1.0.0",
    "swatches": [
      {
        "id": "docker-blue",
        "name": "Docker Blue",
        "value": "#2496ED",
        "description": "Primary Docker brand blue — the fill of the Moby whale and the principal CTA color across docker.com and Docker Desktop.\n",
        "aliases": []
      },
      {
        "id": "docker-blue-bright",
        "name": "Docker Blue Bright",
        "value": "#0DB7ED",
        "description": "Brighter cyan-blue used in Docker marketing illustrations and on dark-canvas hero compositions.\n",
        "aliases": []
      },
      {
        "id": "docker-navy",
        "name": "Docker Navy",
        "value": "#0A1F44",
        "description": "Deep navy used in dark-mode marketing surfaces and as the chrome canvas for Docker Hub on dark theme.\n",
        "aliases": []
      },
      {
        "id": "docker-navy-deep",
        "name": "Docker Navy Deep",
        "value": "#06122A",
        "description": "Darkest navy used on dark-mode page canvas.",
        "aliases": []
      },
      {
        "id": "docker-blue-dark",
        "name": "Docker Blue Dark",
        "value": "#1769A6",
        "description": "Pressed/active state for the primary CTA on light surfaces.",
        "aliases": []
      },
      {
        "id": "docker-ink",
        "name": "Docker Ink",
        "value": "#17191E",
        "description": "Primary text on light surfaces.",
        "aliases": []
      },
      {
        "id": "docker-gray",
        "name": "Docker Gray",
        "value": "#677285",
        "description": "Secondary text and metadata.",
        "aliases": []
      },
      {
        "id": "docker-gray-light",
        "name": "Docker Gray Light",
        "value": "#8993A5",
        "description": "Tertiary text and disabled UI.",
        "aliases": []
      },
      {
        "id": "docker-surface",
        "name": "Docker Surface",
        "value": "#F4F6F9",
        "description": "Quiet surface — card backgrounds on docker.com.",
        "aliases": []
      },
      {
        "id": "docker-border",
        "name": "Docker Border",
        "value": "#E1E2E6",
        "description": "Hairline borders and dividers.",
        "aliases": []
      },
      {
        "id": "docker-white",
        "name": "Docker White",
        "value": "#FFFFFF",
        "description": "Primary canvas on light surfaces.",
        "aliases": []
      },
      {
        "id": "docker-success",
        "name": "Docker Success",
        "value": "#1CB97A",
        "description": "Confirmation / healthy-container state.",
        "aliases": []
      },
      {
        "id": "docker-warning",
        "name": "Docker Warning",
        "value": "#F2A33A",
        "description": "Caution state on Docker Desktop chrome.",
        "aliases": []
      },
      {
        "id": "docker-error",
        "name": "Docker Error",
        "value": "#E2574C",
        "description": "Destructive / unhealthy-container state.",
        "aliases": []
      }
    ],
    "modes": {
      "light": {
        "roles": {
          "background": "docker-white",
          "surface": "docker-surface",
          "surface-elevated": "docker-white",
          "text-primary": "docker-ink",
          "text-secondary": "docker-gray",
          "text-tertiary": "docker-gray-light",
          "primary": "docker-blue",
          "primary-hover": "docker-blue-dark",
          "accent": "docker-blue-bright",
          "accent-hover": "docker-blue",
          "warning": "docker-warning",
          "warning-hover": "docker-error",
          "error": "docker-error",
          "success": "docker-success",
          "border": "docker-border"
        }
      },
      "dark": {
        "roles": {
          "background": "docker-navy-deep",
          "surface": "docker-navy",
          "surface-elevated": "docker-blue-dark",
          "text-primary": "docker-white",
          "text-secondary": "docker-surface",
          "text-tertiary": "docker-gray-light",
          "primary": "docker-blue-bright",
          "primary-hover": "docker-blue",
          "accent": "docker-blue",
          "accent-hover": "docker-blue-bright",
          "warning": "docker-warning",
          "warning-hover": "docker-error",
          "error": "docker-error",
          "success": "docker-success",
          "border": "docker-blue-dark"
        }
      }
    }
  },
  "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": "docker-blue",
      "on-identity": "docker-white",
      "primary": "docker-blue",
      "primary-hover": "docker-blue-dark",
      "accent": "docker-blue-bright",
      "accent-hover": "docker-blue",
      "background": "docker-white",
      "surface": "docker-surface",
      "surface-elevated": "docker-white",
      "text-primary": "docker-ink",
      "text-secondary": "docker-gray",
      "text-tertiary": "docker-gray-light",
      "chrome": "docker-navy",
      "chrome-deep": "docker-navy-deep",
      "mark": "docker-blue"
    },
    "typography": {
      "display": "heading",
      "prose": "body",
      "code": "mono"
    }
  },
  "assets": [],
  "rules": [
    {
      "type": "colorChoice",
      "target": "logo.whale.fill",
      "severity": "error",
      "rationale": "The Moby whale renders in Docker Blue (#2496ED) or reversed white. The hover Docker Blue Dark, the marketing-illustration bright cyan, and the Docker Navy chrome are interactive-state and canvas tokens — none are valid mark fills.\n",
      "allowed": [
        "docker-blue",
        "docker-white"
      ],
      "forbidden": [
        "docker-blue-bright",
        "docker-blue-dark",
        "docker-navy"
      ]
    },
    {
      "type": "forbiddenTreatment",
      "target": "logo",
      "severity": "error",
      "rationale": "Docker's brand guidelines explicitly prohibit altering the proportions, color, or orientation of the Moby whale mark. The whale must not be detached from the Docker wordmark on shared lockups, and gradient fills are not part of the published brand system.\n",
      "treatments": [
        "stretched",
        "rotated",
        "recolored",
        "drop-shadow",
        "on-busy-photo",
        "whale-detached-from-wordmark",
        "gradient-fill"
      ]
    },
    {
      "type": "contrastRatio",
      "target": "text-primary",
      "severity": "error",
      "rationale": "Docker Ink (#17191E) on Docker White gives ~17:1 — well above WCAG 2.1 Level AA. The rule encodes the floor for any new foreground/background pairing on docker.com surfaces.\n",
      "against": "background",
      "minRatio": 4.5,
      "standard": "WCAG-AA"
    },
    {
      "type": "contrastRatio",
      "target": "roles.colors.primary",
      "severity": "warning",
      "rationale": "Docker Blue on Docker White sits around 3.6:1 — it clears AA-large for headlines and large interactive text but falls short of AA for body-sized text. Use Docker Blue as a CTA / heading color, not for body copy on white.\n",
      "against": "background",
      "minRatio": 3,
      "standard": "WCAG-AA-large"
    },
    {
      "type": "compositionConstraint",
      "target": "roles.colors.primary",
      "severity": "recommendation",
      "rationale": "Docker Blue pairs cleanly against the navy chrome and the white canvas. Pairing the brand blue directly with the warning amber or error red on the same surface creates a status-color conflict that competes with the brand voice.\n",
      "pairsWith": [
        "docker-navy",
        "docker-white",
        "docker-surface"
      ],
      "doesNotPairWith": [
        "docker-warning",
        "docker-error"
      ]
    },
    {
      "type": "accessibilityRequirement",
      "target": "*",
      "severity": "error",
      "rationale": "WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. Docker Desktop and the docker.com marketing surfaces both target AA as the floor for accessibility across developer tooling.\n",
      "standard": "WCAG-AA",
      "criterion": "1.4.3"
    },
    {
      "type": "fontPairing",
      "target": "typography.heading",
      "severity": "recommendation",
      "rationale": "Docker'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
    }
  ]
}
