# Opal Security Brand Identity

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

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

## Quick Facts

| Field | Value |
|---|---|
| Primary | #112B37 |
| Accent | #112B37 |
| Body Font | SF Pro Display Medium |
| Heading Font | Sofia Sans Condensed |

## Color Palette

- primary: #112B37
- secondary: #074055
- accent: #112B37
- background: #F7F7F7
- textPrimary: #0000EE
- link: #0000EE

## Typography

- primary: SF Pro Display Medium — https://fonts.google.com/specimen/SF+Pro+Display+Medium
- heading: Sofia Sans Condensed — https://fonts.google.com/specimen/Sofia+Sans+Condensed

## Visual Assets

- Logo: data:image/svg+xml,
- Favicon: https://framerusercontent.com/images/FbSKFq05qydHuDjwxnARMsG3ts.png
- Social card (og:image): https://framerusercontent.com/images/Ke8ylm5bGNhnU3XBFSba92j2ZmQ.png

## UI Components

- buttonPrimary: background=#112B37, textColor=#0000EE, borderRadius=8px, shadow=none
- buttonSecondary: background=#FFFFFF, textColor=#0000EE, borderRadius=8px, shadow=none

## Brand Personality

Tone: professional · Energy: medium · Audience: business professionals

## Opal Security Brand in the Wild

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

- **Identity Governance is a Security Problem, Not an IT Process | Opal Security**
  - Image: https://framerusercontent.com/images/fZtdXeTuYlmAu29ubwtlMALnPM.png?width=7680&height=4320
  - Source: https://www.opal.dev/blog/identity-governance-is-a-security-problem-not-an-it-process
- **Identity & Access Management Security Blog | Opal Security**
  - Image: https://framerusercontent.com/images/jyIwCcWfTolpigjoUVt2bjvvJcA.png?width=1920&height=1080
  - Source: https://www.opal.dev/blog
- **From Chaos to Control: How MCP Can Tame Your AI Agent Access Sprawl | Opal  Security**
  - Image: https://framerusercontent.com/images/sSZcNjti4x9ZgiicdPapneXE5c.png?width=7680&height=4320
  - Source: https://www.opal.dev/blog/chaos-to-control-mcp-taming-ai-agent-sprawl
- **Identity & Access Management Security Blog | Opal Security**
  - Image: https://framerusercontent.com/images/18jkTrJtmOj3W6xbKWGMDuhZw.png?width=1920&height=1080
  - Source: https://www.opal.dev/blog
- **4 Actions to Reduce Group-Based Access Control Risk | Opal Security**
  - Image: https://framerusercontent.com/images/DlMrNrrM3Vh2bIIsfDiLPpAKG4.png?width=7680&height=4320
  - Source: https://www.opal.dev/blog/4-actions-to-reduce-group-based-access-control-risk
- **Identity & Access Management Security Blog | Opal Security**
  - Image: https://framerusercontent.com/images/th8VNVKCQ1yXNu6a1opYtTko7A.png?width=1920&height=1080
  - Source: https://www.opal.dev/blog

## 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.
