{
  "$description": "Brand: WhatsApp (whatsapp@1.0.0)",
  "color": {
    "swatches": {
      "$description": "Source-of-truth color swatches from palette whatsapp@1.0.0",
      "whatsapp-green": {
        "$value": "#25D366",
        "$type": "color",
        "$description": "Signature WhatsApp emerald — the brand's primary color, used on the telephone-bubble mark, the floating-action button, primary CTAs, and the read-receipt double-check.\n"
      },
      "whatsapp-green-dark": {
        "$value": "#128C7E",
        "$type": "color",
        "$description": "Deeper teal-green action color — used on hover/pressed states and on the legacy header chrome of the mobile client.\n"
      },
      "whatsapp-teal-dark": {
        "$value": "#075E54",
        "$type": "color",
        "$description": "Deep teal — the legacy WhatsApp header chrome (pre-2020 visual refresh), retained as a brand-recognised secondary.\n"
      },
      "whatsapp-green-50": {
        "$value": "#F4FDFA",
        "$type": "color",
        "$description": "Lightest green tint — used as a hover wash on green surfaces (--green-0)."
      },
      "whatsapp-green-100": {
        "$value": "#D5F7EB",
        "$type": "color",
        "$description": "Pale green tint — used on subtle highlight surfaces (--green-10)."
      },
      "whatsapp-green-200": {
        "$value": "#98EBCD",
        "$type": "color",
        "$description": "Mid-light green — used in illustration accents (--green-20)."
      },
      "whatsapp-green-300": {
        "$value": "#3AC7A1",
        "$type": "color",
        "$description": "Mid green — used as a secondary action accent (--green-30)."
      },
      "whatsapp-green-400": {
        "$value": "#26A28B",
        "$type": "color",
        "$description": "Brand green mid-tone — chat-surface accent (--green-40)."
      },
      "whatsapp-green-600": {
        "$value": "#148072",
        "$type": "color",
        "$description": "Deeper brand green — used on dark-mode action affordances (--green-60)."
      },
      "whatsapp-green-800": {
        "$value": "#005C54",
        "$type": "color",
        "$description": "Very deep green — used on dark-mode header surfaces (--green-80)."
      },
      "whatsapp-green-900": {
        "$value": "#0C4243",
        "$type": "color",
        "$description": "Deepest green — used as a dark-mode tertiary surface (--green-90)."
      },
      "whatsapp-green-1000": {
        "$value": "#17261F",
        "$type": "color",
        "$description": "Near-black green — used on dark-mode canvas accents (--green-100)."
      },
      "whatsapp-bubble-out": {
        "$value": "#DCF8C6",
        "$type": "color",
        "$description": "Pale green — the outgoing-message chat bubble color on the legacy mobile client. Visually distinct from incoming bubbles.\n"
      },
      "whatsapp-chat-bg-light": {
        "$value": "#E5DDD5",
        "$type": "color",
        "$description": "Warm beige — the historical WhatsApp chat-screen background tone (the \"WhatsApp wallpaper default\").\n"
      },
      "whatsapp-white": {
        "$value": "#FFFFFF",
        "$type": "color",
        "$description": "Pure white — primary text on dark canvas, surface fill on light mode."
      },
      "whatsapp-surface-light": {
        "$value": "#F0F2F5",
        "$type": "color",
        "$description": "Light-mode elevated surface — used for the chat-list rail."
      },
      "whatsapp-text-on-light": {
        "$value": "#111B21",
        "$type": "color",
        "$description": "Primary text on light-mode surfaces."
      },
      "whatsapp-text-secondary-light": {
        "$value": "#667781",
        "$type": "color",
        "$description": "Secondary text and timestamps on light-mode surfaces."
      },
      "whatsapp-canvas-dark": {
        "$value": "#0B141A",
        "$type": "color",
        "$description": "Deep blue-black — the WhatsApp dark-mode chat canvas. Tuned for OLED-friendly viewing.\n"
      },
      "whatsapp-surface-dark": {
        "$value": "#202C33",
        "$type": "color",
        "$description": "Dark-mode elevated surface — chat-list rail, top bar."
      },
      "whatsapp-bubble-out-dark": {
        "$value": "#005C4B",
        "$type": "color",
        "$description": "Dark-mode outgoing-message bubble — deep teal-green."
      },
      "whatsapp-text-on-dark": {
        "$value": "#E9EDEF",
        "$type": "color",
        "$description": "Primary text on the dark-mode canvas."
      }
    }
  },
  "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.mark",
        "severity": "error",
        "rationale": "The Meta-hosted WhatsApp brand guide (meta.com/brand/resources/whatsapp/whatsapp-brand/) prohibits modifying the colors of the WhatsApp marks: \"you shouldn't modify any colors in our logos.\" The telephone-bubble mark renders in WhatsApp Green (#25D366) on light surfaces and reverses to white on the dark canvas. Recoloring into the legacy teal (#075E54), the deeper action green, or any of the scale tints violates the published policy.\n",
        "allowed": [
          "whatsapp-green",
          "whatsapp-white"
        ],
        "forbidden": [
          "whatsapp-teal-dark",
          "whatsapp-green-dark",
          "whatsapp-green-1000",
          "whatsapp-canvas-dark"
        ]
      },
      {
        "type": "forbiddenTreatment",
        "target": "logo",
        "severity": "error",
        "rationale": "The published WhatsApp Brand Resources policy enumerates these prohibitions explicitly: do not combine the WhatsApp marks with other logos, do not use WhatsApp as a verb (\"WhatsApp your friends\"), do not make the marks the most distinctive element of a third-party design, do not use phonetic variations (WhatsAp, WatsApp), do not manufacture merchandise bearing the marks. Treatments not in the approved palette violate the brand-use license.\n",
        "treatments": [
          "stretched",
          "rotated",
          "recolored",
          "drop-shadow",
          "gradient-fill",
          "on-busy-photo",
          "combined-with-other-logo",
          "used-as-verb",
          "most-distinctive-element",
          "phonetic-variation",
          "merchandise"
        ]
      },
      {
        "type": "contrastRatio",
        "target": "text-primary",
        "severity": "error",
        "rationale": "WCAG 2.1 Level AA contrast minimum for body text. WhatsApp Text on Light (#111B21) on the white canvas reads at roughly 17:1, and Text on Dark (#E9EDEF) on Canvas Dark (#0B141A) reads at roughly 16:1 — both clear AA decisively. The rule encodes the floor for any new foreground/background pairing introduced on WhatsApp-skinned surfaces.\n",
        "against": "background",
        "minRatio": 4.5,
        "standard": "WCAG-AA"
      },
      {
        "type": "contrastRatio",
        "target": "roles.colors.primary",
        "severity": "error",
        "rationale": "WhatsApp Green (#25D366) on the white canvas must remain perceptible at interactive-button sizes. Falling below 3:1 (AA-large) compromises the affordance of the primary CTA and the floating-action send button — both of which read as green-on-white in the canonical product surface.\n",
        "against": "background",
        "minRatio": 3,
        "standard": "WCAG-AA-large"
      },
      {
        "type": "variantSelection",
        "target": "logo",
        "severity": "error",
        "rationale": "On the canonical WhatsApp Canvas Dark surface (#0B141A) the telephone-bubble mark renders in white for legibility. The green-on-dark mark variant must not be used on the dark canvas where contrast against the surface drops.\n",
        "when": {
          "backgroundColorScheme": "dark"
        },
        "use": "mark-white"
      },
      {
        "type": "contextRestriction",
        "target": "roles.colors.identity",
        "severity": "error",
        "rationale": "The WhatsApp Brand Resources policy prohibits use of the WhatsApp name, marks, or signature green \"in a way that implies partnership, sponsorship, or endorsement by WhatsApp or any of its affiliates,\" on merchandise, or in the name of a competing product. Encoding the policy as a context restriction lets consumers reject impermissible placements.\n",
        "forbiddenContexts": [
          "product-of-competitor",
          "merchandise",
          "endorsement-implication",
          "sponsorship-implication"
        ]
      },
      {
        "type": "compositionConstraint",
        "target": "roles.colors.primary",
        "severity": "recommendation",
        "rationale": "WhatsApp Green reads cleanest against white, the deep blue- black dark canvas, or the very-dark text tone. Pairing the current green adjacent to the legacy teal (#075E54) creates a visible regression to the pre-2020 chrome; pairing it on the warm beige chat-bg (#E5DDD5) muddies the saturation that makes the brand recognisable.\n",
        "pairsWith": [
          "whatsapp-white",
          "whatsapp-canvas-dark",
          "whatsapp-text-on-light",
          "whatsapp-surface-light"
        ],
        "doesNotPairWith": [
          "whatsapp-teal-dark",
          "whatsapp-chat-bg-light"
        ]
      },
      {
        "type": "enumMembership",
        "target": "typography.heading.fontWeight",
        "severity": "warning",
        "rationale": "The deployed WhatsApp client surfaces Super Sans VF (a variable-axis cut) at the 400 / 500 / 600 / 700 weights for marketing headlines, chat-list titles, and primary CTAs. Substituting Inter at heavier weights drifts from the brand's practical, warm voice; lighter cuts compromise the chat-list readability at small sizes.\n",
        "allowed": [
          "400",
          "500",
          "600",
          "700"
        ]
      },
      {
        "type": "accessibilityRequirement",
        "target": "*",
        "severity": "error",
        "rationale": "WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. WhatsApp's global, accessibility-conscious posture and the dual light/dark canvas commitment make AA contrast checks the default verification on any new role pairing introduced on WhatsApp-skinned surfaces.\n",
        "standard": "WCAG-AA",
        "criterion": "1.4.3"
      },
      {
        "type": "fontPairing",
        "target": "typography.display",
        "severity": "warning",
        "rationale": "WhatsApp's marketing display runs substantially larger than the body chat copy on the marketing site. A 1.4× minimum size ratio between display and prose preserves the announcement-style hierarchy the brand voice depends on when the Super Sans VF / Super Serif VF pairing reduces to the Inter substitute.\n",
        "requires": "prose",
        "minSizeRatio": 1.4
      }
    ],
    "com.brand-atoms.assets": [],
    "com.brand-atoms.provenance": {
      "source": "https://www.meta.com/brand/resources/whatsapp/whatsapp-brand/",
      "license": "Proprietary — All Rights Reserved",
      "attribution": "WhatsApp and the WhatsApp logo are trademarks of WhatsApp LLC, a Meta Platforms company. The WhatsApp Brand Resources policy published at meta.com/brand/resources/whatsapp/whatsapp-brand/ enumerates the non-modification, no-verb, no-merchandise, and no-derogatory-use prohibitions encoded in the rules below. The signature WhatsApp Green (#25D366) is documented in the simple-icons brand database (citing whatsapp.com) and corroborated via the live web.whatsapp.com client CSS, which exposes a tonal green scale (--green-0 … --green-100) keyed off the same primary.\n",
      "importedDate": "2026-05-18",
      "notes": "Derived from live site CSS at https://web.whatsapp.com/ on 2026-05-18; the published Meta-hosted WhatsApp brand guide is policy-only (no hex codes), so the supporting green scale was captured from the deployed client's CSS custom properties. WhatsApp's proprietary type family — Super Sans VF, Super Serif VF, Super Sans Mono VF — is declared on the deployed client via @font-face but is not publicly distributed. This atom references Inter@1 as the open-source rendering substitute for the sans roles and notes the proprietary primaries here. The brand-asset policy expressly forbids re-distribution of WhatsApp marks, so `assets: []` is the correct posture for this catalog.\n"
    },
    "com.brand-atoms.references": {
      "palette": "whatsapp@1.0.0",
      "fonts": {
        "heading": "inter@1.0.0",
        "body": "inter@1.0.0",
        "mono": "jetbrainsmono-nerdfont@1.0.0"
      }
    }
  }
}
