{
  "schema_version": "1.0",
  "generated_at": "2026-07-18T01:34:31.088Z",
  "slug": "paecto",
  "domain": "paecto.com",
  "funnel_type": "saas",
  "crawler": null,
  "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": 45,
    "band": "Thin",
    "stars": 2,
    "categories": [
      {
        "id": "offer",
        "label": "Offer clarity",
        "pts": 0,
        "cap": 8
      },
      {
        "id": "action",
        "label": "Action path",
        "pts": 12,
        "cap": 20
      },
      {
        "id": "trust",
        "label": "Trust & proof",
        "pts": 6,
        "cap": 11
      },
      {
        "id": "friction",
        "label": "Friction reduction",
        "pts": 10,
        "cap": 10
      },
      {
        "id": "value",
        "label": "Value reinforcement",
        "pts": 0,
        "cap": 10
      },
      {
        "id": "urgency",
        "label": "Risk reversal & urgency",
        "pts": 0,
        "cap": 0
      }
    ]
  },
  "percentile": {
    "corpus_n": 231,
    "beats_pct": 64,
    "cohort": {
      "type": "saas",
      "n": 151,
      "beats_pct": 49
    }
  },
  "devices_available": [
    "desktop"
  ],
  "funnels": [
    {
      "device": "desktop",
      "funnel_sig": null,
      "score": 45,
      "band": "Thin",
      "funnel_depth": 3,
      "captured_at": "2026-07-15",
      "crawler": null
    }
  ],
  "facts": {
    "source_type": "measured",
    "profile": {
      "funnel_type": "saas",
      "score": {
        "score": 45,
        "band": "Thin",
        "stars": 2,
        "categories": [
          {
            "id": "offer",
            "label": "Offer clarity",
            "pts": 0,
            "cap": 8
          },
          {
            "id": "action",
            "label": "Action path",
            "pts": 12,
            "cap": 20
          },
          {
            "id": "trust",
            "label": "Trust & proof",
            "pts": 6,
            "cap": 11
          },
          {
            "id": "friction",
            "label": "Friction reduction",
            "pts": 10,
            "cap": 10
          },
          {
            "id": "value",
            "label": "Value reinforcement",
            "pts": 0,
            "cap": 10
          },
          {
            "id": "urgency",
            "label": "Risk reversal & urgency",
            "pts": 0,
            "cap": 0
          }
        ]
      },
      "funnel_depth": 3,
      "proof_points": 1,
      "proof_steps": 1,
      "components_present": 6,
      "free_gifts": 0,
      "discount_present": true,
      "has_countdown": false,
      "subscription_detected": true,
      "checkout_form_fields": 0,
      "price_continuity": {
        "continuous": false,
        "shared": []
      },
      "tactics_detected": 4,
      "tactics_total": 9,
      "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": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "faq_objection",
        "label": "FAQ / objection handling",
        "category": "objection",
        "present": true,
        "count": 1,
        "evidence": [
          "home: Frequently asked questions"
        ]
      },
      {
        "id": "free_trial",
        "label": "Free trial / freemium",
        "category": "offer",
        "present": true,
        "count": 3,
        "evidence": [
          "home: free plan",
          "pricing: free plan",
          "signup: Free plan"
        ]
      },
      {
        "id": "lead_form",
        "label": "Lead-capture form",
        "category": "checkout",
        "present": true,
        "count": 1,
        "evidence": [
          "signup: text, text, email, password"
        ]
      },
      {
        "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": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "trusted_by_logos",
        "label": "Trusted-by logo wall",
        "category": "proof",
        "present": true,
        "count": 1,
        "evidence": [
          "home: trusted by"
        ]
      },
      {
        "id": "usage_proof",
        "label": "Usage / adoption proof",
        "category": "proof",
        "present": false,
        "count": 0,
        "evidence": []
      }
    ]
  },
  "design_tokens": {
    "source_type": "measured",
    "summary": {
      "roles": {
        "primary": "#ffffff",
        "accent": "#ffffff",
        "bg": "#ffffff",
        "surface": "#ffffff",
        "text": "#ffffff"
      },
      "font": {
        "display": "Inter",
        "body": "Inter",
        "families": [
          {
            "family": "Inter",
            "chars": 7952
          }
        ]
      },
      "type_scale": [
        9,
        10,
        11,
        12,
        14,
        16,
        18,
        20,
        24,
        30,
        36,
        48
      ],
      "weights": [
        400,
        500,
        600,
        700,
        900
      ],
      "base_size": 15,
      "min_size": 9,
      "radius_scale": [
        4,
        6,
        8,
        12,
        16,
        33554400
      ],
      "palette": [
        {
          "hex": "#ffffff",
          "usage_pct": 100,
          "lum": 1,
          "chroma": 0
        },
        {
          "hex": "#25d366",
          "usage_pct": 0,
          "lum": 0.65,
          "chroma": 0.68
        },
        {
          "hex": "#34d399",
          "usage_pct": 0,
          "lum": 0.68,
          "chroma": 0.62
        }
      ]
    }
  },
  "proof_language": [
    {
      "type": "discount",
      "template": "Save {N}%",
      "examples": [
        "Save 20%"
      ]
    }
  ],
  "ux": {
    "summary": {
      "flags": 2,
      "unknown": 0,
      "posture": "Minor",
      "checks_total": 6
    },
    "checks": [
      {
        "group": "contrast",
        "label": "Text contrast (WCAG AA)",
        "verdict": "needs_work",
        "fact": "0% of measurable text passes WCAG AA. 4+ runs fail. 46% of text was unmeasurable (over images/gradients). not counted either way.",
        "evidence": "worst: “Free trial →” at 1:1 (14px, #ffffff on #ffffff). 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 9px (base ~20px). 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": "9 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."
      },
      {
        "group": "a11y",
        "label": "Form labels",
        "verdict": "note",
        "fact": "5 form fields rely on placeholder text as the only label.",
        "fix": "Back placeholders with a real <label>. placeholder text vanishes on input."
      }
    ],
    "signals": {
      "contrast": {
        "sampled": 48,
        "pass_aa": 0,
        "fail_aa": 26,
        "unknown": 22,
        "worst": [
          {
            "text": "Free trial →",
            "ratio": 1,
            "fg": "#ffffff",
            "bg": "#ffffff",
            "need": 4.5,
            "px": 14
          },
          {
            "text": "View",
            "ratio": 1,
            "fg": "#ffffff",
            "bg": "#ffffff",
            "need": 4.5,
            "px": 10
          },
          {
            "text": "View",
            "ratio": 1,
            "fg": "#ffffff",
            "bg": "#ffffff",
            "need": 4.5,
            "px": 10
          },
          {
            "text": "WhatsApp or email —your choice.",
            "ratio": 1,
            "fg": "#ffffff",
            "bg": "#ffffff",
            "need": 3,
            "px": 30
          }
        ]
      },
      "typography": {
        "body_px": 20,
        "min_body_px": 9,
        "line_height": 1.43,
        "long_lines": 9,
        "distinct_sizes": 12
      },
      "a11y": {
        "lang": true,
        "viewport": true,
        "img_total": 0,
        "img_missing_alt": 0,
        "controls_total": 8,
        "controls_unlabeled": 0,
        "controls_placeholder_only": 5,
        "controls_unnamed": 0,
        "generic_links": 0,
        "h1_home": 1,
        "h1_counts": [
          1,
          1,
          1
        ],
        "heading_skips": 0
      },
      "tap_targets": {
        "checked": 159,
        "small": 113,
        "sample": [
          {
            "label": "Show",
            "w": 44,
            "h": 16
          },
          {
            "label": "Privacy Policy",
            "w": 79,
            "h": 15
          },
          {
            "label": "Terms of Service",
            "w": 97,
            "h": 15
          },
          {
            "label": "Blog",
            "w": 54,
            "h": 32
          }
        ]
      },
      "layout": {
        "h_overflow": false,
        "overflow_px": 0
      },
      "viewport_w": 1440
    }
  },
  "playbooks": [],
  "steps": [
    {
      "n": 1,
      "id": "home",
      "label": "Homepage / Lander",
      "url": "https://www.paecto.com/",
      "reached": true,
      "copy": {
        "title": "Logiciel gestion contrats, alertes auto sans Excel | Paecto",
        "meta_description": "Centralisez vos contrats d'assurance, maintenance et garantie. Alertes WhatsApp avant chaque tacite reconduction, extraction IA des PDF. Gratuit, RGPD.",
        "hero_copy": "Your contracts under control, no spreadsheet, no missed deadline. | In 30 seconds, your contract is imported, extracted, and tracked. | Everything you need to protect your assets",
        "h1": [
          "Your contracts under control, no spreadsheet, no missed deadline."
        ],
        "h2": [
          "In 30 seconds, your contract is imported, extracted, and tracked.",
          "Everything you need to protect your assets",
          "Trusted by people who own things",
          "Built for every situation",
          "Simple, honest pricing",
          "Why Paecto vs. your current solution?",
          "Managing assets for a team or portfolio?",
          "Frequently asked questions"
        ],
        "h3": [
          "Drop your PDF",
          "AI extracts everything",
          "WhatsApp or email — your choice.",
          "Smart alerts",
          "WhatsApp bot",
          "AI document parsing",
          "Price tracking",
          "Homeowners & renters"
        ],
        "ctas": [
          "🇬🇧",
          "🇫🇷",
          "🇪🇸",
          "🇮🇹",
          "🇵🇹",
          "Is my data safe?",
          "Can I import existing contracts?",
          "What happens if I forget to cancel a contract?",
          "Does it work for business assets?",
          "Is there a free plan?",
          "Can I cancel anytime?",
          "What types of contracts does it support?"
        ],
        "prices": [
          "€240"
        ],
        "form_fields": 2,
        "form_field_names": [
          "date",
          "select"
        ]
      },
      "proof": [],
      "proof_position": {
        "in_header": false,
        "above_fold": false
      },
      "discount": {
        "present": false,
        "anchors": [],
        "percent_off": null
      },
      "subscription": {
        "detected": true,
        "interval": null
      },
      "free_items": [],
      "tactics": [
        "review_wall",
        "faq_accordion",
        "trust_badges",
        "free_trial",
        "no_credit_card",
        "social_proof_logos"
      ],
      "tactics_evidence": {
        "review_wall": "15 star glyphs",
        "comparison_table": null,
        "countdown_timer": null,
        "free_gift": null,
        "subscription_toggle": null,
        "faq_accordion": "Frequently asked questions",
        "trust_badges": "30 day",
        "press_logos": null,
        "per_unit_price": null,
        "free_shipping": null,
        "free_trial": "free plan",
        "no_credit_card": "No credit card required",
        "social_proof_logos": "trusted by",
        "usage_proof": null,
        "pricing_tiers": null,
        "demo_docs": null,
        "express_checkout": null
      },
      "ux_flags": {
        "contrast_fail": 11,
        "contrast_unknown": 14,
        "aa_pass_pct": 0,
        "min_body_px": 9,
        "small_taps": 60,
        "h_overflow": false,
        "lang": true,
        "viewport": true,
        "h1_count": 1
      },
      "screenshots": {
        "hero": "https://api.uxxray.com/api/v1/teardown/paecto/screenshot/01-home/hero.png",
        "full": "https://api.uxxray.com/api/v1/teardown/paecto/screenshot/01-home/full.png"
      },
      "crops": [
        {
          "region": "primary_cta",
          "label": "Primary CTA",
          "url": "https://api.uxxray.com/api/v1/teardown/paecto/screenshot/01-home/crops/primary_cta.png"
        }
      ]
    },
    {
      "n": 2,
      "id": "pricing",
      "label": "Pricing",
      "url": "https://www.paecto.com/pricing",
      "reached": true,
      "copy": {
        "title": "Tarifs gestion contrats : gratuit, Personal 4,99€/mo | Paecto",
        "meta_description": "Tarifs Paecto pour gérer vos contrats : plan gratuit pour toujours, Personal à 4,99 €/mois, Family à 12,99 €. Essai 14 jours sans carte, RGPD.",
        "hero_copy": "Contract management pricing: free, from €4.99/mo | On WhatsApp, an assistant that knows all your contracts | For individuals & families",
        "h1": [
          "Contract management pricing: free, from €4.99/mo"
        ],
        "h2": [
          "On WhatsApp, an assistant that knows all your contracts",
          "For individuals & families",
          "Lifetime. 149€",
          "For professionals & teams",
          "Questions about pricing"
        ],
        "h3": [],
        "ctas": [
          "🇬🇧",
          "🇫🇷",
          "🇪🇸",
          "🇮🇹",
          "🇵🇹",
          "Monthly",
          "AnnualSave 20%",
          "Start free",
          "Start Personal",
          "Start Personal+",
          "Start Family",
          "Get Lifetime deal"
        ],
        "prices": [
          "€4.99",
          "€2"
        ],
        "form_fields": 0,
        "form_field_names": []
      },
      "proof": [
        {
          "type": "discount",
          "text": "Save 20%",
          "value": 20
        }
      ],
      "proof_position": {
        "in_header": false,
        "above_fold": false
      },
      "discount": {
        "present": true,
        "anchors": [],
        "percent_off": "Save 20%"
      },
      "subscription": {
        "detected": true,
        "interval": null
      },
      "free_items": [],
      "tactics": [
        "trust_badges",
        "free_trial",
        "no_credit_card"
      ],
      "tactics_evidence": {
        "review_wall": null,
        "comparison_table": null,
        "countdown_timer": null,
        "free_gift": null,
        "subscription_toggle": null,
        "faq_accordion": null,
        "trust_badges": "30 day",
        "press_logos": null,
        "per_unit_price": null,
        "free_shipping": null,
        "free_trial": "free plan",
        "no_credit_card": "no credit card required",
        "social_proof_logos": null,
        "usage_proof": null,
        "pricing_tiers": null,
        "demo_docs": null,
        "express_checkout": null
      },
      "ux_flags": {
        "contrast_fail": 14,
        "contrast_unknown": 8,
        "aa_pass_pct": 0,
        "min_body_px": 10,
        "small_taps": 48,
        "h_overflow": false,
        "lang": true,
        "viewport": true,
        "h1_count": 1
      },
      "screenshots": {
        "hero": "https://api.uxxray.com/api/v1/teardown/paecto/screenshot/02-pricing/hero.png",
        "full": "https://api.uxxray.com/api/v1/teardown/paecto/screenshot/02-pricing/full.png"
      },
      "crops": []
    },
    {
      "n": 3,
      "id": "signup",
      "label": "Signup",
      "url": "https://www.paecto.com/signup",
      "reached": true,
      "copy": {
        "title": "Créer un compte gratuit | Paecto",
        "meta_description": "Créez votre compte Paecto gratuitement. Sans carte bancaire — essai 14 jours sur tous les plans payants.",
        "hero_copy": "Create an account",
        "h1": [
          "Create an account"
        ],
        "h2": [],
        "h3": [],
        "ctas": [
          "Continue with Google",
          "Show",
          "Create my account"
        ],
        "prices": [],
        "form_fields": 6,
        "form_field_names": [
          "text",
          "text",
          "email",
          "password",
          "password",
          "checkbox"
        ]
      },
      "proof": [],
      "proof_position": {
        "in_header": false,
        "above_fold": false
      },
      "discount": {
        "present": false,
        "anchors": [],
        "percent_off": null
      },
      "subscription": {
        "detected": false,
        "interval": null
      },
      "free_items": [],
      "tactics": [
        "trust_badges",
        "free_trial",
        "no_credit_card"
      ],
      "tactics_evidence": {
        "review_wall": null,
        "comparison_table": null,
        "countdown_timer": null,
        "free_gift": null,
        "subscription_toggle": null,
        "faq_accordion": null,
        "trust_badges": "30 day",
        "press_logos": null,
        "per_unit_price": null,
        "free_shipping": null,
        "free_trial": "Free plan",
        "no_credit_card": "no credit card required",
        "social_proof_logos": null,
        "usage_proof": null,
        "pricing_tiers": null,
        "demo_docs": null,
        "express_checkout": null
      },
      "ux_flags": {
        "contrast_fail": 1,
        "contrast_unknown": 0,
        "aa_pass_pct": 0,
        "min_body_px": 12,
        "small_taps": 5,
        "h_overflow": false,
        "lang": true,
        "viewport": true,
        "h1_count": 1
      },
      "screenshots": {
        "hero": "https://api.uxxray.com/api/v1/teardown/paecto/screenshot/03-signup/hero.png",
        "full": "https://api.uxxray.com/api/v1/teardown/paecto/screenshot/03-signup/full.png"
      },
      "crops": []
    }
  ],
  "favicon_url": "https://api.uxxray.com/api/v1/teardown/paecto/favicon",
  "agent_brief": {
    "source_type": "rendered_summary",
    "note": "generated only from measured facts — see facts.patterns[].evidence",
    "markdown": "# Agent Brief. build in the style of paecto.com\n\n> Machine-extracted from a live on-demand funnel teardown (2026-07-15). 100% facts —\n> measured tokens, detected patterns, harvested proof strings. No LLM interpretation.\n> Single-page capture (MVP): homepage/landing page only, no funnel walk.\n> Tokens: `tokens.json` / `tailwind.css`.\n\n**Category (label):** —\n**Funnel:** Homepage / Lander → Pricing → Signup\n\n## Palette (area-weighted from live CSS)\n| Hex | Usage | Likely role |\n|-----|------:|-------------|\n| `#ffffff` | 100% | background |\n| `#25d366` | 0% | accent/brand |\n| `#34d399` | 0% | accent/brand |\n\nCurated roles: `primary=#ffffff` · `accent=#ffffff` · `bg=#ffffff` · `surface=#ffffff` · `text=#ffffff`\n\n## Type\n- Display: `Inter`\n- Body: `Inter`\n- Size scale (px): 9, 10, 11, 12, 14, 16, 18, 20, 24, 30, 36, 48\n- Radius (px): 4, 6, 8, 12, 16, 33554400\n\n## Patterns detected (fact-based). 4/9\n- **FAQ / objection handling**. An accordion / FAQ block answering objections. _(home: Frequently asked questions)_\n- **Free trial / freemium**. A free trial, free tier, or \"no credit card\" entry offer. _(home: free plan; pricing: free plan; signup: Free plan)_\n- **Trusted-by logo wall**. Customer/company logos or a \"trusted by / used by\" claim. _(home: trusted by)_\n- **Lead-capture form**. An on-page form collecting contact details (email / name / phone) outside a checkout. _(signup: text, text, email, password)_\n\n## Proof language (harvested strings → templates)\n- `Save {N}%`. e.g. \"Save 20%\"\n\n## Funnel facts\n- Depth reached: 3 step(s) (single-page MVP capture)\n- Proof points: 1 across 1 step(s)\n- Discount/anchor pricing: yes · Countdown: no · Subscription: yes\n\n## To replicate\nMatch the palette + type tokens above and deploy the detected patterns. This is a single-page capture. no cart/checkout tactics were 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:paecto\", \"via\": \"user\"|\"agent\", \"comment\": \"optional\"}"
  },
  "_links": {
    "self": "https://api.uxxray.com/api/v1/teardown/paecto/bundle",
    "html": "https://uxxray.com/ux-report/paecto",
    "brief": "https://api.uxxray.com/api/v1/teardown/paecto/brief",
    "tokens_json": "https://api.uxxray.com/api/v1/teardown/paecto/tokens?format=json",
    "tokens_w3c": "https://api.uxxray.com/api/v1/teardown/paecto/tokens?format=w3c",
    "tailwind": "https://api.uxxray.com/api/v1/teardown/paecto/tokens?format=tailwind",
    "css": "https://api.uxxray.com/api/v1/teardown/paecto/tokens?format=css",
    "openapi": "https://api.uxxray.com/api/v1/openapi.json",
    "mcp": "https://api.uxxray.com (MCP)"
  }
}