{
  "trust_level": "claimed",
  "official_brand_source": false,
  "verification_method": null,
  "verified_domain": null,
  "verified_at": null,
  "verification_last_checked_at": null,
  "verification_expires_at": null,
  "status": "active",
  "customer_handle": "bruiser-a4d2fbf5",
  "certification_status": "not_certified",
  "registry_certified": false,
  "certification": null,
  "brand_name": "Bruiser",
  "response_scope": "path",
  "content_complete": true,
  "available_paths": [
    "/.well-known/brand.md",
    "/.well-known/brand/boundaries.md",
    "/.well-known/brand/claims.md",
    "/.well-known/brand/onboarding.md",
    "/.well-known/brand/representation.md",
    "/.well-known/brand/values.md",
    "/.well-known/brand/visual.md",
    "/.well-known/brand/voice.md",
    "/.well-known/brand/voice/anti-ai.md"
  ],
  "integrity_scope": "publication_manifest",
  "integrity": {
    "version": 2,
    "publication_id": "21bd251856b32b9cfa840c8645c0934bce682ea3e857405eaa1ef7378c82993a",
    "revision_id": "2e409c82-d8bc-4ac5-9bf5-bf9fc3c64f83",
    "manifest_sha256": "2f410ca459384049483158166e1f94e128ef11eaade78d4e9ab5158e95b23621",
    "manifest_signature": "FzceOf3p87DW2xdrF28QGRn/mZPeBuOWE2DKL+NjPpBtU+MWQTp5SUR3X+IwVz88wvHvDkk6ARY8pUpr/4N0CQ==",
    "manifest_signature_kid": "v1"
  },
  "verified": null,
  "schema": "bcp-readable-package-v1",
  "representation": "Derived readable representation; verify signatures against the canonical source files.",
  "canonical_registry_url": "https://registry.encodedbrands.ai/brands/bruiser-a4d2fbf5",
  "html_url": "https://registry.encodedbrands.ai/brands/bruiser-a4d2fbf5",
  "files": [
    {
      "path": "/.well-known/brand/visual.md",
      "content": "---\nbcp_version: \"2.0.0\"\nfile_type: visual\nparent: https://registry.encodedbrands.ai/bruiser-a4d2fbf5/.well-known/brand.md\nlast_updated: 2026-10-16\n---\n\n# Visual\n\nThe brand's visual identity is preserved below as machine-readable tokens and practical usage rules.\n\n## Logo\n\n```yaml\nlogo:\n  primary:\n    description: Primary logo asset detected from customer-provided surfaces.\n    variants:\n      - format: png\n        url: \"https://images.squarespace-cdn.com/content/v1/5acb899e25bf024c12f42621/f2cc2347-c455-4019-946f-19ec8daf2018/favicon.ico?format=100w\"\n        sha256: 97daca74824c1bce3b807c3c46094639335e2f827bce79b4609c6fb2ba0a9705\n        purpose: \"Fetched from the customer's published brand surface.\"\n```\n\n## Logo usage\n\n```yaml\nlogo_usage:\n  clear_space:\n    rule: Keep clear space around the logo at least equal to the height of its core mark.\n    machine_value:\n      unit: x-height\n      multiplier: 1.0\n  minimum_size:\n    digital_px: 24\n  approved_backgrounds:\n    - type: solid_color\n      color_token: background\n      note: Default light surface when contrast is sufficient.\n    - type: solid_color\n      color_token: surface-inverse\n      note: Inverse surface when a light or reversed variant is available.\n  forbidden_backgrounds:\n    - type: gradient\n      note: Do not place the logo over decorative gradients unless brand guidelines explicitly allow it.\n    - type: patterned\n      note: Patterned backgrounds reduce legibility.\n  forbidden_modifications:\n    - stretch\n    - rotate\n    - recolor\n    - drop_shadow\n    - glow\n    - outline\n    - crop\n    - container_shape\n    - animate\n```\n\n## Color\n\n```yaml\ncolor:\n  tokens:\n    neutral_1:\n      hex: \"#C1C1C1\"\n      role: neutral\n      description: \"colors extracted from customer source material.\"\n    accent:\n      hex: \"#000000\"\n      role: primary\n      description: \"accent extracted from customer source material.\"\n    background:\n      hex: \"#FFFFFF\"\n      role: surface\n      description: \"background extracted from customer source material.\"\n  approved_pairs:\n    []\n  forbidden_pairs:\n    - foreground: accent\n      background: background\n      reason: Use only if contrast testing passes for the actual type size.\n```\n\n## Typography\n\n```yaml\ntypography:\n  families:\n    montserrat:\n      family: Montserrat\n      fallback_stack: [\"Helvetica Neue\", \"Arial\", \"sans-serif\"]\n      weights: [400, 600, 700]\n      styles: [\"normal\"]\n      source: \"Google Fonts or public web font\"\n    proxima_nova:\n      family: proxima-nova\n      fallback_stack: [\"Sora\", \"Helvetica Neue\", \"Arial\", \"sans-serif\"]\n      weights: [400, 500, 700]\n      styles: [\"normal\"]\n      source: \"commercial or customer-hosted font\"\n      license_note: \"This typeface is a commercial license. Consumers without a license should use the fallback stack.\"\n    futura_pt:\n      family: futura-pt\n      fallback_stack: [\"Jost\", \"Helvetica Neue\", \"Arial\", \"sans-serif\"]\n      weights: [700]\n      styles: [\"normal\"]\n      source: \"commercial or customer-hosted font\"\n      license_note: \"This typeface is a commercial license. Consumers without a license should use the fallback stack.\"\n    din_condensed_web:\n      family: din-condensed-web\n      fallback_stack: [\"Helvetica Neue\", \"Arial\", \"sans-serif\"]\n      weights: [400, 500, 700]\n      styles: [\"normal\"]\n      source: \"customer site extraction\"\n  roles:\n    display: montserrat\n    body: montserrat\n    ui: montserrat\n```\n\n## Layout and components\n\n```yaml\nelevation:\n  shadows:\n    - \"rgb(128, 128, 128) 0px 0px 5px 0px\"\nspacing:\n  scale_px: [4, 16, 26, 46, 84]\ncomponents:\n  buttons:\n    - background: \"transparent\"\n      color: \"#272727\"\n      radius_px: 0\n      padding_px: [15, 38]\n      font_weight: 400\n    - background: \"transparent\"\n      color: \"#272727\"\n      radius_px: 0\n      padding_px: [15, 38]\n      font_weight: 400\n    - background: \"transparent\"\n      color: \"#000000\"\n      radius_px: 0\n      padding_px: [0, 0]\n      font_weight: 400\nsource: Observed from the site's live CSS, not a declared design system. Verify against your canonical tokens.\n```\n\n## Imagery\n\n```yaml\nimagery:\n  photographic_style: |\n    Use concrete, brand-owned imagery when available. Avoid generic stock,\n    abstract AI motifs, and visuals that contradict the extracted identity.\n  illustration_style: |\n    Keep illustration subordinate to the brand system. Use only when it\n    clarifies the message better than photography or product evidence.\n  iconography_style: |\n    Follow the brand's existing mark, stroke, and geometry cues. Do not invent\n    decorative symbols without a human-approved precedent.\n  forbidden_treatments:\n    - generic AI iconography\n    - decorative gradients behind text\n    - stock business-meeting photography\n```\n",
      "signature": "ZBHbVD5valpHr6gfKECEkHhvT/1KRI/EwQEAkDXw9DGpsXc7HG94sCfwnIzUodcOjL9ilYJ9rRUi4h2Kvc1UBw==",
      "sha256": "7df5c72945b0a6a7b7f881a7cd821e0c7a6d30653c07bf999f9ff336aab80054",
      "kid": "v1",
      "content_type": "text/markdown; charset=utf-8",
      "html_url": "https://registry.encodedbrands.ai/brands/bruiser-a4d2fbf5/files/visual",
      "json_url": "https://registry.encodedbrands.ai/brands/bruiser-a4d2fbf5/files/visual/data.json",
      "source_url": "https://registry.encodedbrands.ai/brands/bruiser-a4d2fbf5/source/visual.md",
      "canonical_source_url": "https://registry.encodedbrands.ai/bruiser-a4d2fbf5/.well-known/brand/visual.md"
    }
  ],
  "path": "/.well-known/brand/visual.md"
}
