{
"name": "Federacy",
"slug": "federacy",
"domain": "http://www.federacy.com",
"sources": [
"yc"
],
"branding": {
"colorScheme": "light",
"fonts": [
{
"family": "Inter",
"role": "body"
}
],
"colors": {
"primary": "#1B1727",
"secondary": "#382F4D",
"accent": "#2F2842",
"background": "#FFFFFF",
"textPrimary": "#6B7280",
"link": "#6B7280"
},
"typography": {
"fontFamilies": {
"primary": "Inter",
"heading": "Inter"
},
"fontStacks": {
"heading": [
"Inter",
"sans-serif"
],
"body": [
"Fira Sans",
"Roboto",
"Oxygen",
"Ubuntu",
"Cantarell",
"Droid Sans",
"Helvetica Neue",
"sans-serif"
],
"paragraph": [
"Inter",
"sans-serif"
]
},
"fontSizes": {
"h1": "74px",
"h2": "18px",
"body": "20px"
}
},
"spacing": {
"baseUnit": 4,
"borderRadius": "4px"
},
"components": {
"input": {
"background": "#FFFFFF",
"textColor": "#1B1727",
"borderColor": "#D1D5DB",
"borderRadius": "6px",
"borderRadiusCorners": {
"topLeft": "6px",
"topRight": "6px",
"bottomRight": "6px",
"bottomLeft": "6px"
},
"shadow": "rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px"
},
"buttonPrimary": {
"background": "#2F2842",
"textColor": "#FFFFFF",
"borderColor": "#D1D5DB",
"borderRadius": "6px",
"borderRadiusCorners": {
"topLeft": "6px",
"topRight": "6px",
"bottomRight": "6px",
"bottomLeft": "6px"
},
"shadow": "rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px"
},
"buttonSecondary": {
"background": "#FFFFFF",
"textColor": "#FFFFFF",
"borderRadius": "6px",
"borderRadiusCorners": {
"topLeft": "6px",
"topRight": "6px",
"bottomRight": "6px",
"bottomLeft": "6px"
},
"shadow": "none"
}
},
"images": {
"logo": "data:image/svg+xml;utf8,%3Csvg%20id%3D%22Layer_1%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20418%2036%22%20enable-background%3D%22new%200%200%20418%2036%22%20xml%3Aspace%3D%22preserve%22%20class%3D%22w-48%20lg%3Aw-54%20fill-current%22%20data-v-665d92ad%3D%22%22%20data-fc-idx%3D%220%22%3E%3Cg%20id%3D%22Page-1%22%3E%3Cg%20id%3D%22dark%22%3E%3Cg%20enable-background%3D%22new%22%3E%3Cpath%20d%3D%22M0.5%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V2.6c0-0.4%2C0.1-0.6%2C0.3-0.8C0.7%2C1.5%2C1%2C1.4%2C1.3%2C1.4h19.6%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.4%2C0%2C0.6%2C0.1%2C0.8%2C0.3C21.9%2C1.9%2C22%2C2.2%2C22%2C2.6v1.9c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-16v11.2h15.1%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.4%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.9c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3H4.8v13%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0%2C0.3-0.1%2C0.6-0.3%2C0.8C4.3%2C34.9%2C4%2C35%2C3.7%2C35H1.3C1%2C35%2C0.7%2C34.9%2C0.5%2C34.7z%22%2F%3E%20%3Cpath%20d%3D%22M54.1%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V2.6c0-0.4%2C0.1-0.6%2C0.3-0.8c0.2-0.2%2C0.5-0.3%2C0.8-0.3h19.8%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.3%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.8c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3H58.4V16h15.3%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.3%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.8c0%2C0.3-0.1%2C0.6-0.3%2C0.8C74.2%2C19.9%2C74%2C20%2C73.7%2C20H58.4v10.9h16.7%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.4%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.9c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3H54.9%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20C54.6%2C35%2C54.3%2C34.9%2C54.1%2C34.7z%22%2F%3E%20%3Cpath%20d%3D%22M108.8%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V2.6c0-0.4%2C0.1-0.6%2C0.3-0.8c0.2-0.2%2C0.5-0.3%2C0.8-0.3h10.9%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c4.8%2C0%2C8.3%2C1.1%2C10.5%2C3.2c2.1%2C2.2%2C3.3%2C5.4%2C3.4%2C9.8c0%2C0.9%2C0%2C2.2%2C0%2C3.7c0%2C1.6%2C0%2C2.8%2C0%2C3.8c-0.1%2C3-0.6%2C5.5-1.5%2C7.4s-2.3%2C3.3-4.3%2C4.2%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c-2%2C0.9-4.5%2C1.4-7.8%2C1.4h-11.1C109.2%2C35%2C109%2C34.9%2C108.8%2C34.7z%20M120.5%2C30.9c2.2%2C0%2C4-0.3%2C5.3-0.9c1.3-0.6%2C2.2-1.6%2C2.8-2.9%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.6-1.3%2C0.9-3.1%2C1-5.4c0.1-1.9%2C0.1-3.1%2C0.1-3.6c0-0.5%2C0-1.7-0.1-3.6c-0.1-3.2-0.8-5.5-2.3-6.9c-1.4-1.5-3.8-2.2-7.1-2.2h-7.1%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20v25.4H120.5z%22%2F%3E%20%3Cpath%20d%3D%22M167.4%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V2.6c0-0.4%2C0.1-0.6%2C0.3-0.8c0.2-0.2%2C0.5-0.3%2C0.8-0.3H188%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.3%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.8c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-16.3V16H187%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.3%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.8c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-15.3v10.9h16.7%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.4%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.9c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-20.2%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20C167.9%2C35%2C167.6%2C34.9%2C167.4%2C34.7z%22%2F%3E%20%3Cpath%20d%3D%22M222.1%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V2.6c0-0.4%2C0.1-0.6%2C0.3-0.8c0.2-0.2%2C0.5-0.3%2C0.8-0.3h11.7%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c3.7%2C0%2C6.6%2C0.9%2C8.6%2C2.6c2.1%2C1.7%2C3.1%2C4.2%2C3.1%2C7.5c0%2C2.4-0.6%2C4.4-1.8%2C6c-1.2%2C1.6-2.9%2C2.7-5.1%2C3.3l7.4%2C12.8c0.1%2C0.2%2C0.1%2C0.4%2C0.1%2C0.5%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0%2C0.3-0.1%2C0.5-0.3%2C0.7c-0.2%2C0.2-0.4%2C0.3-0.7%2C0.3h-2.3c-0.5%2C0-0.9-0.1-1.1-0.3c-0.3-0.2-0.5-0.5-0.7-1l-7-12.2h-8.4v12.4%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-2.4C222.6%2C35%2C222.3%2C34.9%2C222.1%2C34.7z%20M234.4%2C17.4c4.8%2C0%2C7.2-2%2C7.2-6%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0-4-2.4-6-7.2-6h-7.9v12H234.4z%22%2F%3E%20%3Cpath%20d%3D%22M275.9%2C34.7c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3%2C0-0.4%2C0-0.5l11.9-31.1c0.3-0.7%2C0.8-1.1%2C1.5-1.1h3.3%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.8%2C0%2C1.3%2C0.4%2C1.5%2C1.1l11.9%2C31.1l0.1%2C0.5c0%2C0.3-0.1%2C0.5-0.3%2C0.7c-0.2%2C0.2-0.4%2C0.3-0.7%2C0.3h-2.4c-0.4%2C0-0.6-0.1-0.8-0.3%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c-0.2-0.2-0.3-0.4-0.4-0.6l-2.6-6.8h-15.7l-2.6%2C6.8c-0.1%2C0.2-0.2%2C0.4-0.4%2C0.6c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-2.4%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20C276.3%2C35%2C276.1%2C34.9%2C275.9%2C34.7z%20M297.2%2C23.2l-6.5-17l-6.5%2C17H297.2z%22%2F%3E%20%3Cpath%20d%3D%22M338.3%2C32c-2.2-2.3-3.4-5.5-3.6-9.6c0-0.9%2C0-2.3%2C0-4.2c0-2%2C0-3.4%2C0-4.3c0.2-4%2C1.4-7.2%2C3.6-9.5%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c2.2-2.3%2C5.5-3.5%2C9.7-3.5c2.8%2C0%2C5.3%2C0.5%2C7.2%2C1.5c2%2C1%2C3.5%2C2.3%2C4.5%2C4c1%2C1.6%2C1.6%2C3.4%2C1.7%2C5.2v0.1c0%2C0.3-0.1%2C0.5-0.3%2C0.6%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c-0.2%2C0.2-0.4%2C0.3-0.7%2C0.3h-2.6c-0.6%2C0-1-0.4-1.2-1.1c-0.5-2.4-1.5-4.1-2.9-5.1c-1.4-1-3.3-1.5-5.7-1.5c-5.5%2C0-8.4%2C3.1-8.5%2C9.2%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0%2C0.9%2C0%2C2.2%2C0%2C4s0%2C3.2%2C0%2C4.1c0.2%2C6.1%2C3%2C9.2%2C8.5%2C9.2c2.4%2C0%2C4.3-0.5%2C5.7-1.5c1.4-1%2C2.4-2.7%2C2.9-5.1c0.1-0.4%2C0.2-0.7%2C0.4-0.9%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.2-0.2%2C0.4-0.2%2C0.8-0.2h2.6c0.3%2C0%2C0.5%2C0.1%2C0.7%2C0.3c0.2%2C0.2%2C0.3%2C0.4%2C0.3%2C0.7c-0.1%2C1.9-0.7%2C3.6-1.7%2C5.3c-1%2C1.6-2.5%2C3-4.5%2C4%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20s-4.4%2C1.5-7.2%2C1.5C343.7%2C35.5%2C340.5%2C34.3%2C338.3%2C32z%22%2F%3E%3C%2Fg%3E%20%3Cg%2F%3E%20%3Cg%20enable-background%3D%22new%22%3E%3Cpath%20d%3D%22M401.5%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V22.6L389.7%2C3c0-0.1%2C0-0.2%2C0-0.3c-0.1-0.1-0.1-0.2-0.1-0.3%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0-0.3%2C0.1-0.5%2C0.3-0.7c0.2-0.2%2C0.4-0.3%2C0.7-0.3h2.5c0.5%2C0%2C1%2C0.3%2C1.2%2C0.8l9.4%2C15.6l9.4-15.6c0.4-0.5%2C0.8-0.8%2C1.3-0.8h2.4%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.3%2C0%2C0.5%2C0.1%2C0.7%2C0.3c0.2%2C0.2%2C0.3%2C0.4%2C0.3%2C0.7c0%2C0.2-0.1%2C0.4-0.2%2C0.6L406%2C22.6v11.3c0%2C0.3-0.1%2C0.6-0.3%2C0.8s-0.5%2C0.3-0.8%2C0.3%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20h-2.5C402%2C35%2C401.8%2C34.9%2C401.5%2C34.7z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E",
"favicon": "https://www.federacy.com/favicon.ico",
"ogImage": "https://www.federacy.com/img/sphere.png",
"logoHref": "/#top",
"logoAlt": "Layer_1"
},
"__llm_logo_reasoning": {
"selectedIndex": 1,
"reasoning": "Selected #1 because it is visible, located in the header, and matches the brand inferred from the URL and page title.",
"confidence": 0.9,
"source": "llm"
},
"__llm_button_reasoning": {
"primary": {
"index": 1,
"text": "Let's talk",
"reasoning": "Button #1 has a vibrant background color (#2F2842) and action-oriented text ('Let's talk'), making it the primary CTA."
},
"secondary": {
"index": 0,
"text": "Get pricing",
"reasoning": "Button #0 has a different background color (#FFFFFF) and a secondary action ('Get pricing'), making it suitable as a secondary CTA."
},
"confidence": 0.9
},
"personality": {
"tone": "professional",
"energy": "medium",
"targetAudience": "businesses seeking security testing services"
},
"designSystem": {
"framework": "tailwind",
"componentLibrary": ""
},
"confidence": {
"buttons": 0.9,
"colors": 0.9,
"overall": 0.9
},
"__llm_metadata": {
"logoSelection": {
"llmCalled": true,
"llmSucceeded": true,
"finalSource": "llm",
"rawLogoSelection": {
"selectedLogoIndex": 1,
"selectedLogoReasoning": "Selected #1 because it is visible, located in the header, and matches the brand inferred from the URL and page title.",
"confidence": 0.9
}
},
"buttonClassification": {
"llmCalled": true,
"llmSucceeded": true
}
}
},
"images": [
{
"file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/federacy/82b04b69ee.webp",
"alt": "Security testing, by humans | Federacy",
"source_url": "https://www.federacy.com/",
"image_url": "https://www.federacy.com/_nuxt/img/vulnerability-report-1x.310f30f.png",
"width": 1970,
"height": 1377,
"bytes": 34570,
"query": "site:federacy.com",
"query_suffix": "site:federacy.com"
},
{
"file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/federacy/6719a4e90b.webp",
"alt": "Docker Image Vulnerability Research | Federacy blog",
"source_url": "https://www.federacy.com/blog/docker-image-vulnerability-research/",
"image_url": "https://www.federacy.com/blog/_nuxt/fccf2c0d2f83f2ee4ad98a6a72eb66d3-1400.png",
"width": 1400,
"height": 831,
"bytes": 75459,
"query": "site:federacy.com blog",
"query_suffix": "site:federacy.com blog"
},
{
"file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/federacy/74019b6731.webp",
"alt": "Federacy blog",
"source_url": "https://www.federacy.com/blog/",
"image_url": "https://www.federacy.com/blog/_nuxt/db3c0e6403e6bef7f380563ced64afd2-1400.jpg",
"width": 1400,
"height": 1050,
"bytes": 159400,
"query": "site:federacy.com",
"query_suffix": "site:federacy.com"
},
{
"file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/federacy/fc1aa96277.webp",
"alt": "Federacy blog",
"source_url": "https://www.federacy.com/blog/",
"image_url": "https://www.federacy.com/blog/_nuxt/2409e46acecad47a963eec8b00696384-1080.png",
"width": 1080,
"height": 853,
"bytes": 2152612,
"query": "site:federacy.com blog",
"query_suffix": "site:federacy.com blog"
},
{
"file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/federacy/6390c581f5.webp",
"alt": "Docker Image Vulnerability Research | Federacy blog",
"source_url": "https://www.federacy.com/blog/docker-image-vulnerability-research/",
"image_url": "https://www.federacy.com/blog/_nuxt/ad4aa71f53ddb926513cfa84e17e154a-1400.jpg",
"width": 1400,
"height": 934,
"bytes": 194142,
"query": "site:federacy.com",
"query_suffix": "site:federacy.com"
},
{
"file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/federacy/963cbc549c.webp",
"alt": "Federacy has reached 1.0! | Federacy blog",
"source_url": "https://www.federacy.com/blog/federacy-has-reached-1-0/",
"image_url": "https://www.federacy.com/blog/_nuxt/7a35936b418bf0798c4fdc8c2099e791-1080.jpeg",
"width": 1080,
"height": 720,
"bytes": 128653,
"query": "site:federacy.com blog",
"query_suffix": "site:federacy.com blog"
}
],
"font_resources": [
{
"family": "Inter",
"google_fonts_url": "https://fonts.google.com/specimen/Inter"
},
{
"family": "Inter",
"google_fonts_url": "https://fonts.google.com/specimen/Inter"
}
],
"google_fonts_css": "https://fonts.googleapis.com/css2?family=Inter&family=Inter&display=swap",
"font_download_note": "Not found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:\n\nCharacterQuilt.com suggests this flow that can help:\n\n1. Open the company's homepage in a browser with DevTools open.\n2. In the Network tab, filter by \"Font\" (or by extension: woff2, woff, ttf, otf).\n3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.\n4. For each captured font URL: right-click → Save As to download the file locally.\n5. 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.\n\nProgrammatic 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.\n\nOnly do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.",
"page_url": "https://characterquilt.com/branding/federacy",
"agent_instructions": "You are designing or implementing in Federacy's brand identity.\n\n# Brand profile\n- Company: Federacy\n- Source: http://www.federacy.com\n- Color scheme: light\n\n# Colors\n- primary: #1B1727\n- secondary: #382F4D\n- accent: #2F2842\n- background: #FFFFFF\n- textPrimary: #6B7280\n- link: #6B7280\n\n# Typography\n- primary: Inter — https://fonts.google.com/specimen/Inter\n- heading: Inter — https://fonts.google.com/specimen/Inter\n\nLoad all fonts at once: \n\n# UI Components\n- input: background=#FFFFFF, textColor=#1B1727, borderColor=#D1D5DB, borderRadius=6px, shadow=rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n- buttonPrimary: background=#2F2842, textColor=#FFFFFF, borderColor=#D1D5DB, borderRadius=6px, shadow=rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n- buttonSecondary: background=#FFFFFF, textColor=#FFFFFF, borderRadius=6px, shadow=none\n\n# Brand voice\n- Tone: professional\n- Energy: medium\n- Audience: businesses seeking security testing services\n\n# Working with these fonts\nNot found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:\n\nCharacterQuilt.com suggests this flow that can help:\n\n1. Open the company's homepage in a browser with DevTools open.\n2. In the Network tab, filter by \"Font\" (or by extension: woff2, woff, ttf, otf).\n3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.\n4. For each captured font URL: right-click → Save As to download the file locally.\n5. 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.\n\nProgrammatic 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.\n\nOnly do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.\n\n# Full machine-readable profile\nhttps://characterquilt.com/branding/federacy.json",
"page_markdown": "# Federacy Brand Identity\n\nA complete profile of **Federacy**'s visual system — colors, typography, components, and personality — extracted from http://www.federacy.com. Built for designers, agents, and AI tools.\n\n- Page: https://characterquilt.com/branding/federacy\n- Machine-readable JSON: https://characterquilt.com/branding/federacy.json\n- Per-page llms.txt: https://characterquilt.com/branding/federacy/llms.txt\n\n## Quick Facts\n\n| Field | Value |\n|---|---|\n| Primary | #1B1727 |\n| Accent | #2F2842 |\n| Body Font | Inter |\n| Heading Font | Inter |\n\n## Color Palette\n\n- primary: #1B1727\n- secondary: #382F4D\n- accent: #2F2842\n- background: #FFFFFF\n- textPrimary: #6B7280\n- link: #6B7280\n\n## Typography\n\n- primary: Inter — https://fonts.google.com/specimen/Inter\n- heading: Inter — https://fonts.google.com/specimen/Inter\n\n## Visual Assets\n\n- Logo: data:image/svg+xml;utf8,%3Csvg%20id%3D%22Layer_1%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20418%2036%22%20enable-background%3D%22new%200%200%20418%2036%22%20xml%3Aspace%3D%22preserve%22%20class%3D%22w-48%20lg%3Aw-54%20fill-current%22%20data-v-665d92ad%3D%22%22%20data-fc-idx%3D%220%22%3E%3Cg%20id%3D%22Page-1%22%3E%3Cg%20id%3D%22dark%22%3E%3Cg%20enable-background%3D%22new%22%3E%3Cpath%20d%3D%22M0.5%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V2.6c0-0.4%2C0.1-0.6%2C0.3-0.8C0.7%2C1.5%2C1%2C1.4%2C1.3%2C1.4h19.6%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.4%2C0%2C0.6%2C0.1%2C0.8%2C0.3C21.9%2C1.9%2C22%2C2.2%2C22%2C2.6v1.9c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-16v11.2h15.1%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.4%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.9c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3H4.8v13%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0%2C0.3-0.1%2C0.6-0.3%2C0.8C4.3%2C34.9%2C4%2C35%2C3.7%2C35H1.3C1%2C35%2C0.7%2C34.9%2C0.5%2C34.7z%22%2F%3E%20%3Cpath%20d%3D%22M54.1%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V2.6c0-0.4%2C0.1-0.6%2C0.3-0.8c0.2-0.2%2C0.5-0.3%2C0.8-0.3h19.8%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.3%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.8c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3H58.4V16h15.3%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.3%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.8c0%2C0.3-0.1%2C0.6-0.3%2C0.8C74.2%2C19.9%2C74%2C20%2C73.7%2C20H58.4v10.9h16.7%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.4%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.9c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3H54.9%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20C54.6%2C35%2C54.3%2C34.9%2C54.1%2C34.7z%22%2F%3E%20%3Cpath%20d%3D%22M108.8%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V2.6c0-0.4%2C0.1-0.6%2C0.3-0.8c0.2-0.2%2C0.5-0.3%2C0.8-0.3h10.9%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c4.8%2C0%2C8.3%2C1.1%2C10.5%2C3.2c2.1%2C2.2%2C3.3%2C5.4%2C3.4%2C9.8c0%2C0.9%2C0%2C2.2%2C0%2C3.7c0%2C1.6%2C0%2C2.8%2C0%2C3.8c-0.1%2C3-0.6%2C5.5-1.5%2C7.4s-2.3%2C3.3-4.3%2C4.2%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c-2%2C0.9-4.5%2C1.4-7.8%2C1.4h-11.1C109.2%2C35%2C109%2C34.9%2C108.8%2C34.7z%20M120.5%2C30.9c2.2%2C0%2C4-0.3%2C5.3-0.9c1.3-0.6%2C2.2-1.6%2C2.8-2.9%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.6-1.3%2C0.9-3.1%2C1-5.4c0.1-1.9%2C0.1-3.1%2C0.1-3.6c0-0.5%2C0-1.7-0.1-3.6c-0.1-3.2-0.8-5.5-2.3-6.9c-1.4-1.5-3.8-2.2-7.1-2.2h-7.1%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20v25.4H120.5z%22%2F%3E%20%3Cpath%20d%3D%22M167.4%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V2.6c0-0.4%2C0.1-0.6%2C0.3-0.8c0.2-0.2%2C0.5-0.3%2C0.8-0.3H188%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.3%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.8c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-16.3V16H187%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.3%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.8c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-15.3v10.9h16.7%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.4%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.9c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-20.2%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20C167.9%2C35%2C167.6%2C34.9%2C167.4%2C34.7z%22%2F%3E%20%3Cpath%20d%3D%22M222.1%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V2.6c0-0.4%2C0.1-0.6%2C0.3-0.8c0.2-0.2%2C0.5-0.3%2C0.8-0.3h11.7%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c3.7%2C0%2C6.6%2C0.9%2C8.6%2C2.6c2.1%2C1.7%2C3.1%2C4.2%2C3.1%2C7.5c0%2C2.4-0.6%2C4.4-1.8%2C6c-1.2%2C1.6-2.9%2C2.7-5.1%2C3.3l7.4%2C12.8c0.1%2C0.2%2C0.1%2C0.4%2C0.1%2C0.5%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0%2C0.3-0.1%2C0.5-0.3%2C0.7c-0.2%2C0.2-0.4%2C0.3-0.7%2C0.3h-2.3c-0.5%2C0-0.9-0.1-1.1-0.3c-0.3-0.2-0.5-0.5-0.7-1l-7-12.2h-8.4v12.4%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-2.4C222.6%2C35%2C222.3%2C34.9%2C222.1%2C34.7z%20M234.4%2C17.4c4.8%2C0%2C7.2-2%2C7.2-6%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0-4-2.4-6-7.2-6h-7.9v12H234.4z%22%2F%3E%20%3Cpath%20d%3D%22M275.9%2C34.7c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3%2C0-0.4%2C0-0.5l11.9-31.1c0.3-0.7%2C0.8-1.1%2C1.5-1.1h3.3%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.8%2C0%2C1.3%2C0.4%2C1.5%2C1.1l11.9%2C31.1l0.1%2C0.5c0%2C0.3-0.1%2C0.5-0.3%2C0.7c-0.2%2C0.2-0.4%2C0.3-0.7%2C0.3h-2.4c-0.4%2C0-0.6-0.1-0.8-0.3%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c-0.2-0.2-0.3-0.4-0.4-0.6l-2.6-6.8h-15.7l-2.6%2C6.8c-0.1%2C0.2-0.2%2C0.4-0.4%2C0.6c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-2.4%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20C276.3%2C35%2C276.1%2C34.9%2C275.9%2C34.7z%20M297.2%2C23.2l-6.5-17l-6.5%2C17H297.2z%22%2F%3E%20%3Cpath%20d%3D%22M338.3%2C32c-2.2-2.3-3.4-5.5-3.6-9.6c0-0.9%2C0-2.3%2C0-4.2c0-2%2C0-3.4%2C0-4.3c0.2-4%2C1.4-7.2%2C3.6-9.5%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c2.2-2.3%2C5.5-3.5%2C9.7-3.5c2.8%2C0%2C5.3%2C0.5%2C7.2%2C1.5c2%2C1%2C3.5%2C2.3%2C4.5%2C4c1%2C1.6%2C1.6%2C3.4%2C1.7%2C5.2v0.1c0%2C0.3-0.1%2C0.5-0.3%2C0.6%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c-0.2%2C0.2-0.4%2C0.3-0.7%2C0.3h-2.6c-0.6%2C0-1-0.4-1.2-1.1c-0.5-2.4-1.5-4.1-2.9-5.1c-1.4-1-3.3-1.5-5.7-1.5c-5.5%2C0-8.4%2C3.1-8.5%2C9.2%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0%2C0.9%2C0%2C2.2%2C0%2C4s0%2C3.2%2C0%2C4.1c0.2%2C6.1%2C3%2C9.2%2C8.5%2C9.2c2.4%2C0%2C4.3-0.5%2C5.7-1.5c1.4-1%2C2.4-2.7%2C2.9-5.1c0.1-0.4%2C0.2-0.7%2C0.4-0.9%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.2-0.2%2C0.4-0.2%2C0.8-0.2h2.6c0.3%2C0%2C0.5%2C0.1%2C0.7%2C0.3c0.2%2C0.2%2C0.3%2C0.4%2C0.3%2C0.7c-0.1%2C1.9-0.7%2C3.6-1.7%2C5.3c-1%2C1.6-2.5%2C3-4.5%2C4%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20s-4.4%2C1.5-7.2%2C1.5C343.7%2C35.5%2C340.5%2C34.3%2C338.3%2C32z%22%2F%3E%3C%2Fg%3E%20%3Cg%2F%3E%20%3Cg%20enable-background%3D%22new%22%3E%3Cpath%20d%3D%22M401.5%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V22.6L389.7%2C3c0-0.1%2C0-0.2%2C0-0.3c-0.1-0.1-0.1-0.2-0.1-0.3%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0-0.3%2C0.1-0.5%2C0.3-0.7c0.2-0.2%2C0.4-0.3%2C0.7-0.3h2.5c0.5%2C0%2C1%2C0.3%2C1.2%2C0.8l9.4%2C15.6l9.4-15.6c0.4-0.5%2C0.8-0.8%2C1.3-0.8h2.4%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.3%2C0%2C0.5%2C0.1%2C0.7%2C0.3c0.2%2C0.2%2C0.3%2C0.4%2C0.3%2C0.7c0%2C0.2-0.1%2C0.4-0.2%2C0.6L406%2C22.6v11.3c0%2C0.3-0.1%2C0.6-0.3%2C0.8s-0.5%2C0.3-0.8%2C0.3%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20h-2.5C402%2C35%2C401.8%2C34.9%2C401.5%2C34.7z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\n- Favicon: https://www.federacy.com/favicon.ico\n- Social card (og:image): https://www.federacy.com/img/sphere.png\n\n## UI Components\n\n- input: background=#FFFFFF, textColor=#1B1727, borderColor=#D1D5DB, borderRadius=6px, shadow=rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n- buttonPrimary: background=#2F2842, textColor=#FFFFFF, borderColor=#D1D5DB, borderRadius=6px, shadow=rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n- buttonSecondary: background=#FFFFFF, textColor=#FFFFFF, borderRadius=6px, shadow=none\n\n## Brand Personality\n\nTone: professional · Energy: medium · Audience: businesses seeking security testing services\n\n## Federacy Brand in the Wild\n\nReal-world brand assets — ads, campaigns, marketing materials.\n\n- **Security testing, by humans | Federacy**\n - Image: https://www.federacy.com/_nuxt/img/vulnerability-report-1x.310f30f.png\n - Source: https://www.federacy.com/\n- **Docker Image Vulnerability Research | Federacy blog**\n - Image: https://www.federacy.com/blog/_nuxt/fccf2c0d2f83f2ee4ad98a6a72eb66d3-1400.png\n - Source: https://www.federacy.com/blog/docker-image-vulnerability-research/\n- **Federacy blog**\n - Image: https://www.federacy.com/blog/_nuxt/db3c0e6403e6bef7f380563ced64afd2-1400.jpg\n - Source: https://www.federacy.com/blog/\n- **Federacy blog**\n - Image: https://www.federacy.com/blog/_nuxt/2409e46acecad47a963eec8b00696384-1080.png\n - Source: https://www.federacy.com/blog/\n- **Docker Image Vulnerability Research | Federacy blog**\n - Image: https://www.federacy.com/blog/_nuxt/ad4aa71f53ddb926513cfa84e17e154a-1400.jpg\n - Source: https://www.federacy.com/blog/docker-image-vulnerability-research/\n- **Federacy has reached 1.0! | Federacy blog**\n - Image: https://www.federacy.com/blog/_nuxt/7a35936b418bf0798c4fdc8c2099e791-1080.jpeg\n - Source: https://www.federacy.com/blog/federacy-has-reached-1-0/\n\n## Working with these fonts\n\nNot found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:\n\nCharacterQuilt.com suggests this flow that can help:\n\n1. Open the company's homepage in a browser with DevTools open.\n2. In the Network tab, filter by \"Font\" (or by extension: woff2, woff, ttf, otf).\n3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.\n4. For each captured font URL: right-click → Save As to download the file locally.\n5. 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.\n\nProgrammatic 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.\n\nOnly do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.\n\n## Machine-Readable Profile\n\n```json\n{\n \"colorScheme\": \"light\",\n \"fonts\": [\n {\n \"family\": \"Inter\",\n \"role\": \"body\"\n }\n ],\n \"colors\": {\n \"primary\": \"#1B1727\",\n \"secondary\": \"#382F4D\",\n \"accent\": \"#2F2842\",\n \"background\": \"#FFFFFF\",\n \"textPrimary\": \"#6B7280\",\n \"link\": \"#6B7280\"\n },\n \"typography\": {\n \"fontFamilies\": {\n \"primary\": \"Inter\",\n \"heading\": \"Inter\"\n },\n \"fontStacks\": {\n \"heading\": [\n \"Inter\",\n \"sans-serif\"\n ],\n \"body\": [\n \"Fira Sans\",\n \"Roboto\",\n \"Oxygen\",\n \"Ubuntu\",\n \"Cantarell\",\n \"Droid Sans\",\n \"Helvetica Neue\",\n \"sans-serif\"\n ],\n \"paragraph\": [\n \"Inter\",\n \"sans-serif\"\n ]\n },\n \"fontSizes\": {\n \"h1\": \"74px\",\n \"h2\": \"18px\",\n \"body\": \"20px\"\n }\n },\n \"spacing\": {\n \"baseUnit\": 4,\n \"borderRadius\": \"4px\"\n },\n \"components\": {\n \"input\": {\n \"background\": \"#FFFFFF\",\n \"textColor\": \"#1B1727\",\n \"borderColor\": \"#D1D5DB\",\n \"borderRadius\": \"6px\",\n \"borderRadiusCorners\": {\n \"topLeft\": \"6px\",\n \"topRight\": \"6px\",\n \"bottomRight\": \"6px\",\n \"bottomLeft\": \"6px\"\n },\n \"shadow\": \"rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\"\n },\n \"buttonPrimary\": {\n \"background\": \"#2F2842\",\n \"textColor\": \"#FFFFFF\",\n \"borderColor\": \"#D1D5DB\",\n \"borderRadius\": \"6px\",\n \"borderRadiusCorners\": {\n \"topLeft\": \"6px\",\n \"topRight\": \"6px\",\n \"bottomRight\": \"6px\",\n \"bottomLeft\": \"6px\"\n },\n \"shadow\": \"rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\"\n },\n \"buttonSecondary\": {\n \"background\": \"#FFFFFF\",\n \"textColor\": \"#FFFFFF\",\n \"borderRadius\": \"6px\",\n \"borderRadiusCorners\": {\n \"topLeft\": \"6px\",\n \"topRight\": \"6px\",\n \"bottomRight\": \"6px\",\n \"bottomLeft\": \"6px\"\n },\n \"shadow\": \"none\"\n }\n },\n \"images\": {\n \"logo\": \"data:image/svg+xml;utf8,%3Csvg%20id%3D%22Layer_1%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20418%2036%22%20enable-background%3D%22new%200%200%20418%2036%22%20xml%3Aspace%3D%22preserve%22%20class%3D%22w-48%20lg%3Aw-54%20fill-current%22%20data-v-665d92ad%3D%22%22%20data-fc-idx%3D%220%22%3E%3Cg%20id%3D%22Page-1%22%3E%3Cg%20id%3D%22dark%22%3E%3Cg%20enable-background%3D%22new%22%3E%3Cpath%20d%3D%22M0.5%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V2.6c0-0.4%2C0.1-0.6%2C0.3-0.8C0.7%2C1.5%2C1%2C1.4%2C1.3%2C1.4h19.6%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.4%2C0%2C0.6%2C0.1%2C0.8%2C0.3C21.9%2C1.9%2C22%2C2.2%2C22%2C2.6v1.9c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-16v11.2h15.1%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.4%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.9c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3H4.8v13%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0%2C0.3-0.1%2C0.6-0.3%2C0.8C4.3%2C34.9%2C4%2C35%2C3.7%2C35H1.3C1%2C35%2C0.7%2C34.9%2C0.5%2C34.7z%22%2F%3E%20%3Cpath%20d%3D%22M54.1%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V2.6c0-0.4%2C0.1-0.6%2C0.3-0.8c0.2-0.2%2C0.5-0.3%2C0.8-0.3h19.8%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.3%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.8c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3H58.4V16h15.3%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.3%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.8c0%2C0.3-0.1%2C0.6-0.3%2C0.8C74.2%2C19.9%2C74%2C20%2C73.7%2C20H58.4v10.9h16.7%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.4%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.9c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3H54.9%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20C54.6%2C35%2C54.3%2C34.9%2C54.1%2C34.7z%22%2F%3E%20%3Cpath%20d%3D%22M108.8%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V2.6c0-0.4%2C0.1-0.6%2C0.3-0.8c0.2-0.2%2C0.5-0.3%2C0.8-0.3h10.9%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c4.8%2C0%2C8.3%2C1.1%2C10.5%2C3.2c2.1%2C2.2%2C3.3%2C5.4%2C3.4%2C9.8c0%2C0.9%2C0%2C2.2%2C0%2C3.7c0%2C1.6%2C0%2C2.8%2C0%2C3.8c-0.1%2C3-0.6%2C5.5-1.5%2C7.4s-2.3%2C3.3-4.3%2C4.2%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c-2%2C0.9-4.5%2C1.4-7.8%2C1.4h-11.1C109.2%2C35%2C109%2C34.9%2C108.8%2C34.7z%20M120.5%2C30.9c2.2%2C0%2C4-0.3%2C5.3-0.9c1.3-0.6%2C2.2-1.6%2C2.8-2.9%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.6-1.3%2C0.9-3.1%2C1-5.4c0.1-1.9%2C0.1-3.1%2C0.1-3.6c0-0.5%2C0-1.7-0.1-3.6c-0.1-3.2-0.8-5.5-2.3-6.9c-1.4-1.5-3.8-2.2-7.1-2.2h-7.1%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20v25.4H120.5z%22%2F%3E%20%3Cpath%20d%3D%22M167.4%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V2.6c0-0.4%2C0.1-0.6%2C0.3-0.8c0.2-0.2%2C0.5-0.3%2C0.8-0.3H188%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.3%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.8c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-16.3V16H187%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.3%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.8c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-15.3v10.9h16.7%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.4%2C0%2C0.6%2C0.1%2C0.8%2C0.3c0.2%2C0.2%2C0.3%2C0.5%2C0.3%2C0.8v1.9c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-20.2%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20C167.9%2C35%2C167.6%2C34.9%2C167.4%2C34.7z%22%2F%3E%20%3Cpath%20d%3D%22M222.1%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V2.6c0-0.4%2C0.1-0.6%2C0.3-0.8c0.2-0.2%2C0.5-0.3%2C0.8-0.3h11.7%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c3.7%2C0%2C6.6%2C0.9%2C8.6%2C2.6c2.1%2C1.7%2C3.1%2C4.2%2C3.1%2C7.5c0%2C2.4-0.6%2C4.4-1.8%2C6c-1.2%2C1.6-2.9%2C2.7-5.1%2C3.3l7.4%2C12.8c0.1%2C0.2%2C0.1%2C0.4%2C0.1%2C0.5%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0%2C0.3-0.1%2C0.5-0.3%2C0.7c-0.2%2C0.2-0.4%2C0.3-0.7%2C0.3h-2.3c-0.5%2C0-0.9-0.1-1.1-0.3c-0.3-0.2-0.5-0.5-0.7-1l-7-12.2h-8.4v12.4%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0%2C0.3-0.1%2C0.6-0.3%2C0.8c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-2.4C222.6%2C35%2C222.3%2C34.9%2C222.1%2C34.7z%20M234.4%2C17.4c4.8%2C0%2C7.2-2%2C7.2-6%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0-4-2.4-6-7.2-6h-7.9v12H234.4z%22%2F%3E%20%3Cpath%20d%3D%22M275.9%2C34.7c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3%2C0-0.4%2C0-0.5l11.9-31.1c0.3-0.7%2C0.8-1.1%2C1.5-1.1h3.3%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.8%2C0%2C1.3%2C0.4%2C1.5%2C1.1l11.9%2C31.1l0.1%2C0.5c0%2C0.3-0.1%2C0.5-0.3%2C0.7c-0.2%2C0.2-0.4%2C0.3-0.7%2C0.3h-2.4c-0.4%2C0-0.6-0.1-0.8-0.3%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c-0.2-0.2-0.3-0.4-0.4-0.6l-2.6-6.8h-15.7l-2.6%2C6.8c-0.1%2C0.2-0.2%2C0.4-0.4%2C0.6c-0.2%2C0.2-0.5%2C0.3-0.8%2C0.3h-2.4%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20C276.3%2C35%2C276.1%2C34.9%2C275.9%2C34.7z%20M297.2%2C23.2l-6.5-17l-6.5%2C17H297.2z%22%2F%3E%20%3Cpath%20d%3D%22M338.3%2C32c-2.2-2.3-3.4-5.5-3.6-9.6c0-0.9%2C0-2.3%2C0-4.2c0-2%2C0-3.4%2C0-4.3c0.2-4%2C1.4-7.2%2C3.6-9.5%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c2.2-2.3%2C5.5-3.5%2C9.7-3.5c2.8%2C0%2C5.3%2C0.5%2C7.2%2C1.5c2%2C1%2C3.5%2C2.3%2C4.5%2C4c1%2C1.6%2C1.6%2C3.4%2C1.7%2C5.2v0.1c0%2C0.3-0.1%2C0.5-0.3%2C0.6%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c-0.2%2C0.2-0.4%2C0.3-0.7%2C0.3h-2.6c-0.6%2C0-1-0.4-1.2-1.1c-0.5-2.4-1.5-4.1-2.9-5.1c-1.4-1-3.3-1.5-5.7-1.5c-5.5%2C0-8.4%2C3.1-8.5%2C9.2%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0%2C0.9%2C0%2C2.2%2C0%2C4s0%2C3.2%2C0%2C4.1c0.2%2C6.1%2C3%2C9.2%2C8.5%2C9.2c2.4%2C0%2C4.3-0.5%2C5.7-1.5c1.4-1%2C2.4-2.7%2C2.9-5.1c0.1-0.4%2C0.2-0.7%2C0.4-0.9%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.2-0.2%2C0.4-0.2%2C0.8-0.2h2.6c0.3%2C0%2C0.5%2C0.1%2C0.7%2C0.3c0.2%2C0.2%2C0.3%2C0.4%2C0.3%2C0.7c-0.1%2C1.9-0.7%2C3.6-1.7%2C5.3c-1%2C1.6-2.5%2C3-4.5%2C4%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20s-4.4%2C1.5-7.2%2C1.5C343.7%2C35.5%2C340.5%2C34.3%2C338.3%2C32z%22%2F%3E%3C%2Fg%3E%20%3Cg%2F%3E%20%3Cg%20enable-background%3D%22new%22%3E%3Cpath%20d%3D%22M401.5%2C34.7c-0.2-0.2-0.3-0.5-0.3-0.8V22.6L389.7%2C3c0-0.1%2C0-0.2%2C0-0.3c-0.1-0.1-0.1-0.2-0.1-0.3%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0-0.3%2C0.1-0.5%2C0.3-0.7c0.2-0.2%2C0.4-0.3%2C0.7-0.3h2.5c0.5%2C0%2C1%2C0.3%2C1.2%2C0.8l9.4%2C15.6l9.4-15.6c0.4-0.5%2C0.8-0.8%2C1.3-0.8h2.4%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20c0.3%2C0%2C0.5%2C0.1%2C0.7%2C0.3c0.2%2C0.2%2C0.3%2C0.4%2C0.3%2C0.7c0%2C0.2-0.1%2C0.4-0.2%2C0.6L406%2C22.6v11.3c0%2C0.3-0.1%2C0.6-0.3%2C0.8s-0.5%2C0.3-0.8%2C0.3%26%2310%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20h-2.5C402%2C35%2C401.8%2C34.9%2C401.5%2C34.7z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\",\n \"favicon\": \"https://www.federacy.com/favicon.ico\",\n \"ogImage\": \"https://www.federacy.com/img/sphere.png\",\n \"logoHref\": \"/#top\",\n \"logoAlt\": \"Layer_1\"\n },\n \"__llm_logo_reasoning\": {\n \"selectedIndex\": 1,\n \"reasoning\": \"Selected #1 because it is visible, located in the header, and matches the brand inferred from the URL and page title.\",\n \"confidence\": 0.9,\n \"source\": \"llm\"\n },\n \"__llm_button_reasoning\": {\n \"primary\": {\n \"index\": 1,\n \"text\": \"Let's talk\",\n \"reasoning\": \"Button #1 has a vibrant background color (#2F2842) and action-oriented text ('Let's talk'), making it the primary CTA.\"\n },\n \"secondary\": {\n \"index\": 0,\n \"text\": \"Get pricing\",\n \"reasoning\": \"Button #0 has a different background color (#FFFFFF) and a secondary action ('Get pricing'), making it suitable as a secondary CTA.\"\n },\n \"confidence\": 0.9\n },\n \"personality\": {\n \"tone\": \"professional\",\n \"energy\": \"medium\",\n \"targetAudience\": \"businesses seeking security testing services\"\n },\n \"designSystem\": {\n \"framework\": \"tailwind\",\n \"componentLibrary\": \"\"\n },\n \"confidence\": {\n \"buttons\": 0.9,\n \"colors\": 0.9,\n \"overall\": 0.9\n },\n \"__llm_metadata\": {\n \"logoSelection\": {\n \"llmCalled\": true,\n \"llmSucceeded\": true,\n \"finalSource\": \"llm\",\n \"rawLogoSelection\": {\n \"selectedLogoIndex\": 1,\n \"selectedLogoReasoning\": \"Selected #1 because it is visible, located in the header, and matches the brand inferred from the URL and page title.\",\n \"confidence\": 0.9\n }\n },\n \"buttonClassification\": {\n \"llmCalled\": true,\n \"llmSucceeded\": true\n }\n }\n}\n```\n"
}