{
  "schema_version": "1.0",
  "generated_at": "2026-09-06T03:04:40.738Z",
  "slug": "agenttransfer-dev",
  "domain": "agenttransfer.dev",
  "funnel_type": "saas",
  "crawler": {
    "id": "roentgen",
    "name": "Roentgen",
    "kind": "surface",
    "version": "1.10",
    "label": "Roentgen 1.10",
    "status": "live",
    "tagline": "Surface funnel x-ray",
    "xrays": "A funnel from lander to checkout — the pages a visitor actually walks.",
    "produces": "A scored, evidence-backed teardown: design tokens, proof language, and the exact conversion tactics each page runs — every fact carrying its on-page evidence.",
    "destination": "/ux-report/<slug>",
    "changelog": [
      {
        "version": "1.10",
        "date": "2026-07-29",
        "summary": "Element-level tactic rects: the walk now records each conversion element (strikethrough/anchor price, rating, money-back guarantee, scarcity, no-credit-card, countdown) as page-fraction coordinates on the SAME crawl as the full-page screenshot, so the Element Library can crop the exact on-page pixels. A media gate drops any candidate sitting over a photo/background-image (kept honest: a rect we can't cleanly show is dropped, never guessed). Additive — display-only, zero scoring drift; Worker + CLI parity."
      },
      {
        "version": "1.9",
        "date": "2026-07-28",
        "summary": "Overlay auto-dismiss before capture: the Worker now clears cookie/consent + newsletter popups (main doc + every subframe, catching iframe Klaviyo/Attentive modals) that previously froze in screenshots — parity with the CLI. Goto-only, never after an in-funnel click."
      },
      {
        "version": "1.8",
        "date": "2026-07-24",
        "summary": "Price extraction reads currency-code suffixes (\"25.99 USD\"), not just leading symbols — parity across the Worker + CLI extractors."
      },
      {
        "version": "1.7",
        "date": "2026-07-23",
        "summary": "scarcity_stock + press_features detectors (display-only, zero scoring drift)."
      },
      {
        "version": "1.6",
        "date": "2026-07-21",
        "summary": "Multi-funnel discovery: sibling product funnels walked as coexisting siblings (flag-gated)."
      },
      {
        "version": "1.5",
        "date": "2026-07-20",
        "summary": "Auto-walk discovers review/affiliate funnels one click past an editorial homepage."
      },
      {
        "version": "1.4",
        "date": "2026-07-17",
        "summary": "Detection-shape gaps: words-based comparison tables, engine-metric usage proof, docs/demo links."
      },
      {
        "version": "1.3",
        "date": "2026-07-17",
        "summary": "Funnel identity (funnel_sig): different answer-paths coexist as sibling funnels; primary = deepest."
      },
      {
        "version": "1.2",
        "date": "2026-07-17",
        "summary": "Scoring-precision audit: guarantee shapes, store-URL weights, free-trial, per-unit price."
      },
      {
        "version": "1.1",
        "date": "2026-07-16",
        "summary": "Per-step DOM snapshots + skeletons, video/embed signal, broader SaaS proof vocabulary."
      },
      {
        "version": "1.0",
        "date": "2026-07-15",
        "summary": "Baseline: funnel walk, tactic detectors, funnel-type-aware scoring, UX signals, section crops."
      }
    ]
  },
  "provenance": {
    "facts": "measured",
    "design_tokens": "measured",
    "proof_language": "measured",
    "ux": "measured",
    "steps": "measured",
    "screenshots": "measured",
    "favicon": "measured",
    "score": "derived_deterministic",
    "agent_brief": "rendered_summary",
    "playbooks": "derived_deterministic"
  },
  "score": {
    "source_type": "derived_deterministic",
    "score": 35,
    "band": "Sparse",
    "stars": 1,
    "categories": [
      {
        "id": "offer",
        "label": "Offer clarity",
        "pts": 0,
        "cap": 8
      },
      {
        "id": "action",
        "label": "Action path",
        "pts": 18,
        "cap": 20
      },
      {
        "id": "trust",
        "label": "Trust & proof",
        "pts": 0,
        "cap": 11
      },
      {
        "id": "friction",
        "label": "Friction reduction",
        "pts": 4,
        "cap": 10
      },
      {
        "id": "value",
        "label": "Value reinforcement",
        "pts": 0,
        "cap": 10
      },
      {
        "id": "urgency",
        "label": "Risk reversal & urgency",
        "pts": 0,
        "cap": 0
      }
    ]
  },
  "percentile": {
    "corpus_n": 584,
    "beats_pct": 68,
    "depth_class": "entry_page",
    "cohort": {
      "type": "saas",
      "n": 314,
      "beats_pct": 54
    }
  },
  "devices_available": [
    "desktop",
    "mobile"
  ],
  "funnels": [
    {
      "device": "desktop",
      "funnel_sig": "home",
      "score": 35,
      "band": "Sparse",
      "funnel_depth": 1,
      "captured_at": "2026-07-30",
      "crawler": "Roentgen 1.10"
    },
    {
      "device": "mobile",
      "funnel_sig": "home",
      "score": 25,
      "band": "Sparse",
      "funnel_depth": 1,
      "captured_at": "2026-07-30",
      "crawler": "Roentgen 1.10"
    },
    {
      "device": "desktop",
      "funnel_sig": "llms.txt",
      "score": null,
      "band": "Blocked",
      "funnel_depth": 0,
      "captured_at": "2026-08-02",
      "crawler": "Roentgen 1.13"
    },
    {
      "device": "desktop",
      "funnel_sig": "launch",
      "score": null,
      "band": "Blocked",
      "funnel_depth": 0,
      "captured_at": "2026-07-30",
      "crawler": "Roentgen 1.10"
    }
  ],
  "timeline": [
    {
      "score": 35,
      "band": "Sparse",
      "detected": 3,
      "crawler": "Roentgen 1.10",
      "date": "2026-07-30"
    },
    {
      "score": 0,
      "band": "Sparse",
      "detected": 0,
      "crawler": "Roentgen 1.15",
      "date": "2026-08-02"
    },
    {
      "score": 0,
      "band": "Sparse",
      "detected": 0,
      "crawler": "Roentgen 1.18",
      "date": "2026-08-03"
    }
  ],
  "facts": {
    "source_type": "measured",
    "profile": {
      "funnel_type": "saas",
      "score": {
        "score": 35,
        "band": "Sparse",
        "stars": 1,
        "categories": [
          {
            "id": "offer",
            "label": "Offer clarity",
            "pts": 0,
            "cap": 8
          },
          {
            "id": "action",
            "label": "Action path",
            "pts": 18,
            "cap": 20
          },
          {
            "id": "trust",
            "label": "Trust & proof",
            "pts": 0,
            "cap": 11
          },
          {
            "id": "friction",
            "label": "Friction reduction",
            "pts": 4,
            "cap": 10
          },
          {
            "id": "value",
            "label": "Value reinforcement",
            "pts": 0,
            "cap": 10
          },
          {
            "id": "urgency",
            "label": "Risk reversal & urgency",
            "pts": 0,
            "cap": 0
          }
        ]
      },
      "funnel_depth": 1,
      "proof_points": 0,
      "proof_steps": 0,
      "components_present": 2,
      "free_gifts": 0,
      "discount_present": false,
      "has_countdown": false,
      "subscription_detected": false,
      "checkout_form_fields": 0,
      "price_continuity": {
        "continuous": false,
        "shared": []
      },
      "tactics_detected": 3,
      "tactics_total": 11,
      "checkout_reached": null
    },
    "patterns": [
      {
        "id": "comparison_table",
        "label": "Us-vs-them comparison",
        "category": "objection",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "demo_docs",
        "label": "Demo / docs entry",
        "category": "checkout",
        "present": true,
        "count": 1,
        "evidence": [
          "home: docs link"
        ]
      },
      {
        "id": "faq_objection",
        "label": "FAQ / objection handling",
        "category": "objection",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "free_trial",
        "label": "Free trial / freemium",
        "category": "offer",
        "present": true,
        "count": 1,
        "evidence": [
          "home: no credit card"
        ]
      },
      {
        "id": "lead_form",
        "label": "Lead-capture form",
        "category": "checkout",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "press_features",
        "label": "Press / \"as seen in\"",
        "category": "proof",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "pricing_tiers",
        "label": "Pricing tiers",
        "category": "offer",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "proof_above_fold",
        "label": "Proof above the fold",
        "category": "proof",
        "present": true,
        "count": 1,
        "evidence": [
          "home: GitHub ★ 46 ·Docs ·Launch note ·llms.txt ·Security ·MIT"
        ]
      },
      {
        "id": "scarcity_stock",
        "label": "Scarcity / urgency copy",
        "category": "urgency",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "trusted_by_logos",
        "label": "Trusted-by logo wall",
        "category": "proof",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "usage_proof",
        "label": "Usage / adoption proof",
        "category": "proof",
        "present": false,
        "count": 0,
        "evidence": []
      }
    ]
  },
  "design_tokens": {
    "source_type": "measured",
    "summary": {
      "roles": {
        "primary": "#f4f2ec",
        "accent": "#f4f2ec",
        "bg": "#f4f2ec",
        "surface": "#faf9f6",
        "text": "#565660"
      },
      "font": {
        "display": "ui-monospace",
        "body": "ui-monospace",
        "families": [
          {
            "family": "ui-monospace",
            "chars": 6018
          },
          {
            "family": "monospace",
            "chars": 2287
          }
        ]
      },
      "type_scale": [
        11,
        12,
        13,
        14,
        15,
        16,
        20,
        22,
        34
      ],
      "weights": [
        400,
        500,
        600,
        700
      ],
      "base_size": 14,
      "min_size": 11,
      "radius_scale": [
        4,
        6,
        8,
        10
      ],
      "palette": [
        {
          "hex": "#f4f2ec",
          "usage_pct": 95.7,
          "lum": 0.95,
          "chroma": 0.03
        },
        {
          "hex": "#faf9f6",
          "usage_pct": 3.4,
          "lum": 0.98,
          "chroma": 0.02
        },
        {
          "hex": "#f0eee7",
          "usage_pct": 0.7,
          "lum": 0.93,
          "chroma": 0.04
        },
        {
          "hex": "#a85413",
          "usage_pct": 0.3,
          "lum": 0.38,
          "chroma": 0.58
        }
      ]
    }
  },
  "proof_language": [],
  "ux": {
    "summary": {
      "flags": 2,
      "unknown": 0,
      "posture": "Minor",
      "checks_total": 5
    },
    "checks": [
      {
        "group": "contrast",
        "label": "Text contrast (WCAG AA)",
        "verdict": "needs_work",
        "fact": "68% of measurable text passes WCAG AA. 4+ runs fail.",
        "evidence": "worst: “# agents sign themselves up — one call, key comes back” at 2.94:1 (14px, #8d8d94 on #f4f2ec). needs 4.5:1",
        "fix": "Raise text/background contrast to ≥4.5:1 (≥3:1 for large text), especially on CTAs and body copy."
      },
      {
        "group": "mobile",
        "label": "Mobile viewport",
        "verdict": "good",
        "fact": "Responsive viewport meta is present."
      },
      {
        "group": "type",
        "label": "Body text size",
        "verdict": "needs_work",
        "fact": "Smallest body text is 11px (base ~16px). below the ~16px readable floor.",
        "fix": "Keep body copy ≥15-16px; reserve sub-13px for fine print only."
      },
      {
        "group": "type",
        "label": "Line length",
        "verdict": "note",
        "fact": "15 paragraphs run past ~95 characters per line.",
        "fix": "Cap measure at ~60-75ch for comfortable reading."
      },
      {
        "group": "a11y",
        "label": "Language declared",
        "verdict": "good",
        "fact": "html[lang] is set for screen readers."
      }
    ],
    "signals": {
      "contrast": {
        "sampled": 170,
        "pass_aa": 115,
        "fail_aa": 55,
        "unknown": 0,
        "worst": [
          {
            "text": "# agents sign themselves up — one call, key comes back",
            "ratio": 2.94,
            "fg": "#8d8d94",
            "bg": "#f4f2ec",
            "need": 4.5,
            "px": 14
          },
          {
            "text": "agents",
            "ratio": 2.94,
            "fg": "#8d8d94",
            "bg": "#f4f2ec",
            "need": 4.5,
            "px": 11
          },
          {
            "text": "transfers · 7d",
            "ratio": 2.94,
            "fg": "#8d8d94",
            "bg": "#f4f2ec",
            "need": 4.5,
            "px": 11
          },
          {
            "text": "receipts",
            "ratio": 2.94,
            "fg": "#8d8d94",
            "bg": "#f4f2ec",
            "need": 4.5,
            "px": 11
          }
        ]
      },
      "typography": {
        "body_px": 16,
        "min_body_px": 11,
        "line_height": 1.7,
        "long_lines": 15,
        "distinct_sizes": 6
      },
      "a11y": {
        "lang": true,
        "viewport": true,
        "img_total": 0,
        "img_missing_alt": 0,
        "controls_total": 0,
        "controls_unlabeled": 0,
        "controls_placeholder_only": 0,
        "controls_unnamed": 0,
        "generic_links": 0,
        "h1_home": 1,
        "h1_counts": [
          1
        ],
        "heading_skips": 0
      },
      "tap_targets": {
        "checked": 37,
        "small": 36,
        "sample": [
          {
            "label": "copy",
            "w": 59,
            "h": 39
          },
          {
            "label": "Host an app →",
            "w": 136,
            "h": 40
          },
          {
            "label": "I’m a human →",
            "w": 136,
            "h": 40
          },
          {
            "label": "I’m an agent →",
            "w": 144,
            "h": 40
          }
        ]
      },
      "layout": {
        "h_overflow": false,
        "overflow_px": 0
      },
      "viewport_w": 1440
    }
  },
  "playbooks": [],
  "steps": [
    {
      "n": 1,
      "id": "home",
      "label": "Homepage / Lander",
      "url": "https://agenttransfer.dev/",
      "reached": true,
      "copy": {
        "title": "AgentTransfer — identity, files, mail, and app hosting for AI agents",
        "meta_description": "Every AI agent gets an email address, storage, and an inbox. Human verification adds a live app subdomain for static sites. Stream 5 GB files and verify transfers with signed receipts.",
        "hero_copy": "agenttransfer.dev | Send a file to another agent in four calls. No approval, no human, no credit card. | Your address becomes a website. Your agent can deploy it itself.",
        "h1": [
          "agenttransfer.dev"
        ],
        "h2": [
          "Send a file to another agent in four calls. No approval, no human, no credit card.",
          "Your address becomes a website. Your agent can deploy it itself.",
          "An MCP server for file transfer — files stream to disk, never through your context window.",
          "Email is the control plane. HTTPS is the data plane.",
          "The receiver verifies the bytes. Receipts preserve instance-signed evidence.",
          "The whole loop, timed against the hosted instance.",
          "Assume the agent is compromised. Limit the blast radius.",
          "One static Go binary. One data folder. Yours if you want it."
        ],
        "h3": [
          "PROTOCOL",
          "TRUST",
          "COORDINATION",
          "RUN IT"
        ],
        "ctas": [
          "copy"
        ],
        "prices": [
          "$5"
        ],
        "form_fields": 0,
        "form_field_names": [],
        "video": {
          "count": 0,
          "native": 0,
          "providers": []
        }
      },
      "proof": [],
      "proof_position": {
        "in_header": true,
        "above_fold": true,
        "above_fold_text": "GitHub ★ 46 ·Docs ·Launch note ·llms.txt ·Security ·MIT"
      },
      "discount": {
        "present": false,
        "anchors": [],
        "percent_off": null
      },
      "subscription": {
        "detected": false,
        "interval": null
      },
      "free_items": [],
      "tactics": [
        "no_credit_card",
        "demo_docs"
      ],
      "tactics_evidence": {
        "review_wall": null,
        "comparison_table": null,
        "countdown_timer": null,
        "free_gift": null,
        "subscription_toggle": null,
        "faq_accordion": null,
        "trust_badges": null,
        "press_logos": null,
        "per_unit_price": null,
        "free_shipping": null,
        "free_trial": null,
        "no_credit_card": "no credit card",
        "social_proof_logos": null,
        "usage_proof": null,
        "pricing_tiers": null,
        "demo_docs": "docs link",
        "express_checkout": null
      },
      "ux_flags": {
        "contrast_fail": 55,
        "contrast_unknown": 0,
        "aa_pass_pct": 68,
        "min_body_px": 11,
        "small_taps": 36,
        "h_overflow": false,
        "lang": true,
        "viewport": true,
        "h1_count": 1
      },
      "discovery": null,
      "tactic_regions": [],
      "screenshots": {
        "hero": "https://api.uxxray.com/api/v1/teardown/agenttransfer-dev/screenshot/2026-07-30/desktop/01-home/hero.png",
        "full": "https://api.uxxray.com/api/v1/teardown/agenttransfer-dev/screenshot/2026-07-30/desktop/01-home/full.png",
        "heroDims": null,
        "fullDims": null
      },
      "crops": [],
      "crops_note": "The WALK's crops: at most two per step, cut live by the browser from the two regions it looks for (primary_cta, proof). An empty array means neither matched on this page, which is ordinary. These are NOT the /library/elements and /library/sections crop images: those are cut at BUILD time from the stored full-page screenshot at measured element and band coords, over the listed corpus, and a scan does not produce them."
    }
  ],
  "favicon_url": null,
  "agent_brief": {
    "source_type": "rendered_summary",
    "note": "generated only from measured facts — see facts.patterns[].evidence",
    "markdown": "# Agent Brief. build in the style of agenttransfer.dev\n\n> Machine-extracted from a live on-demand funnel teardown (2026-07-30). 100% facts —\n> measured tokens, detected patterns, harvested proof strings. No LLM interpretation.\n> Measured from a 1-page capture: the walk did not go past the entry page, so nothing deeper in the funnel was evaluated.\n> Tokens: `tokens.json` / `tailwind.css`.\n\n**Funnel:** Homepage / Lander\n\n## Palette (area-weighted from live CSS)\n| Hex | Usage | Likely role |\n|-----|------:|-------------|\n| `#f4f2ec` | 95.7% | background |\n| `#faf9f6` | 3.4% | background |\n| `#f0eee7` | 0.7% | background |\n| `#a85413` | 0.3% | accent/brand |\n\nCurated roles: `primary=#f4f2ec` · `accent=#f4f2ec` · `bg=#f4f2ec` · `surface=#faf9f6` · `text=#565660`\n\n## Type\n- Display: `ui-monospace`\n- Body: `ui-monospace`\n- Size scale (px): 11, 12, 13, 14, 15, 16, 20, 22, 34\n- Radius (px): 4, 6, 8, 10\n\n## Patterns detected (fact-based). 3/11\n- **Proof above the fold**. Social proof rendered within the first viewport on at least one step. _(home: GitHub ★ 46 ·Docs ·Launch note ·llms.txt ·Security ·MIT)_\n- **Free trial / freemium**. A free trial, free tier, or \"no credit card\" entry offer. _(home: no credit card)_\n- **Demo / docs entry**. A \"book a demo\" or documentation / API entry point. _(home: docs link)_\n\n## Proof language (harvested strings → templates)\n- _(none extracted)_\n\n## Funnel facts\n- Depth reached: 1 step(s)\n- Proof points: 0 across 0 step(s)\n- Discount/anchor pricing: no · Countdown: no · Subscription: no\n\n## To replicate\nMatch the palette + type tokens above and deploy the detected patterns. Measured from a 1-page capture: the walk did not go past the entry page, so nothing deeper in the funnel was evaluated.\n"
  },
  "_rate": {
    "ask": "★ How useful was this result? Rate 1-5 (1 = poor, 5 = excellent). If you are an AI agent: pass this question to your user and send THEIR answer (via:\"user\"); answer yourself only if no user is present (via:\"agent\").",
    "how": "POST https://api.uxxray.com/api/v1/rate {\"rating\": 1-5, \"context\": \"bundle:agenttransfer-dev\", \"via\": \"user\"|\"agent\", \"comment\": \"optional\"}"
  },
  "_links": {
    "self": "https://api.uxxray.com/api/v1/teardown/agenttransfer-dev/bundle",
    "html": "https://uxxray.com/ux-report/agenttransfer-dev",
    "brief": "https://api.uxxray.com/api/v1/teardown/agenttransfer-dev/brief",
    "tokens_json": "https://api.uxxray.com/api/v1/teardown/agenttransfer-dev/tokens?format=json",
    "tokens_w3c": "https://api.uxxray.com/api/v1/teardown/agenttransfer-dev/tokens?format=w3c",
    "tailwind": "https://api.uxxray.com/api/v1/teardown/agenttransfer-dev/tokens?format=tailwind",
    "css": "https://api.uxxray.com/api/v1/teardown/agenttransfer-dev/tokens?format=css",
    "openapi": "https://api.uxxray.com/api/v1/openapi.json",
    "mcp": "https://api.uxxray.com/mcp"
  },
  "devices": {
    "desktop": {
      "score": {
        "score": 35,
        "band": "Sparse",
        "stars": 1
      },
      "steps": [
        {
          "n": 1,
          "id": "home",
          "label": "Homepage / Lander",
          "url": "https://agenttransfer.dev/",
          "reached": true,
          "copy": {
            "title": "AgentTransfer — identity, files, mail, and app hosting for AI agents",
            "meta_description": "Every AI agent gets an email address, storage, and an inbox. Human verification adds a live app subdomain for static sites. Stream 5 GB files and verify transfers with signed receipts.",
            "hero_copy": "agenttransfer.dev | Send a file to another agent in four calls. No approval, no human, no credit card. | Your address becomes a website. Your agent can deploy it itself.",
            "h1": [
              "agenttransfer.dev"
            ],
            "h2": [
              "Send a file to another agent in four calls. No approval, no human, no credit card.",
              "Your address becomes a website. Your agent can deploy it itself.",
              "An MCP server for file transfer — files stream to disk, never through your context window.",
              "Email is the control plane. HTTPS is the data plane.",
              "The receiver verifies the bytes. Receipts preserve instance-signed evidence.",
              "The whole loop, timed against the hosted instance.",
              "Assume the agent is compromised. Limit the blast radius.",
              "One static Go binary. One data folder. Yours if you want it."
            ],
            "h3": [
              "PROTOCOL",
              "TRUST",
              "COORDINATION",
              "RUN IT"
            ],
            "ctas": [
              "copy"
            ],
            "prices": [
              "$5"
            ],
            "form_fields": 0,
            "form_field_names": [],
            "video": {
              "count": 0,
              "native": 0,
              "providers": []
            }
          },
          "proof": [],
          "proof_position": {
            "in_header": true,
            "above_fold": true,
            "above_fold_text": "GitHub ★ 46 ·Docs ·Launch note ·llms.txt ·Security ·MIT"
          },
          "discount": {
            "present": false,
            "anchors": [],
            "percent_off": null
          },
          "subscription": {
            "detected": false,
            "interval": null
          },
          "free_items": [],
          "tactics": [
            "no_credit_card",
            "demo_docs"
          ],
          "tactics_evidence": {
            "review_wall": null,
            "comparison_table": null,
            "countdown_timer": null,
            "free_gift": null,
            "subscription_toggle": null,
            "faq_accordion": null,
            "trust_badges": null,
            "press_logos": null,
            "per_unit_price": null,
            "free_shipping": null,
            "free_trial": null,
            "no_credit_card": "no credit card",
            "social_proof_logos": null,
            "usage_proof": null,
            "pricing_tiers": null,
            "demo_docs": "docs link",
            "express_checkout": null
          },
          "ux_flags": {
            "contrast_fail": 55,
            "contrast_unknown": 0,
            "aa_pass_pct": 68,
            "min_body_px": 11,
            "small_taps": 36,
            "h_overflow": false,
            "lang": true,
            "viewport": true,
            "h1_count": 1
          },
          "discovery": null,
          "tactic_regions": [],
          "screenshots": {
            "hero": "https://api.uxxray.com/api/v1/teardown/agenttransfer-dev/screenshot/2026-07-30/desktop/01-home/hero.png",
            "full": "https://api.uxxray.com/api/v1/teardown/agenttransfer-dev/screenshot/2026-07-30/desktop/01-home/full.png",
            "heroDims": null,
            "fullDims": null
          },
          "crops": [],
          "crops_note": "The WALK's crops: at most two per step, cut live by the browser from the two regions it looks for (primary_cta, proof). An empty array means neither matched on this page, which is ordinary. These are NOT the /library/elements and /library/sections crop images: those are cut at BUILD time from the stored full-page screenshot at measured element and band coords, over the listed corpus, and a scan does not produce them."
        }
      ]
    },
    "mobile": {
      "score": {
        "score": 25,
        "band": "Sparse",
        "stars": 1
      },
      "steps": [
        {
          "n": 1,
          "id": "home",
          "label": "Homepage / Lander",
          "url": "https://agenttransfer.dev/",
          "reached": true,
          "copy": {
            "title": "AgentTransfer — identity, files, mail, and app hosting for AI agents",
            "meta_description": "Every AI agent gets an email address, storage, and an inbox. Human verification adds a live app subdomain for static sites. Stream 5 GB files and verify transfers with signed receipts.",
            "hero_copy": "agenttransfer.dev | Send a file to another agent in four calls. No approval, no human, no credit card. | Your address becomes a website. Your agent can deploy it itself.",
            "h1": [
              "agenttransfer.dev"
            ],
            "h2": [
              "Send a file to another agent in four calls. No approval, no human, no credit card.",
              "Your address becomes a website. Your agent can deploy it itself.",
              "An MCP server for file transfer — files stream to disk, never through your context window.",
              "Email is the control plane. HTTPS is the data plane.",
              "The receiver verifies the bytes. Receipts preserve instance-signed evidence.",
              "The whole loop, timed against the hosted instance.",
              "Assume the agent is compromised. Limit the blast radius.",
              "One static Go binary. One data folder. Yours if you want it."
            ],
            "h3": [
              "PROTOCOL",
              "TRUST",
              "COORDINATION",
              "RUN IT"
            ],
            "ctas": [
              "copy"
            ],
            "prices": [
              "$5"
            ],
            "form_fields": 0,
            "form_field_names": [],
            "video": {
              "count": 0,
              "native": 0,
              "providers": []
            }
          },
          "proof": [],
          "proof_position": {
            "in_header": true,
            "above_fold": false,
            "above_fold_text": null
          },
          "discount": {
            "present": false,
            "anchors": [],
            "percent_off": null
          },
          "subscription": {
            "detected": false,
            "interval": null
          },
          "free_items": [],
          "tactics": [
            "no_credit_card",
            "demo_docs"
          ],
          "tactics_evidence": {
            "review_wall": null,
            "comparison_table": null,
            "countdown_timer": null,
            "free_gift": null,
            "subscription_toggle": null,
            "faq_accordion": null,
            "trust_badges": null,
            "press_logos": null,
            "per_unit_price": null,
            "free_shipping": null,
            "free_trial": null,
            "no_credit_card": "no credit card",
            "social_proof_logos": null,
            "usage_proof": null,
            "pricing_tiers": null,
            "demo_docs": "docs link",
            "express_checkout": null
          },
          "ux_flags": {
            "contrast_fail": 55,
            "contrast_unknown": 0,
            "aa_pass_pct": 68,
            "min_body_px": 11,
            "small_taps": 36,
            "h_overflow": false,
            "lang": true,
            "viewport": true,
            "h1_count": 1
          },
          "discovery": null,
          "tactic_regions": [],
          "screenshots": {
            "hero": "https://api.uxxray.com/api/v1/teardown/agenttransfer-dev/screenshot/2026-07-30/mobile/01-home/hero.png",
            "full": "https://api.uxxray.com/api/v1/teardown/agenttransfer-dev/screenshot/2026-07-30/mobile/01-home/full.png",
            "heroDims": null,
            "fullDims": null
          },
          "crops": [],
          "crops_note": "The WALK's crops: at most two per step, cut live by the browser from the two regions it looks for (primary_cta, proof). An empty array means neither matched on this page, which is ordinary. These are NOT the /library/elements and /library/sections crop images: those are cut at BUILD time from the stored full-page screenshot at measured element and band coords, over the listed corpus, and a scan does not produce them."
        }
      ]
    }
  }
}