{
  "$description": "Brand: Postman (postman@1.0.0)",
  "color": {
    "swatches": {
      "$description": "Source-of-truth color swatches from palette postman@1.0.0",
      "postman-orange": {
        "$value": "#FF6C37",
        "$type": "color",
        "$description": "Postman's signature brand orange — the primary action color."
      },
      "postman-orange-pressed": {
        "$value": "#E0531F",
        "$type": "color",
        "$description": "Pressed / active variant of postman orange used on hover surfaces."
      },
      "postman-orange-deep": {
        "$value": "#D23F0E",
        "$type": "color",
        "$description": "Deep brand orange used for text-on-light brand accents."
      },
      "postman-orange-tint": {
        "$value": "#FFF1EB",
        "$type": "color",
        "$description": "Pale orange wash for brand-tinted surfaces (badges, notices)."
      },
      "postman-canvas": {
        "$value": "#FFFFFF",
        "$type": "color",
        "$description": "Page canvas — the bright neutral surface postman.com reads against."
      },
      "postman-surface": {
        "$value": "#F9F9F9",
        "$type": "color",
        "$description": "Subtle elevated surface; one step warmer than canvas."
      },
      "postman-surface-elevated": {
        "$value": "#F2F2F2",
        "$type": "color",
        "$description": "Card / panel surface elevated above postman-surface."
      },
      "postman-border-subdued": {
        "$value": "#F2F2F2",
        "$type": "color",
        "$description": "Quietest divider; near-canvas border."
      },
      "postman-border": {
        "$value": "#EDEDED",
        "$type": "color",
        "$description": "Default divider on the postman canvas."
      },
      "postman-border-strong": {
        "$value": "#E6E6E6",
        "$type": "color",
        "$description": "Strong divider for elevated cards and form fields."
      },
      "postman-ink": {
        "$value": "#212121",
        "$type": "color",
        "$description": "Primary text on postman canvas — deep near-black."
      },
      "postman-ink-secondary": {
        "$value": "#6B6B6B",
        "$type": "color",
        "$description": "Secondary text; mid-gray body copy de-emphasis."
      },
      "postman-ink-tertiary": {
        "$value": "#A6A6A6",
        "$type": "color",
        "$description": "Tertiary text / caption tone — placeholder ink."
      },
      "postman-plum": {
        "$value": "#140B1E",
        "$type": "color",
        "$description": "Dark canvas — the deep plum used on hero modules and product chrome."
      },
      "postman-success": {
        "$value": "#007F31",
        "$type": "color",
        "$description": "Confirmation / success state green."
      },
      "postman-success-active": {
        "$value": "#0CBB52",
        "$type": "color",
        "$description": "Brighter active-green used for \"running\" / \"connected\" status pips."
      },
      "postman-warning": {
        "$value": "#AD7A03",
        "$type": "color",
        "$description": "Warning / caution state amber."
      },
      "postman-error": {
        "$value": "#8E1A10",
        "$type": "color",
        "$description": "Error / destructive state red."
      },
      "postman-purple": {
        "$value": "#4C207D",
        "$type": "color",
        "$description": "Supporting purple — used for category badges and chrome accents."
      }
    }
  },
  "font": {
    "$description": "Typography roles mapped to font atoms",
    "heading": {
      "family": {
        "$value": [
          "Plus Jakarta Sans",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Roboto",
          "Helvetica Neue",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "heading role → Plus Jakarta Sans (plus-jakarta-sans@1.0.0)"
      },
      "weight": {
        "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"
      }
    },
    "body": {
      "family": {
        "$value": [
          "Plus Jakarta Sans",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Roboto",
          "Helvetica Neue",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "body role → Plus Jakarta Sans (plus-jakarta-sans@1.0.0)"
      },
      "weight": {
        "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"
      }
    },
    "mono": {
      "family": {
        "$value": [
          "IBM Plex Mono",
          "ui-monospace",
          "SFMono-Regular",
          "Menlo",
          "Consolas",
          "Liberation Mono",
          "monospace"
        ],
        "$type": "fontFamily",
        "$description": "mono role → IBM Plex Mono (ibm-plex-mono@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"
        },
        "$description": "Available font weights"
      }
    }
  },
  "$extensions": {
    "com.brand-atoms.rules": [
      {
        "type": "colorChoice",
        "target": "roles.colors.primary",
        "severity": "error",
        "rationale": "Postman Orange (#FF6C37) is the brand's single signature primary — exposed on the live site as --demo-brand and reinforced through every CTA, mark fill, and brand surface. The purple is a category accent; the greens / reds are state semantics; the ink is text. None of those may stand in for the brand primary.\n",
        "allowed": [
          "postman-orange",
          "postman-orange-pressed",
          "postman-orange-deep"
        ],
        "forbidden": [
          "postman-purple",
          "postman-success",
          "postman-error",
          "postman-ink"
        ]
      },
      {
        "type": "colorChoice",
        "target": "roles.colors.mark",
        "severity": "error",
        "rationale": "The Postman wordmark and the satellite-mark render in the signature Postman Orange on light surfaces, in Postman Ink monochrome on light surfaces, or in Postman Canvas (white) monochrome on dark surfaces. Pressed orange is a state, not a mark fill.\n",
        "allowed": [
          "postman-orange",
          "postman-ink",
          "postman-canvas"
        ],
        "forbidden": [
          "postman-orange-pressed",
          "postman-purple",
          "postman-success",
          "postman-error"
        ]
      },
      {
        "type": "forbiddenTreatment",
        "target": "logo",
        "severity": "error",
        "rationale": "Postman's mark is a calibrated wordmark + satellite glyph. Stretching, rotating, gradient-filling, or recoloring breaks the developer-direct, tooling-confident voice the live brand surface establishes.\n",
        "treatments": [
          "stretched",
          "rotated",
          "recolored",
          "drop-shadow",
          "gradient-fill",
          "on-busy-photo"
        ]
      },
      {
        "type": "contrastRatio",
        "target": "text-primary",
        "severity": "error",
        "rationale": "Postman Ink (#212121) on Postman Canvas (#FFFFFF) reads at ~16:1 — well above WCAG AA. The brand's documentation-heavy surface depends on holding that floor cleanly.\n",
        "against": "background",
        "minRatio": 4.5,
        "standard": "WCAG-AA"
      },
      {
        "type": "contextRestriction",
        "target": "roles.colors.warning",
        "severity": "error",
        "rationale": "Postman Warning (#AD7A03) is the amber caution tone — it must not stand in for the error red or the brand orange primary. Reusing the warning amber for destructive actions conflicts with the established state semantics on the live product UI.\n",
        "allowedContexts": [
          "caution",
          "rate-limit-warning",
          "draft-state"
        ],
        "forbiddenContexts": [
          "error-state",
          "destructive-action",
          "call-to-action"
        ]
      },
      {
        "type": "enumMembership",
        "target": "typography.heading.fontWeight",
        "severity": "warning",
        "rationale": "The live postman.com surface renders display headings at the 400–700 weight band on the proprietary degular face. The substitute Plus Jakarta Sans family carries the same range; heavier weights are not part of the published display set.\n",
        "allowed": [
          "400",
          "500",
          "600",
          "700"
        ]
      },
      {
        "type": "compositionConstraint",
        "target": "roles.colors.primary",
        "severity": "recommendation",
        "rationale": "Postman Orange reads cleanest on the bright canvas, against deep ink text, on the plum dark canvas, or against its own pale tint. Pairing it adjacent to the warning amber, error red, or category purple introduces a chromatic conflict that breaks the calibrated one-accent voice of the brand.\n",
        "pairsWith": [
          "postman-canvas",
          "postman-ink",
          "postman-plum",
          "postman-orange-tint"
        ],
        "doesNotPairWith": [
          "postman-error",
          "postman-warning",
          "postman-purple"
        ]
      },
      {
        "type": "accessibilityRequirement",
        "target": "*",
        "severity": "error",
        "rationale": "WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. Postman's canvas / ink combination starts well above AA; consumers must hold that floor when adapting the palette.\n",
        "standard": "WCAG-AA",
        "criterion": "1.4.3"
      },
      {
        "type": "fontPairing",
        "target": "typography.code",
        "severity": "recommendation",
        "rationale": "Postman pairs degular display with IBM Plex Mono on the live marketing site (--demo-font + --demo-font-code). The mono reads cleanest at ~0.875× of the body size, preserving the developer-direct rhythm of inline-code-in-prose blocks.\n",
        "requires": "prose",
        "minSizeRatio": 0.875
      }
    ],
    "com.brand-atoms.assets": [],
    "com.brand-atoms.provenance": {
      "source": "https://www.postman.com/",
      "license": "Proprietary — All Rights Reserved",
      "attribution": "Postman and the Postman mark are trademarks of Postman, Inc. Visual identity captured from the deployed stylesheet on postman.com (--demo-brand, --demo-content-*, --demo-bg-*, --demo-font, --demo-font-code token families).\n",
      "importedDate": "2026-05-19",
      "notes": "Derived from live site CSS at https://www.postman.com/ on 2026-05-19; no public brand guide located. The brand-guidelines URL at postman.com/company/brand-guidelines returned HTTP 404, so the live site is the authoritative source. The proprietary \"degular\" display sans is declared via @font-face on postman.com but is not publicly distributed; Plus Jakarta Sans is the closest open-source rendering substitute. IBM Plex Mono is the code face declared on the live site and is open-source.\n"
    },
    "com.brand-atoms.references": {
      "palette": "postman@1.0.0",
      "fonts": {
        "heading": "plus-jakarta-sans@1.0.0",
        "body": "plus-jakarta-sans@1.0.0",
        "mono": "ibm-plex-mono@1.0.0"
      }
    }
  }
}
