# Kandji Brand Identity A complete profile of **Kandji**'s visual system — colors, typography, components, and personality — extracted from https://kandji.io. Built for designers, agents, and AI tools. - Page: https://characterquilt.com/branding/kandji - Machine-readable JSON: https://characterquilt.com/branding/kandji.json - Per-page llms.txt: https://characterquilt.com/branding/kandji/llms.txt ## Quick Facts | Field | Value | |---|---| | Primary | #33AAFF | | Accent | #0C0C29 | | Body Font | FK Grotesk Neue | | Heading Font | FK Grotesk Neue | ## Color Palette - primary: #33AAFF - secondary: #FF8000 - accent: #0C0C29 - background: #FFFFFF - textPrimary: #0C0C29 - link: #0C0C29 ## Typography - primary: FK Grotesk Neue — https://fonts.google.com/specimen/FK+Grotesk+Neue - heading: FK Grotesk Neue — https://fonts.google.com/specimen/FK+Grotesk+Neue ## Visual Assets - Logo: https://www.iru.com/hs-fs/hubfs/raw_assets/public/IruAurelia/images/iru-logo.png?width=80&height=80&name=iru-logo.png - Favicon: https://www.iru.com/hubfs/assets/favicons/favicon-96x96.png - Social card (og:image): https://www.iru.com/hubfs/assets/favicons/og-image.png ## UI Components - input: background=transparent, textColor=#0C0C29, borderColor=null, borderRadius=0px, shadow=rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgb(12, 12, 41) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px - buttonPrimary: background=#0C0C29, textColor=#FFFFFF, borderRadius=10px, shadow=none - buttonSecondary: background=#FFFFFF, textColor=#0C0C29, borderColor=#FFFFFF, borderRadius=8px, shadow=none ## Brand Personality Tone: professional · Energy: medium · Audience: IT and Security professionals ## Kandji Brand in the Wild Real-world brand assets — ads, campaigns, marketing materials. - **Support Customer Portal** - Image: https://cdn.document360.io/0844b095-d720-4a7b-bb17-ec97d9bc6e41/Images/Documentation/eFMhqhVJfvuFsW9fGnOyZvNqbS4rxAVJZQ.png - Source: https://support.kandji.io/kb/support-customer-portal - **Caught in the WebKit: Getting Tangled with CVE-2025-24201** - Image: https://www.iru.com/hs-fs/hubfs/kandji_blog_webkit_20250403.jpg?width=1480&height=832&name=kandji_blog_webkit_20250403.jpg - Source: https://www.kandji.io/blog/exploring-cve-2025-24201 - **Passportライブラリアイテムの設定** - Image: https://cdn.document360.io/0844b095-d720-4a7b-bb17-ec97d9bc6e41/Images/Documentation/5lizyitcv9bc7mogacdgbizlmgucdcgoca.png - Source: https://support.kandji.io/kb/ja/configure-the-passport-library-item-1 - **Vulnerability Management: First Unified Platform to Detect & Remediate on Mac** - Image: https://info.kandji.io/hubfs/2025.02.12_-_vulnerability_management_blog_post.png - Source: https://www.kandji.io/blog/vulnerability-management - **AD CS Integration: Overview** - Image: https://cdn.document360.io/0844b095-d720-4a7b-bb17-ec97d9bc6e41/Images/Documentation/E98Q-uIw09JwgcPKIeC4m_nnx6EhntOVQg.png - Source: https://support.kandji.io/kb/active-directory-certificate-services-ad-cs-integration-overview - **It's About The Journey: Fake Cloudflare Authenticator** - Image: https://lh7-rt.googleusercontent.com/docsz/AD_4nXccVpzGrGta_BmeyzMihE5ZyKbEpVHapVfjA1AG36DVL1B4JYyipHA5g7vehWpLI0-Tke3y3hjI9PnuljbbMyc-gplliZzxaY8bxIA1jnN9Av09sA1lnkrVKXycocvCuF0I6-sui1oLkrrtgiDTv5dz07wW?key=QzQZdKZs3xndQEF5__O9wQ - Source: https://www.kandji.io/blog/fake-cloudflare-authenticator ## 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": "FK Grotesk Neue", "role": "body" }, { "family": "Segoe UI", "role": "body" }, { "family": "Noto Sans", "role": "body" }, { "family": "Helvetica", "role": "body" }, { "family": "Arial", "role": "body" } ], "colors": { "primary": "#33AAFF", "secondary": "#FF8000", "accent": "#0C0C29", "background": "#FFFFFF", "textPrimary": "#0C0C29", "link": "#0C0C29" }, "typography": { "fontFamilies": { "primary": "FK Grotesk Neue", "heading": "FK Grotesk Neue" }, "fontStacks": { "heading": [ "FK Grotesk Neue", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Noto Sans", "Helvetica", "Arial", "sans-serif", "Apple Color Emoji" ], "body": [ "FK Grotesk Neue", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Noto Sans", "Helvetica", "Arial", "sans-serif", "Apple Color Emoji" ], "paragraph": [ "FK Grotesk Neue", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Noto Sans", "Helvetica", "Arial", "sans-serif", "Apple Color Emoji" ] }, "fontSizes": { "h1": "72px", "h2": "32px", "body": "14px" } }, "spacing": { "baseUnit": 4, "borderRadius": "0px" }, "components": { "input": { "background": "transparent", "textColor": "#0C0C29", "borderColor": null, "borderRadius": "0px", "borderRadiusCorners": { "topLeft": "0px", "topRight": "0px", "bottomRight": "0px", "bottomLeft": "0px" }, "shadow": "rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgb(12, 12, 41) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px" }, "buttonPrimary": { "background": "#0C0C29", "textColor": "#FFFFFF", "borderRadius": "10px", "borderRadiusCorners": { "topLeft": "10px", "topRight": "10px", "bottomRight": "10px", "bottomLeft": "10px" }, "shadow": "none" }, "buttonSecondary": { "background": "#FFFFFF", "textColor": "#0C0C29", "borderColor": "#FFFFFF", "borderRadius": "8px", "borderRadiusCorners": { "topLeft": "8px", "topRight": "8px", "bottomRight": "8px", "bottomLeft": "8px" }, "shadow": "none" } }, "images": { "logo": "https://www.iru.com/hs-fs/hubfs/raw_assets/public/IruAurelia/images/iru-logo.png?width=80&height=80&name=iru-logo.png", "favicon": "https://www.iru.com/hubfs/assets/favicons/favicon-96x96.png", "ogImage": "https://www.iru.com/hubfs/assets/favicons/og-image.png", "logoHref": "/" }, "__llm_logo_reasoning": { "selectedIndex": 1, "reasoning": "Selected #1 because it is visible, located in the header, links to the homepage, and matches the brand name 'Iru'.", "confidence": 0.9, "source": "llm" }, "__llm_button_reasoning": { "primary": { "index": 0, "text": "Book a demo", "reasoning": "Button #0 has a dark background (#0C0C29) which is distinct and stands out as a primary CTA. The text 'Book a demo' is action-oriented, making it a strong candidate for the primary button." }, "secondary": { "index": 1, "text": "Book a demo", "reasoning": "Button #1 has a light background (#FFFFFF) and serves as a secondary option with the same text 'Book a demo', but less visual prominence compared to the primary button." }, "confidence": 0.9 }, "personality": { "tone": "professional", "energy": "medium", "targetAudience": "IT and Security professionals" }, "designSystem": { "framework": "custom", "componentLibrary": "" }, "confidence": { "buttons": 0.9, "colors": 0.95, "overall": 0.925 }, "__llm_metadata": { "logoSelection": { "llmCalled": true, "llmSucceeded": true, "finalSource": "llm", "rawLogoSelection": { "selectedLogoIndex": 1, "selectedLogoReasoning": "Selected #1 because it is visible, located in the header, links to the homepage, and matches the brand name 'Iru'.", "confidence": 0.9 } }, "buttonClassification": { "llmCalled": true, "llmSucceeded": true } } } ```