upwind.json
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
- Feed - Upwind
- Feed - Upwind
- Expanding CSPM with Runtime Advantage: Deep Data Scanning & Multi-Cloud Parity - Upwind
- How Upwind Uses eBPF to Bring Real-Time Security to Cloud-Native Environments - Upwind
- Introducing Upwind's Unified AI Protection, Built for Modern Cloud Environments - Upwind
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:
- Open the company's homepage in a browser with DevTools open.
- In the Network tab, filter by "Font" (or by extension: woff2, woff, ttf, otf).
- Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.
- For each captured font URL: right-click → Save As to download the file locally.
- 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
{
"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
}
}
}