{
  "schemaVersion": 1,
  "name": "Fabric",
  "legalName": "Tech Fabric LLC",
  "url": "https://fabric.pro",
  "brandPage": "https://fabric.pro/brand",
  "brandPageMarkdown": "https://fabric.pro/brand.md",
  "manifest": "https://fabric.pro/brand/kit/brand.json",
  "archive": "https://fabric.pro/brand/kit/fabric-brand-kit.zip",
  "readme": "https://fabric.pro/brand/kit/README.txt",
  "colorsCss": "https://fabric.pro/brand/kit/fabric-colors.css",
  "generated": "2026-11-02",
  "contact": "hello@techfabric.com",
  "founded": null,
  "permissions": "These files may be used to refer to Fabric in an article, a talk, a partner listing, an event programme or a comparison, and to link to fabric.pro, without asking first, provided the rules below are kept. Putting the logo on a product, a course or a service that is not Fabric needs written permission from the contact address.",
  "description": {
    "canonical": "Fabric is an open-source AI software factory for software agencies. Each client gets a project with its own repositories, documents and coding instructions. Agents draft the requirements, specification and architecture from that context, and the team lays out the features on a roadmap, added by hand or pulled from the client's tracker. A person marks a feature's requirements complete and starts work on it, and a coding agent works it into a pull request your team reviews and merges. It is free to use with your own model keys, hosted at fabric.pro or self-hosted, and licensed Apache-2.0 by TechFabric.",
    "short": "Fabric is an open-source AI agent platform on a company's own context. Engineering runs it as a software factory; every other team gets cited answers.",
    "oneLine": "An open-source AI agent platform on your company's own context, for every team, with software delivery first.",
    "tagline": "Run your agency like a software factory.",
    "note": "Quote the canonical paragraph verbatim wherever it fits. Use the shorter forms only where a field is too small for it. Do not write a new one."
  },
  "nameUsage": {
    "correct": "Fabric",
    "legalEntity": "Tech Fabric LLC",
    "avoid": [
      "FABRIC",
      "fabric.pro, in prose",
      "Fabric AI, as the product name",
      "Fabric Pro",
      "TechFabric Fabric"
    ],
    "note": "One word, capital F, in whatever typeface the rest of your sentence is in. The trademark and fabric.pro belong to Tech Fabric LLC."
  },
  "family": [
    {
      "name": "Fabric",
      "role": "The open-source AI agent platform. This site.",
      "url": "https://fabric.pro"
    },
    {
      "name": "Fabric Harness",
      "role": "The TypeScript framework for durable agents that Fabric's own agents run on. Packages ship as @fabric-harness/*.",
      "url": "https://harness.techfabric.com"
    },
    {
      "name": "Fabric Tower",
      "role": "The console people use to watch and steer agent squads.",
      "url": "https://tower.fabric.pro"
    }
  ],
  "lockups": "A family product is the Fabric mark followed by its name in Archivo ExtraBold. Fabric itself is always the wordmark.",
  "howToChoose": {
    "logo": "Decide by the ground the logo will sit on. Dark ground: use an on-dark file. Light ground: use an on-light file. Never recolour a file to make it work on the other ground.",
    "wordmarkOrMark": "Use the wordmark unless the space is narrower than 110 px or roughly square, in which case use the mark.",
    "format": "Prefer SVG wherever the tool accepts it. Use PNG only where it will not.",
    "banners": "The banners and avatar are finished compositions. Use them unchanged rather than rebuilding them from the parts.",
    "background": "The weave: warp and weft in crimson on black, lit at the crossings, dense on the right. Put a headline on the dark left third, as the site does."
  },
  "clearSpace": "At least the height of the letter F in the wordmark, on every side. Nothing else goes inside that space, including a partner's logo and the edge of the page.",
  "minimumSize": {
    "appliesTo": "wordmark width",
    "screenPx": 110,
    "printMm": 28,
    "why": "Below that the arcs in the mark merge, and the mark on its own is the better choice."
  },
  "colors": [
    {
      "name": "Black",
      "hex": "#000000",
      "use": "The page ground. The wordmark sits on it in white."
    },
    {
      "name": "Charcoal",
      "hex": "#1A1A1A",
      "use": "Cards and product windows on the dark ground."
    },
    {
      "name": "White",
      "hex": "#FFFFFF",
      "use": "Headings, body copy and the wordmark on dark."
    },
    {
      "name": "Crimson",
      "hex": "#EB0600",
      "use": "Fills only: the status dot, the arrow in a button, the pipeline gate."
    },
    {
      "name": "Crimson on dark",
      "hex": "#FF8577",
      "use": "Crimson as text or a label on a dark ground, where the fill fails contrast."
    },
    {
      "name": "Crimson on light",
      "hex": "#B30000",
      "use": "Crimson as text on a light ground, such as a document or a slide."
    },
    {
      "name": "Muted",
      "hex": "#8C8C8C",
      "use": "Captions, metadata and secondary copy on dark, never below 55% white."
    }
  ],
  "typography": {
    "headings": {
      "family": "Archivo",
      "weight": 800,
      "source": "https://fonts.google.com/specimen/Archivo",
      "stack": "\"Archivo\", system-ui, sans-serif"
    },
    "body": {
      "family": "Inter",
      "weight": 400,
      "source": "https://fonts.google.com/specimen/Inter",
      "stack": "\"Inter\", system-ui, sans-serif"
    },
    "labelsAndMetadata": {
      "family": "JetBrains Mono",
      "weight": 400,
      "source": "https://fonts.google.com/specimen/JetBrains+Mono",
      "stack": "\"JetBrains Mono\", ui-monospace, monospace"
    },
    "familyLockups": {
      "family": "Archivo",
      "weight": 800,
      "source": "https://fonts.google.com/specimen/Archivo",
      "stack": "\"Archivo\", system-ui, sans-serif"
    }
  },
  "voice": [
    {
      "do": "Say what happens: an agent plans, reads, drafts, writes, reviews and checks.",
      "dont": "Call anything powerful, flexible, seamless or robust, or say it will leverage, unlock or empower."
    },
    {
      "do": "Write headlines that are verb-led, concrete, two lines at most, and end with a period.",
      "dont": "Write a headline that names a category instead of saying what happens."
    },
    {
      "do": "Talk about outcomes: a pull request is a pull request, and a run survives a restart.",
      "dont": "Put internal agent names or infrastructure terms on a marketing page. They belong in the docs."
    },
    {
      "do": "Show only numbers that are already published with evidence: 10 to 3 and Apache-2.0.",
      "dont": "Invent a metric, quote a testimonial without a source, or show the logo of a company that does not use Fabric."
    }
  ],
  "files": [
    {
      "id": "fabric-wordmark-on-dark",
      "file": "fabric-wordmark-on-dark.svg",
      "url": "https://fabric.pro/brand/kit/fabric-wordmark-on-dark.svg",
      "kind": "wordmark",
      "format": "svg",
      "mime": "image/svg+xml",
      "ground": "dark",
      "transparent": true,
      "width": 1085,
      "height": 250,
      "use": "The logo for black and dark grounds. Vector, scales to any size. First choice for print, slides and the web."
    },
    {
      "id": "fabric-wordmark-on-dark",
      "file": "fabric-wordmark-on-dark.png",
      "url": "https://fabric.pro/brand/kit/fabric-wordmark-on-dark.png",
      "kind": "wordmark",
      "format": "png",
      "mime": "image/png",
      "ground": "dark",
      "transparent": true,
      "width": 2048,
      "height": 472,
      "use": "The same logo as a transparent PNG for tools that will not take SVG."
    },
    {
      "id": "fabric-wordmark-on-light",
      "file": "fabric-wordmark-on-light.svg",
      "url": "https://fabric.pro/brand/kit/fabric-wordmark-on-light.svg",
      "kind": "wordmark",
      "format": "svg",
      "mime": "image/svg+xml",
      "ground": "light",
      "transparent": true,
      "width": 1085,
      "height": 250,
      "use": "The logo for white and light grounds. Vector."
    },
    {
      "id": "fabric-wordmark-on-light",
      "file": "fabric-wordmark-on-light.png",
      "url": "https://fabric.pro/brand/kit/fabric-wordmark-on-light.png",
      "kind": "wordmark",
      "format": "png",
      "mime": "image/png",
      "ground": "light",
      "transparent": true,
      "width": 2048,
      "height": 472,
      "use": "The same logo as a transparent PNG."
    },
    {
      "id": "fabric-mark-on-dark",
      "file": "fabric-mark-on-dark.svg",
      "url": "https://fabric.pro/brand/kit/fabric-mark-on-dark.svg",
      "kind": "mark",
      "format": "svg",
      "mime": "image/svg+xml",
      "ground": "dark",
      "transparent": true,
      "width": 180,
      "height": 220,
      "use": "The mark alone, for dark grounds. Only where the wordmark will not fit or the space is square."
    },
    {
      "id": "fabric-mark-on-dark",
      "file": "fabric-mark-on-dark.png",
      "url": "https://fabric.pro/brand/kit/fabric-mark-on-dark.png",
      "kind": "mark",
      "format": "png",
      "mime": "image/png",
      "ground": "dark",
      "transparent": true,
      "width": 838,
      "height": 1024,
      "use": "The mark alone as a transparent PNG, for dark grounds."
    },
    {
      "id": "fabric-mark-on-light",
      "file": "fabric-mark-on-light.svg",
      "url": "https://fabric.pro/brand/kit/fabric-mark-on-light.svg",
      "kind": "mark",
      "format": "svg",
      "mime": "image/svg+xml",
      "ground": "light",
      "transparent": true,
      "width": 180,
      "height": 220,
      "use": "The mark alone, for light grounds."
    },
    {
      "id": "fabric-mark-on-light",
      "file": "fabric-mark-on-light.png",
      "url": "https://fabric.pro/brand/kit/fabric-mark-on-light.png",
      "kind": "mark",
      "format": "png",
      "mime": "image/png",
      "ground": "light",
      "transparent": true,
      "width": 838,
      "height": 1024,
      "use": "The mark alone as a transparent PNG, for light grounds."
    },
    {
      "id": "fabric-background-2560x1440",
      "file": "fabric-background-2560x1440.webp",
      "url": "https://fabric.pro/brand/kit/fabric-background-2560x1440.webp",
      "kind": "background",
      "format": "webp",
      "mime": "image/webp",
      "ground": "any",
      "transparent": false,
      "width": 2560,
      "height": 1440,
      "use": "The background at full size. The weave: warp and weft in crimson on black, lit at the crossings, dense on the right. Put a headline on the dark left third, as the site does."
    },
    {
      "id": "fabric-background-1920x1080",
      "file": "fabric-background-1920x1080.jpg",
      "url": "https://fabric.pro/brand/kit/fabric-background-1920x1080.jpg",
      "kind": "background",
      "format": "jpg",
      "mime": "image/jpeg",
      "ground": "any",
      "transparent": false,
      "width": 1920,
      "height": 1080,
      "use": "The same background at 1080p as JPEG, for slide templates."
    },
    {
      "id": "fabric-banner-1200x630",
      "file": "fabric-banner-1200x630.png",
      "url": "https://fabric.pro/brand/kit/fabric-banner-1200x630.png",
      "kind": "banner",
      "format": "png",
      "mime": "image/png",
      "ground": "any",
      "transparent": false,
      "width": 1200,
      "height": 630,
      "use": "Share card with the wordmark already placed. Use as is for Open Graph, LinkedIn, Slack and X unfurls."
    },
    {
      "id": "fabric-banner-1584x396",
      "file": "fabric-banner-1584x396.png",
      "url": "https://fabric.pro/brand/kit/fabric-banner-1584x396.png",
      "kind": "banner",
      "format": "png",
      "mime": "image/png",
      "ground": "any",
      "transparent": false,
      "width": 1584,
      "height": 396,
      "use": "LinkedIn company cover with the wordmark already placed, clear of the corner where LinkedIn draws the profile picture. Use as is."
    },
    {
      "id": "fabric-avatar-1024",
      "file": "fabric-avatar-1024.png",
      "url": "https://fabric.pro/brand/kit/fabric-avatar-1024.png",
      "kind": "avatar",
      "format": "png",
      "mime": "image/png",
      "ground": "any",
      "transparent": false,
      "width": 1024,
      "height": 1024,
      "use": "Square profile picture, the mark on black. Use as is for any social or directory avatar."
    }
  ],
  "rules": [
    "Use the wordmark wherever it fits. The mark alone is for spaces too small or too square for the wordmark, such as a profile picture or a favicon.",
    "Use the white files on black and dark grounds, the black files on white and light grounds. Do not recolour either.",
    "Keep clear space around the logo of at least the height of the letter F in the wordmark, on every side.",
    "Do not go below 110 pixels wide on screen or 28 millimetres in print for the wordmark.",
    "Do not stretch, rotate, outline, add a drop shadow to, or place the logo on a busy photograph. The weave has a dark side for exactly this.",
    "Do not set the name in a typeface to imitate the wordmark. The wordmark is drawn, not typed.",
    "A family product is the Fabric mark followed by its name in the brush script. Do not set Fabric's own name in the script; Fabric is the wordmark.",
    "Do not use the assets to imply that Fabric or TechFabric endorses or is affiliated with a product, a course or an event unless we have said so."
  ]
}
