# Upwind Brand Identity

A complete profile of **Upwind**'s visual system — colors, typography, components, and personality — extracted from https://www.upwind.io/. Built for designers, agents, and AI tools.

- Page: https://characterquilt.com/branding/upwind
- Machine-readable JSON: https://characterquilt.com/branding/upwind.json
- Per-page llms.txt: https://characterquilt.com/branding/upwind/llms.txt

## Quick Facts

| Field | Value |
|---|---|
| Primary | #18202D |
| Accent | #D8DFE9 |
| Body Font | Aktiv Grotesk |
| Heading Font | Aeonik Pro |

## Color Palette

- primary: #18202D
- secondary: #75808E
- accent: #D8DFE9
- background: #FFFFFF
- textPrimary: #141217
- link: #D8DFE9

## Typography

- primary: Aktiv Grotesk — https://fonts.google.com/specimen/Aktiv+Grotesk
- heading: Aeonik Pro — https://fonts.google.com/specimen/Aeonik+Pro

## Visual Assets

- Logo: data:image/svg+xml;utf8,%3Csvg%20class%3D%22brxe-svg%22%20id%3D%22brxe-635171%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2224%22%20viewBox%3D%220%200%2080%2024%22%20fill%3D%22none%22%20data-fc-idx%3D%220%22%3E%3Cpath%20d%3D%22M11.838%200H0V3.10389H11.838V0Z%22%20fill%3D%22url(%23paint0_linear_10762_162028)%22%20style%3D%22fill%3A%20url(%26quot%3B%23paint0_linear_10762_162028%26quot%3B)%20!important%3B%22%2F%3E%3Cpath%20d%3D%22M17.3445%207.29371C18.0085%206.23377%2019.4113%205.17279%2021.1711%205.17279C24.2589%205.17279%2026.733%207.99167%2026.733%2011.7935C26.733%2015.5954%2024.2579%2018.4142%2021.1711%2018.4142C19.4113%2018.4142%2018.0074%2017.3543%2017.3445%2016.2423V24H14.0792V5.37875H17.3445V7.29267V7.29371ZM23.4677%2011.7935C23.4677%209.87959%2022.0906%208.27668%2020.4056%208.27668C18.7206%208.27668%2017.3435%209.87959%2017.3435%2011.7935C17.3435%2013.7074%2018.7206%2015.3104%2020.4056%2015.3104C22.0906%2015.3104%2023.4677%2013.7074%2023.4677%2011.7935Z%22%20fill%3D%22%2318202D%22%20style%3D%22fill%3A%20rgb(24%2C%2032%2C%2045)%20!important%3B%22%2F%3E%3Cpath%20d%3D%22M46.8362%205.37875L42.5498%2018.2062H39.4877L36.834%209.56858L34.1803%2018.2062H31.1182L26.8318%205.37875H30.3014L32.7508%2013.3954L35.2516%205.37875H38.4154L40.9162%2013.3954L43.3656%205.37875H46.8352H46.8362Z%22%20fill%3D%22%2318202D%22%20style%3D%22fill%3A%20rgb(24%2C%2032%2C%2045)%20!important%3B%22%2F%3E%3Cpath%20d%3D%22M48.0898%200H51.3551V3.10389H48.0898V0ZM48.0898%205.37875H51.3551V18.2062H48.0898V5.37875Z%22%20fill%3D%22%2318202D%22%20style%3D%22fill%3A%20rgb(24%2C%2032%2C%2045)%20!important%3B%22%2F%3E%3Cpath%20d%3D%22M65.6005%2010.7585V18.2072H62.3352V10.9655C62.3352%208.89663%2061.1367%208.27564%2059.9371%208.27564C58.4573%208.27564%2057.0278%209.25861%2057.0278%2011.3795V18.2072H53.7625V5.37875H57.0278V7.29267C57.4363%206.5167%2058.7118%205.17175%2060.7016%205.17175C63.4825%205.17175%2065.6005%206.87868%2065.6005%2010.7575V10.7585Z%22%20fill%3D%22%2318202D%22%20style%3D%22fill%3A%20rgb(24%2C%2032%2C%2045)%20!important%3B%22%2F%3E%3Cpath%20d%3D%22M79.8367%200V18.2062H76.5714V16.2413C75.9075%2017.3533%2074.5047%2018.4132%2072.7448%2018.4132C69.657%2018.4132%2067.1829%2015.5943%2067.1829%2011.7925C67.1829%207.99064%2069.6581%205.17176%2072.7448%205.17176C74.5047%205.17176%2075.9085%206.2317%2076.5714%207.29268V0H79.8367ZM76.5714%2011.7925C76.5714%209.87856%2075.1943%208.27565%2073.5093%208.27565C71.8243%208.27565%2070.4472%209.87856%2070.4472%2011.7925C70.4472%2013.7064%2071.8243%2015.3093%2073.5093%2015.3093C75.1943%2015.3093%2076.5714%2013.7064%2076.5714%2011.7925Z%22%20fill%3D%22%2318202D%22%20style%3D%22fill%3A%20rgb(24%2C%2032%2C%2045)%20!important%3B%22%2F%3E%3Cpath%20d%3D%22M5.919%2018.4132C2.65575%2018.4132%200%2015.7223%200%2012.4135V5.37875H3.2653V12.6205C3.2653%2014.1038%204.45567%2015.3104%205.919%2015.3104C7.38233%2015.3104%208.5727%2014.1038%208.5727%2012.6205V5.37875H11.838V12.4135C11.838%2015.7223%209.18225%2018.4132%205.919%2018.4132Z%22%20fill%3D%22%2318202D%22%20style%3D%22fill%3A%20rgb(24%2C%2032%2C%2045)%20!important%3B%22%2F%3E%3Cdefs%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3ClinearGradient%20id%3D%22paint0_linear_10762_162028%22%20x1%3D%22-0.379575%22%20y1%3D%220.785419%22%20x2%3D%2211.336%22%20y2%3D%224.16793%22%20gradientUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cstop%20stop-color%3D%22%23F2583C%22%20style%3D%22fill%3A%20none%20!important%3B%20stop-color%3A%20rgb(242%2C%2088%2C%2060)%20!important%3B%22%2F%3E%3Cstop%20offset%3D%220.541667%22%20stop-color%3D%22%239214C4%22%20style%3D%22fill%3A%20none%20!important%3B%20stop-color%3A%20rgb(146%2C%2020%2C%20196)%20!important%3B%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%231E71ED%22%20style%3D%22fill%3A%20none%20!important%3B%20stop-color%3A%20rgb(30%2C%20113%2C%20237)%20!important%3B%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E
- Favicon: https://www.upwind.io/wp-content/uploads/2025/11/cropped-Upwind-Favicon-Square-32x32.png
- Social card (og:image): https://www.upwind.io/wp-content/uploads/2026/01/upwind-preview-link-image-1200x630-1.png

## UI Components

- input: background=#FFFFFF, textColor=#75808E, borderColor=#94A3B8, borderRadius=4px, shadow=none
- buttonPrimary: background=#FFFFFF, textColor=#18202D, borderRadius=4px, shadow=none
- buttonSecondary: background=transparent, textColor=#18202D, borderRadius=4px, shadow=none

## Brand Personality

Tone: professional · Energy: medium · Audience: businesses seeking cloud security solutions

## Upwind Brand in the Wild

Real-world brand assets — ads, campaigns, marketing materials.

- **Introducing Upwind's Unified AI Protection, Built for Modern Cloud  Environments - Upwind**
  - Image: https://www.upwind.io/wp-content/uploads/2025/11/Framework-dropdown-menu-open.png
  - Source: https://www.upwind.io/feed/introducing-upwinds-unified-ai-protection-built-for-modern-cloud-environments
- **Feed - Upwind**
  - Image: https://www.upwind.io/wp-content/uploads/2026/04/Supply-Chain-Compromise-Blog-Post-1024x614.png
  - Source: https://www.upwind.io/feed
- **Feed - Upwind**
  - Image: https://www.upwind.io/wp-content/uploads/2026/04/Azure-Blog-Header-1024x614.png
  - Source: https://www.upwind.io/feed
- **Expanding CSPM with Runtime Advantage: Deep Data Scanning & Multi-Cloud  Parity - Upwind**
  - Image: https://www.upwind.io/wp-content/uploads/2025/12/s3.png
  - Source: https://www.upwind.io/feed/expanding-cspm-with-runtime-advantage-deep-data-scanning-multi-cloud-parity
- **How Upwind Uses eBPF to Bring Real-Time Security to Cloud-Native  Environments - Upwind**
  - Image: https://www.upwind.io/wp-content/uploads/2025/06/eBPF_Blog_Hero-1024x615.jpg
  - Source: https://www.upwind.io/feed/how-upwind-uses-ebpf-to-bring-real-time-security-to-cloud-native-environments
- **Introducing Upwind's Unified AI Protection, Built for Modern Cloud  Environments - Upwind**
  - Image: https://www.upwind.io/wp-content/uploads/2025/11/Cloud-AI-Security-from-the-Inside-Out.png
  - Source: https://www.upwind.io/feed/introducing-upwinds-unified-ai-protection-built-for-modern-cloud-environments

## Working with these fonts

Not found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:

CharacterQuilt.com suggests this flow that can help:

1. Open the company's homepage in a browser with DevTools open.
2. In the Network tab, filter by "Font" (or by extension: woff2, woff, ttf, otf).
3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.
4. For each captured font URL: right-click → Save As to download the file locally.
5. View the page's CSS (DevTools → Sources, or curl the stylesheet URLs) and copy out the matching @font-face declarations. Rewrite each `src: url(...)` to point to your local file path.

Programmatic alternative: load the URL with Playwright or Puppeteer, listen for `response` events whose `Content-Type` starts with `font/`, and write the body to disk. The CSS extraction step is the same.

Only do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.

## Machine-Readable Profile

```json
{
  "colorScheme": "light",
  "fonts": [
    {
      "family": "Aktiv Grotesk",
      "role": "body"
    },
    {
      "family": "Aeonik Pro",
      "role": "heading"
    }
  ],
  "colors": {
    "primary": "#18202D",
    "secondary": "#75808E",
    "accent": "#D8DFE9",
    "background": "#FFFFFF",
    "textPrimary": "#141217",
    "link": "#D8DFE9"
  },
  "typography": {
    "fontFamilies": {
      "primary": "Aktiv Grotesk",
      "heading": "Aeonik Pro"
    },
    "fontStacks": {
      "heading": [
        "Aeonik Pro"
      ],
      "body": [
        "aktiv-grotesk",
        "sans-serif"
      ],
      "paragraph": [
        "Times New Roman"
      ]
    },
    "fontSizes": {
      "h1": "56px",
      "h2": "20px",
      "body": "16px"
    }
  },
  "spacing": {
    "baseUnit": 4,
    "borderRadius": "8px"
  },
  "components": {
    "input": {
      "background": "#FFFFFF",
      "textColor": "#75808E",
      "borderColor": "#94A3B8",
      "borderRadius": "4px",
      "borderRadiusCorners": {
        "topLeft": "4px",
        "topRight": "4px",
        "bottomRight": "4px",
        "bottomLeft": "4px"
      },
      "shadow": "none"
    },
    "buttonPrimary": {
      "background": "#FFFFFF",
      "textColor": "#18202D",
      "borderRadius": "4px",
      "borderRadiusCorners": {
        "topLeft": "4px",
        "topRight": "4px",
        "bottomRight": "4px",
        "bottomLeft": "4px"
      },
      "shadow": "none"
    },
    "buttonSecondary": {
      "background": "transparent",
      "textColor": "#18202D",
      "borderRadius": "4px",
      "borderRadiusCorners": {
        "topLeft": "4px",
        "topRight": "4px",
        "bottomRight": "4px",
        "bottomLeft": "4px"
      },
      "shadow": "none"
    }
  },
  "images": {
    "logo": "data:image/svg+xml;utf8,%3Csvg%20class%3D%22brxe-svg%22%20id%3D%22brxe-635171%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2224%22%20viewBox%3D%220%200%2080%2024%22%20fill%3D%22none%22%20data-fc-idx%3D%220%22%3E%3Cpath%20d%3D%22M11.838%200H0V3.10389H11.838V0Z%22%20fill%3D%22url(%23paint0_linear_10762_162028)%22%20style%3D%22fill%3A%20url(%26quot%3B%23paint0_linear_10762_162028%26quot%3B)%20!important%3B%22%2F%3E%3Cpath%20d%3D%22M17.3445%207.29371C18.0085%206.23377%2019.4113%205.17279%2021.1711%205.17279C24.2589%205.17279%2026.733%207.99167%2026.733%2011.7935C26.733%2015.5954%2024.2579%2018.4142%2021.1711%2018.4142C19.4113%2018.4142%2018.0074%2017.3543%2017.3445%2016.2423V24H14.0792V5.37875H17.3445V7.29267V7.29371ZM23.4677%2011.7935C23.4677%209.87959%2022.0906%208.27668%2020.4056%208.27668C18.7206%208.27668%2017.3435%209.87959%2017.3435%2011.7935C17.3435%2013.7074%2018.7206%2015.3104%2020.4056%2015.3104C22.0906%2015.3104%2023.4677%2013.7074%2023.4677%2011.7935Z%22%20fill%3D%22%2318202D%22%20style%3D%22fill%3A%20rgb(24%2C%2032%2C%2045)%20!important%3B%22%2F%3E%3Cpath%20d%3D%22M46.8362%205.37875L42.5498%2018.2062H39.4877L36.834%209.56858L34.1803%2018.2062H31.1182L26.8318%205.37875H30.3014L32.7508%2013.3954L35.2516%205.37875H38.4154L40.9162%2013.3954L43.3656%205.37875H46.8352H46.8362Z%22%20fill%3D%22%2318202D%22%20style%3D%22fill%3A%20rgb(24%2C%2032%2C%2045)%20!important%3B%22%2F%3E%3Cpath%20d%3D%22M48.0898%200H51.3551V3.10389H48.0898V0ZM48.0898%205.37875H51.3551V18.2062H48.0898V5.37875Z%22%20fill%3D%22%2318202D%22%20style%3D%22fill%3A%20rgb(24%2C%2032%2C%2045)%20!important%3B%22%2F%3E%3Cpath%20d%3D%22M65.6005%2010.7585V18.2072H62.3352V10.9655C62.3352%208.89663%2061.1367%208.27564%2059.9371%208.27564C58.4573%208.27564%2057.0278%209.25861%2057.0278%2011.3795V18.2072H53.7625V5.37875H57.0278V7.29267C57.4363%206.5167%2058.7118%205.17175%2060.7016%205.17175C63.4825%205.17175%2065.6005%206.87868%2065.6005%2010.7575V10.7585Z%22%20fill%3D%22%2318202D%22%20style%3D%22fill%3A%20rgb(24%2C%2032%2C%2045)%20!important%3B%22%2F%3E%3Cpath%20d%3D%22M79.8367%200V18.2062H76.5714V16.2413C75.9075%2017.3533%2074.5047%2018.4132%2072.7448%2018.4132C69.657%2018.4132%2067.1829%2015.5943%2067.1829%2011.7925C67.1829%207.99064%2069.6581%205.17176%2072.7448%205.17176C74.5047%205.17176%2075.9085%206.2317%2076.5714%207.29268V0H79.8367ZM76.5714%2011.7925C76.5714%209.87856%2075.1943%208.27565%2073.5093%208.27565C71.8243%208.27565%2070.4472%209.87856%2070.4472%2011.7925C70.4472%2013.7064%2071.8243%2015.3093%2073.5093%2015.3093C75.1943%2015.3093%2076.5714%2013.7064%2076.5714%2011.7925Z%22%20fill%3D%22%2318202D%22%20style%3D%22fill%3A%20rgb(24%2C%2032%2C%2045)%20!important%3B%22%2F%3E%3Cpath%20d%3D%22M5.919%2018.4132C2.65575%2018.4132%200%2015.7223%200%2012.4135V5.37875H3.2653V12.6205C3.2653%2014.1038%204.45567%2015.3104%205.919%2015.3104C7.38233%2015.3104%208.5727%2014.1038%208.5727%2012.6205V5.37875H11.838V12.4135C11.838%2015.7223%209.18225%2018.4132%205.919%2018.4132Z%22%20fill%3D%22%2318202D%22%20style%3D%22fill%3A%20rgb(24%2C%2032%2C%2045)%20!important%3B%22%2F%3E%3Cdefs%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3ClinearGradient%20id%3D%22paint0_linear_10762_162028%22%20x1%3D%22-0.379575%22%20y1%3D%220.785419%22%20x2%3D%2211.336%22%20y2%3D%224.16793%22%20gradientUnits%3D%22userSpaceOnUse%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cstop%20stop-color%3D%22%23F2583C%22%20style%3D%22fill%3A%20none%20!important%3B%20stop-color%3A%20rgb(242%2C%2088%2C%2060)%20!important%3B%22%2F%3E%3Cstop%20offset%3D%220.541667%22%20stop-color%3D%22%239214C4%22%20style%3D%22fill%3A%20none%20!important%3B%20stop-color%3A%20rgb(146%2C%2020%2C%20196)%20!important%3B%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%231E71ED%22%20style%3D%22fill%3A%20none%20!important%3B%20stop-color%3A%20rgb(30%2C%20113%2C%20237)%20!important%3B%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E",
    "favicon": "https://www.upwind.io/wp-content/uploads/2025/11/cropped-Upwind-Favicon-Square-32x32.png",
    "ogImage": "https://www.upwind.io/wp-content/uploads/2026/01/upwind-preview-link-image-1200x630-1.png",
    "logoHref": "https://www.upwind.io/",
    "logoAlt": "brxe-635171"
  },
  "__llm_logo_reasoning": {
    "selectedIndex": 0,
    "reasoning": "Selected #0 because it is visible, located in the header, links to the homepage, and matches the brand inferred from the URL and page title.",
    "confidence": 0.95,
    "source": "llm"
  },
  "__llm_button_reasoning": {
    "primary": {
      "index": 2,
      "text": "Get a Demo",
      "reasoning": "Button #2 ('Get a Demo') is likely the primary CTA due to its action-oriented text and the use of a distinct text color (#18202D) that stands out against the white background, suggesting a focus on conversion."
    },
    "secondary": {
      "index": 5,
      "text": "Learn More",
      "reasoning": "Button #5 ('Learn More') is selected as the secondary CTA because it has a transparent background, differentiating it from the primary button's white background, and it serves a supportive role."
    },
    "confidence": 0.9
  },
  "personality": {
    "tone": "professional",
    "energy": "medium",
    "targetAudience": "businesses seeking cloud security solutions"
  },
  "designSystem": {
    "framework": "custom",
    "componentLibrary": ""
  },
  "confidence": {
    "buttons": 0.9,
    "colors": 0.9,
    "overall": 0.9
  },
  "__llm_metadata": {
    "logoSelection": {
      "llmCalled": true,
      "llmSucceeded": true,
      "finalSource": "llm",
      "rawLogoSelection": {
        "selectedLogoIndex": 0,
        "selectedLogoReasoning": "Selected #0 because it is visible, located in the header, links to the homepage, and matches the brand inferred from the URL and page title.",
        "confidence": 0.95
      }
    },
    "buttonClassification": {
      "llmCalled": true,
      "llmSucceeded": true
    }
  }
}
```
