{
  "artifact": "reliability-scorecard",
  "schema_version": "1.0",
  "version": "TODO_VERSION",
  "verified_at": "2026-09-03",
  "valid_until": "2026-12-02",
  "published_at": "TODO_PUBLISH_DATE",
  "license": "CC-BY-4.0",
  "attribution": "TODO_PUBLISHER_NAME",
  "methodology_url": "TODO_BASE_URL/methodology-reliability-scorecard",
  "results_url": "TODO_BASE_URL/benchmark/2026-09/#reliability",

  "epistemic_status": {
    "type": "structured_document_review",
    "is_measurement": false,
    "confidence_intervals_apply": false,
    "assesses": "what each vendor has publicly committed to or made verifiable as of verified_at",
    "does_not_assess": [
      "whether a vendor will survive",
      "whether an API will continue to exist",
      "whether compliance controls function",
      "retrieval quality (see the separate retrieval benchmark artifact)"
    ],
    "low_score_meaning": "poor public disclosure, not poor practice",
    "weakest_dimension": "compliance",
    "weakest_dimension_note": "Several compliance scores rest on a trust center existing rather than a report being retrievable. Treat as an upper bound and read source_grade per artifact."
  },

  "scale": {
    "min": 0,
    "max": 4,
    "type": "ordinal",
    "direction": "higher_is_better",
    "composite_published": false,
    "composite_note": "No weighted composite, total, or overall rank is published. Any weighting would encode our judgement about a buyer we have not met."
  },

  "enums": {
    "evidence_state": {
      "observed": "The artifact was found and is present.",
      "observed_absent": "We checked where it would be and confirmed it is not there.",
      "not_disclosed": "Could not be determined from public sources. Not the same as confirmed missing."
    },
    "source_grade": {
      "directly_verifiable": "We retrieved the artifact ourselves and it is independently checkable.",
      "third_party_reported": "Sourced from a tracker, press report, or analysis we did not produce.",
      "vendor_claimed": "Asserted by the vendor with no independently checkable artifact behind it."
    },
    "score_state": {
      "scored": "A numeric score applies.",
      "insufficient_history": "The vendor has not existed long enough to generate the evidence this dimension requires. score is null, never 0."
    },
    "verification_status": {
      "verified": "Artifact retrieved by us on retrieved_at.",
      "pending": "Not yet independently retrieved. Score provisional."
    }
  },

  "missing_data_policy": {
    "observed_absent_scores_lower_than_not_disclosed": true,
    "rationale": "Collapsing the two would let opacity score better than honesty.",
    "inference_from_non_disclosure": false,
    "known_residual_bias": "Favours vendors with resources to maintain public documentation surfaces, which correlates with size and funding."
  },

  "dimensions": [
    {
      "id": "price_stability",
      "label": "Price stability",
      "signals": "How much a buyer's cost basis has moved, and how existing customers were treated when it did.",
      "window_months": 24,
      "anchors": {
        "4": "No adverse change in window, or a documented decrease. Full pricing public without signup. Existing customers honoured through term where a change occurred.",
        "3": "No adverse change, but material effective-price-drift exposure, or a documented pricing-page vs billing-docs discrepancy.",
        "2": "One price increase in window. Pricing public.",
        "1": "Free tier removed or price raised without grandfathering.",
        "0": "Pricing not publicly available without signup, or effective price moved without announcement."
      },
      "known_failure_mode": "Third-party pricing trackers lag and contradict each other in this category. Tracker figures locate a change, never establish one."
    },
    {
      "id": "supply_independence",
      "label": "Supply independence",
      "signals": "Whether the vendor can be cut off or repriced by an upstream it does not control.",
      "direction_note": "Inverted from buyer-facing 'dependency risk' so that higher is better on every axis.",
      "anchors": {
        "4": "Operates its own crawled index. Corroborated by a source other than the vendor.",
        "3": "Claims its own index without external corroboration, or operates its own index in a hybrid architecture with a disclosed third-party dependency.",
        "2": "Aggregates third-party sources, and discloses that it does.",
        "1": "Aggregates third-party sources without disclosing provenance.",
        "0": "Resells a single upstream, with active sector litigation over that relationship."
      },
      "known_failure_mode": "Crawler registries are verified-bot lists, not censuses. Presence of a named crawler is strong evidence; absence is weak evidence of anything.",
      "planned_strengthening": "Cross-provider result-set overlap computed offline from stored retrieval-benchmark responses would move several cells from vendor_claimed to directly_verifiable. Not yet run."
    },
    {
      "id": "documentation",
      "label": "Documentation and commitment",
      "signals": "Whether the vendor has made the operational commitments a production integration depends on.",
      "method": "Count of eight artifacts, present or absent. The most mechanical of the five dimensions.",
      "artifacts_checked": [
        "changelog_recent_90d",
        "status_page_with_history",
        "deprecation_policy_with_notice_period",
        "versioning_policy",
        "rate_limits_and_429_documented",
        "sla_with_uptime_pct_and_credits",
        "sdk_released_90d",
        "no_known_documentation_drift"
      ],
      "anchors": {
        "4": "8 of 8 artifacts present",
        "3": "6-7 of 8",
        "2": "4-5 of 8",
        "1": "2-3 of 8",
        "0": "0-1 of 8"
      },
      "known_failure_mode": "The 90-day recency window penalises a mature, stable product with nothing to announce. Raw count is published so readers can disagree."
    },
    {
      "id": "compliance",
      "label": "Compliance",
      "signals": "Whether the vendor clears the first filter of a standard vendor security review.",
      "anchors": {
        "4": "SOC 2 Type II and ISO 27001, live trust center, DPA available, zero data retention by default.",
        "3": "SOC 2 Type II, live trust center, zero data retention available.",
        "2": "Certification claimed as a badge with no trust center or retrievable artifact.",
        "1": "Privacy commitments only, no certification evidence.",
        "0": "Nothing disclosed."
      },
      "known_failure_mode": "Least objective of the five. Several scores rest on trust-center existence rather than a retrieved report. Treat as an upper bound.",
      "not_assessed": "Whether controls function. A SOC 2 Type II report is evidence controls were audited, not that they work for a given use case, and it does not remove sub-processor status or DPA obligations."
    },
    {
      "id": "procurement",
      "label": "Procurement maturity",
      "signals": "Whether an organisation with a procurement function can actually buy this, and how much friction it will meet.",
      "anchors": {
        "4": "Cloud marketplace listing plus enterprise contracting (MSA, DPA, security review).",
        "3": "MSA and enterprise tier with custom terms, no marketplace listing.",
        "2": "Enterprise tier exists, thin verifiable artifacts behind it.",
        "1": "Self-serve with a stated enterprise path.",
        "0": "Card-only self-serve, nothing further."
      },
      "known_failure_mode": "Logo walls counted as unsubstantiated unless corroborated by a case study, joint announcement, or marketplace listing. May understate vendors with enterprise customers under NDA."
    }
  ],

  "vendors": [
    {
      "id": "exa",
      "name": "Exa",
      "included_in_chart": true,
      "age_annotation": null,
      "age_basis": "TODO_VERIFY_FOUNDING_DATE"
    },
    {
      "id": "tavily",
      "name": "Tavily",
      "included_in_chart": true,
      "age_annotation": null,
      "age_basis": "TODO_VERIFY_FOUNDING_DATE",
      "ownership_note": "Acquired by Nebius, announced 2026-02-10."
    },
    {
      "id": "linkup",
      "name": "Linkup",
      "included_in_chart": true,
      "age_annotation": "founded 2024",
      "age_basis": "third_party_reported"
    },
    {
      "id": "you_com",
      "name": "You.com",
      "included_in_chart": true,
      "age_annotation": null,
      "age_basis": "TODO_VERIFY_FOUNDING_DATE"
    },
    {
      "id": "brave",
      "name": "Brave Search API",
      "included_in_chart": true,
      "age_annotation": null,
      "age_basis": "TODO_VERIFY_API_LAUNCH_DATE",
      "structural_note": "The search API is a monetisation surface for a browser business rather than the company's core product."
    },
    {
      "id": "keenable",
      "name": "Keenable",
      "included_in_chart": true,
      "age_annotation": "public 2 weeks",
      "age_basis": "third_party_reported",
      "age_conflict_ref": "keenable_timeline",
      "read_with_care": "Thin disclosure here reflects company age, not a deliberate choice. See missing_data_policy and score_state."
    },
    {
      "id": "serper",
      "name": "Serper",
      "included_in_chart": false,
      "exclusion_reason": "Scored at the floor on all five dimensions. A single all-zero row compresses the visual range of a five-axis chart without adding information.",
      "exclusion_caveat": "Removing an outlier also narrows the spread across the remaining six, which flatters them. The full scored row is retained here so the decision can be checked.",
      "retained_in": "retrieval benchmark, where raw Google organic serves as the index-independence reference vector"
    }
  ],

  "scores": [
    {
      "vendor_id": "exa",
      "dimension_id": "price_stability",
      "score": 2,
      "score_state": "scored",
      "rationale": "Base search moved $5 to $7 per 1,000 inside the window. Full pricing public. The transition date is not established: the 2026-03-03 changelog announces simplified and lowered pricing and fixes the $7 level on that date, it does not date the rise. Offsetting reductions on 2026-03-03 and 2026-07-14. Material effective-price-drift exposure.",
      "artifacts": [
        {
          "artifact_id": "price_level_7_established",
          "evidence_state": "observed",
          "source_grade": "directly_verifiable",
          "source_url": "https://exa.ai/docs/changelog/pricing-update",
          "retrieved_at": "2026-09-03",
          "verification_status": "verified",
          "note": "Changelog dated 2026-03-03 announces simplified and lowered pricing: contents bundled free for the first 10 search results, search with contents $7/1,000, additional results $1/1,000, summaries $1/1,000, Deep $12/1,000, new Deep Reasoning tier $15/1,000, applied automatically with no action needed. Establishes the price level on that date, not the date the level changed."
        },
        {
          "artifact_id": "price_anchor_5_window_start",
          "evidence_state": "observed",
          "source_grade": "vendor_claimed",
          "source_url": "TODO_EXA_HN_COMMENT_URL",
          "retrieved_at": "2026-09-03",
          "verification_status": "pending",
          "note": "The $5 baseline rests only on a 2025 forum comment by a team member and is not independently checkable. Regraded from directly_verifiable."
        },
        {
          "artifact_id": "price_increase_base_search",
          "evidence_state": "observed",
          "source_grade": "vendor_claimed",
          "source_url": "TODO_EXA_ARCHIVE_CAPTURES",
          "retrieved_at": "2026-09-03",
          "verification_status": "pending",
          "note": "The rise is real but undated. Re-derive from Internet Archive captures of exa.ai/pricing between the 2025 $5 citation and 2026-03-03. See conflict exa_increase_date, which now carries three competing dates."
        },
        {
          "artifact_id": "pricing_public_without_signup",
          "evidence_state": "observed",
          "source_grade": "directly_verifiable",
          "source_url": "TODO_EXA_PRICING_URL",
          "retrieved_at": "2026-09-03",
          "verification_status": "pending"
        },
        {
          "artifact_id": "grandfathering_behaviour",
          "evidence_state": "observed",
          "source_grade": "directly_verifiable",
          "source_url": "https://exa.ai/docs/changelog/pricing-update",
          "retrieved_at": "2026-09-03",
          "verification_status": "verified",
          "note": "New pricing applied automatically, no customer action required."
        },
        {
          "artifact_id": "effective_price_drift_exposure",
          "evidence_state": "observed",
          "source_grade": "third_party_reported",
          "source_url": "TODO_EXA_PRICING_URL",
          "retrieved_at": "2026-09-03",
          "verification_status": "pending",
          "note": "Flagged on the cell regardless of score: surcharge above 10 results, per-content-type billing, metered Agent runs against a $5 default cap, and Connect provider passthrough."
        }
      ]
    },
    {
      "vendor_id": "exa",
      "dimension_id": "supply_independence",
      "score": 4,
      "score_state": "scored",
      "rationale": "Operates its own neural index, corroborated by third-party analysis of result composition and by presence of a named crawler in public AI-crawler registries.",
      "artifacts": [
        {
          "artifact_id": "own_index_claim",
          "evidence_state": "observed",
          "source_grade": "vendor_claimed",
          "source_url": "TODO_EXA_INDEX_URL",
          "retrieved_at": "2026-09-03",
          "verification_status": "pending"
        },
        {
          "artifact_id": "named_crawler_in_registry",
          "evidence_state": "observed",
          "source_grade": "third_party_reported",
          "source_url": "https://github.com/ai-robots-txt/ai.robots.txt",
          "retrieved_at": "2026-09-03",
          "verification_status": "verified",
          "note": "ExaBot listed."
        },
        {
          "artifact_id": "third_party_corroboration",
          "evidence_state": "observed",
          "source_grade": "third_party_reported",
          "source_url": "TODO_CLORO_URL",
          "retrieved_at": "2026-09-03",
          "verification_status": "pending",
          "note": "Domain-diversity analysis across 500 queries."
        }
      ]
    },
    {
      "vendor_id": "exa",
      "dimension_id": "documentation",
      "score": 2,
      "artifact_count": 5,
      "artifact_count_max": 8,
      "score_state": "scored",
      "artifacts": [
        { "artifact_id": "changelog_recent_90d", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": "https://exa.ai/docs/changelog/pricing-update", "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "status_page_with_history", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": "https://status.exa.ai", "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Per-component uptime shown. Long-run retained history to confirm." },
        { "artifact_id": "deprecation_policy_with_notice_period", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "versioning_policy", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "OpenAPI specs and a Bing migration guide exist; no stated support window for old versions." },
        { "artifact_id": "rate_limits_and_429_documented", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": "TODO_EXA_RATE_LIMITS_URL", "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "sla_with_uptime_pct_and_credits", "evidence_state": "observed_absent", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "SLAs referenced on enterprise tier; no published uptime percentage or credit schedule." },
        { "artifact_id": "sdk_released_90d", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": "TODO_EXA_NPM_URL", "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "no_known_documentation_drift", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" }
      ]
    },
    {
      "vendor_id": "exa",
      "dimension_id": "compliance",
      "score": 3,
      "score_state": "scored",
      "rationale": "SOC 2 Type II, live trust center, DPA, HIPAA with BAA, zero data retention on enterprise. No ISO 27001 surfaced.",
      "artifacts": [
        { "artifact_id": "soc2_type_ii", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": "https://trust.exa.ai", "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Report not yet retrieved. Score provisional per epistemic_status.weakest_dimension_note." },
        { "artifact_id": "iso_27001", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "trust_center", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": "https://trust.exa.ai", "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "dpa_available", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": "https://trust.exa.ai", "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "zero_data_retention", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Enterprise tier only." },
        { "artifact_id": "hipaa_baa", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" }
      ]
    },
    {
      "vendor_id": "exa",
      "dimension_id": "procurement",
      "score": 3,
      "score_state": "scored",
      "rationale": "MSAs, enterprise billing, volume discounts, named customers. No cloud marketplace listing found.",
      "artifacts": [
        { "artifact_id": "msa_available", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": "TODO_EXA_ENTERPRISE_URL", "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "cloud_marketplace_listing", "evidence_state": "observed_absent", "source_grade": "directly_verifiable", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "enterprise_tier", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": "TODO_EXA_ENTERPRISE_URL", "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "named_reference_customers", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Logos only; not counted as substantiated." }
      ]
    },

    {
      "vendor_id": "tavily",
      "dimension_id": "price_stability",
      "score": 4,
      "score_state": "scored",
      "rationale": "No recorded rate change in the window. Earliest preserved pricing capture matches the current structure. Pricing stable through the Nebius acquisition.",
      "artifacts": [
        { "artifact_id": "no_adverse_change_24m", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": "https://www.usagepricing.com/blueprint/tavily", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "Wayback-derived. Verify against live pricing page before publication." },
        { "artifact_id": "pricing_public_without_signup", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": "TODO_TAVILY_PRICING_URL", "retrieved_at": "2026-09-03", "verification_status": "pending" }
      ]
    },
    {
      "vendor_id": "tavily",
      "dimension_id": "supply_independence",
      "score": 2,
      "score_state": "scored",
      "rationale": "Aggregates third-party retrieval rather than operating a general web-scale index. Provenance is disclosed only indirectly.",
      "artifacts": [
        { "artifact_id": "own_index_claim", "evidence_state": "observed_absent", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Claim that Tavily runs no general index originates from a competitor comparison page. Weak source; requires corroboration before publication." },
        { "artifact_id": "named_crawler_in_registry", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" }
      ]
    },
    {
      "vendor_id": "tavily",
      "dimension_id": "documentation",
      "score": 1,
      "artifact_count": 3,
      "artifact_count_max": 8,
      "score_state": "scored",
      "artifacts": [
        { "artifact_id": "changelog_recent_90d", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "status_page_with_history", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "deprecation_policy_with_notice_period", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "versioning_policy", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "rate_limits_and_429_documented", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": "TODO_TAVILY_RATE_LIMITS_URL", "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Overage billed rather than cut off." },
        { "artifact_id": "sla_with_uptime_pct_and_credits", "evidence_state": "observed_absent", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Enterprise SLAs referenced; no published uptime percentage." },
        { "artifact_id": "sdk_released_90d", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "no_known_documentation_drift", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" }
      ]
    },
    {
      "vendor_id": "tavily",
      "dimension_id": "compliance",
      "score": 4,
      "score_state": "scored",
      "rationale": "SOC 2 Type II and ISO 27001, Vanta-powered trust center, zero data retention by default, GDPR with SCCs.",
      "artifacts": [
        { "artifact_id": "soc2_type_ii", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": "https://trust.tavily.com", "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "iso_27001", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": "https://x.com/tavilyai/status/2074874442795163964", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "Announced by vendor. Certificate not retrieved." },
        { "artifact_id": "trust_center", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": "https://trust.tavily.com", "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "zero_data_retention", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "By default on every plan." },
        { "artifact_id": "dpa_available", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": "https://trust.tavily.com", "retrieved_at": "2026-09-03", "verification_status": "pending" }
      ]
    },
    {
      "vendor_id": "tavily",
      "dimension_id": "procurement",
      "score": 4,
      "score_state": "scored",
      "rationale": "AWS Marketplace and IBM Cloud listings, enterprise tier with security review, substantiated named customers.",
      "artifacts": [
        { "artifact_id": "cloud_marketplace_listing", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": "https://aws.amazon.com/marketplace/pp/prodview-myijjwd7qoky4", "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "enterprise_tier", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "named_reference_customers", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "IBM and Databricks partnerships are corroborated by joint listings; other logos are not." },
        { "artifact_id": "security_review_support", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" }
      ]
    },

    {
      "vendor_id": "linkup",
      "dimension_id": "price_stability",
      "score": 3,
      "score_state": "scored",
      "rationale": "No adverse rate change in the window. Recurring monthly credit. Downgraded from 4 by a long-standing documented discrepancy between the marketing page and billing docs on deep search, closed 2026-07-14, and by a new Extract endpoint with undisclosed variable pricing.",
      "artifacts": [
        { "artifact_id": "no_adverse_change_24m", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": "https://www.usagepricing.com/blueprint/linkup", "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "pricing_doc_discrepancy", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": "https://www.usagepricing.com/blueprint/linkup", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "10x deep-search discrepancy closed 2026-07-14." },
        { "artifact_id": "effective_price_drift_exposure", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": "https://www.usagepricing.com/blueprint/linkup", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "Extract endpoint cost variable, revealed after the fact as creditsUsed." }
      ]
    },
    {
      "vendor_id": "linkup",
      "dimension_id": "supply_independence",
      "score": 3,
      "score_state": "scored",
      "rationale": "Own proprietary index, but a disclosed hybrid architecture using selected third-party LLMs for interpretation and synthesis.",
      "artifacts": [
        { "artifact_id": "own_index_claim", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": "https://docs.linkup.so/pages/documentation/get-started/introduction", "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "third_party_llm_dependency", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "named_crawler_in_registry", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Cloudflare verified-bot partnership claimed by vendor; registry entry not confirmed." }
      ]
    },
    {
      "vendor_id": "linkup",
      "dimension_id": "documentation",
      "score": 2,
      "artifact_count": 4,
      "artifact_count_max": 8,
      "score_state": "scored",
      "artifacts": [
        { "artifact_id": "changelog_recent_90d", "evidence_state": "observed_absent", "source_grade": "directly_verifiable", "source_url": "https://docs.linkup.so/pages/changelog/fetch-endpoint", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "Changelog exists; most recent confirmable dated entry is 2025-09-12. Newer features referenced without date stamps." },
        { "artifact_id": "status_page_with_history", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": "https://status.linkup.so", "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Live status shown; long-run uptime percentage not surfaced." },
        { "artifact_id": "deprecation_policy_with_notice_period", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "versioning_policy", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "rate_limits_and_429_documented", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": "https://docs.linkup.so/pages/documentation/development/rate-limits", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "10 QPS per organisation. 429 returned when credits exhausted; no credit charged on errors." },
        { "artifact_id": "sla_with_uptime_pct_and_credits", "evidence_state": "observed_absent", "source_grade": "directly_verifiable", "source_url": "https://docs.linkup.so/pages/security-and-privacy/security-compliance", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "Incident notification commitment within 72 hours; no public uptime percentage or credit schedule." },
        { "artifact_id": "sdk_released_90d", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": "https://pypi.org/project/linkup-sdk/", "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "no_known_documentation_drift", "evidence_state": "observed_absent", "source_grade": "third_party_reported", "source_url": "https://www.usagepricing.com/blueprint/linkup", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "Deep-search pricing discrepancy, since corrected." }
      ]
    },
    {
      "vendor_id": "linkup",
      "dimension_id": "compliance",
      "score": 3,
      "score_state": "scored",
      "rationale": "SOC 2 Type II and ISO 27001 claimed, trust center exists, BYOC available. Certificates not independently verified and DPA availability not confirmed on accessible public pages.",
      "artifacts": [
        { "artifact_id": "soc2_type_ii", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": "https://docs.linkup.so/pages/security-and-privacy/security-compliance", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "Bullet-point claim. Auditor and report not identified." },
        { "artifact_id": "iso_27001", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": "https://docs.linkup.so/pages/security-and-privacy/security-compliance", "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "trust_center", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": "https://trust.linkup.so", "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "zero_data_retention", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": "https://docs.linkup.so/pages/security-and-privacy/security-compliance", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "Docs describe ZDR as available on request; marketing describes it as default. Mild inconsistency." },
        { "artifact_id": "dpa_available", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "byoc_or_self_host", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": "https://docs.linkup.so/pages/security-and-privacy/security-compliance", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "Full index runs inside the customer VPC. Unique in this field." }
      ]
    },
    {
      "vendor_id": "linkup",
      "dimension_id": "procurement",
      "score": 3,
      "score_state": "scored",
      "rationale": "Enterprise custom plans with SSO, RBAC and IP allowlisting. No cloud marketplace listing. Named customers are unverified logos.",
      "artifacts": [
        { "artifact_id": "enterprise_tier", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "enterprise_access_controls", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": "https://docs.linkup.so/pages/security-and-privacy/security-compliance", "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "cloud_marketplace_listing", "evidence_state": "observed_absent", "source_grade": "directly_verifiable", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "named_reference_customers", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Logos only; not counted as substantiated." }
      ]
    },

    {
      "vendor_id": "you_com",
      "dimension_id": "price_stability",
      "score": 4,
      "score_state": "scored",
      "rationale": "No adverse change in the window. Two documented decreases and two free-tier expansions, existing customers honoured, full pricing public, which is anchor 4. Held at 4 unless the reported gap between the pricing page and the Search API docs over the 100-calls-per-day quota is confirmed against the live docs, in which case anchor 3 applies: a documented pricing-page-versus-billing-docs discrepancy triggers it regardless of which way it favours the buyer.",
      "score_conditional": {
        "alternative_score": 3,
        "condition": "Confirmed discrepancy between the pricing page and the Search API docs on the 100-calls-per-day free quota.",
        "status": "unverified"
      },
      "artifacts": [
        { "artifact_id": "launch_pricing_2025_10", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "2025-10. API platform launch: Web Search $6.25/1,000 for 1-50 results and $8.00/1,000 for 50-100, Contents $10.00/1,000 pages. Tracker and Archive sourced; must be verified before publication." },
        { "artifact_id": "research_api_launch", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "2026-03-03. Research API launches; its rates have not moved since." },
        { "artifact_id": "price_decrease", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": "https://about.you.com/resources/lower-search-api-cost", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "2026-03-11. Web Search consolidates to a flat $5/1,000 for up to 100 results and Contents drops to $1/1,000 pages, effective immediately, billed at the new rates from 2026-03-12. This is a reduction." },
        { "artifact_id": "grandfathering_behaviour", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": "https://about.you.com/resources/lower-search-api-cost", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "Existing pay-as-you-go and grandfathered monthly and yearly plans moved automatically to the lower rates. Enterprise and custom contracts honoured through end of term. Existing credits carried over." },
        { "artifact_id": "frontier_tier_published", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "2026-07-22. Frontier research tier published on the pricing page at $1,200/1,000, with the docs following 2026-07-29." },
        { "artifact_id": "free_tier_expansion", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "By the 2026-07-29 capture, Search is free for the first 100 calls per day and $5/1,000 thereafter." }
      ]
    },
    {
      "vendor_id": "you_com",
      "dimension_id": "supply_independence",
      "score": 1,
      "score_state": "scored",
      "rationale": "Aggregates third-party sources and does not disclose index provenance.",
      "artifacts": [
        { "artifact_id": "own_index_claim", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "provenance_disclosure", "evidence_state": "observed_absent", "source_grade": "directly_verifiable", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" }
      ]
    },
    {
      "vendor_id": "you_com",
      "dimension_id": "documentation",
      "score": 1,
      "artifact_count": 2,
      "artifact_count_max": 8,
      "score_state": "scored",
      "artifacts": [
        { "artifact_id": "changelog_recent_90d", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "status_page_with_history", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "deprecation_policy_with_notice_period", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "versioning_policy", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "rate_limits_and_429_documented", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "sla_with_uptime_pct_and_credits", "evidence_state": "observed_absent", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "sdk_released_90d", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "no_known_documentation_drift", "evidence_state": "observed_absent", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "API docs pricing section not updated to reflect the free daily quota change." }
      ]
    },
    {
      "vendor_id": "you_com",
      "dimension_id": "compliance",
      "score": 2,
      "score_state": "scored",
      "rationale": "SOC 2 Type 2 claimed as a site badge. No trust center, no retrievable artifact, no published ZDR or residency detail.",
      "artifacts": [
        { "artifact_id": "soc2_type_ii", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": "https://home.you.com/blog", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "Site footer badge only." },
        { "artifact_id": "trust_center", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "zero_data_retention", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Automatic data purge claimed; scope not documented." },
        { "artifact_id": "iso_27001", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" }
      ]
    },
    {
      "vendor_id": "you_com",
      "dimension_id": "procurement",
      "score": 2,
      "score_state": "scored",
      "rationale": "Enterprise tier and custom contracts exist. No marketplace listing, no verifiable compliance artifacts behind the enterprise path, customer claims unsubstantiated.",
      "artifacts": [
        { "artifact_id": "enterprise_tier", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "cloud_marketplace_listing", "evidence_state": "observed_absent", "source_grade": "directly_verifiable", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "named_reference_customers", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Fortune 500 adoption claim unverified." }
      ]
    },

    {
      "vendor_id": "brave",
      "dimension_id": "price_stability",
      "score": 1,
      "score_state": "scored",
      "rationale": "Free tier live since May 2023 at 2,000 queries/month, raised to 5,000 under the August 2025 AI Grounding update, removed February 2026 and replaced by $5 in monthly credits worth roughly 1,000 searches, billed at $5 per 1,000 requests. The same event added an attribution requirement that did not previously apply, which is a second adverse element under section 2.3. Existing free-plan subscribers at 2,000 queries/month reportedly retained access, which is partial grandfathering; see anchor_gap.",
      "anchor_gap": {
        "issue": "Neither anchor fits cleanly. Anchor 1 assumes grandfathering is absent, and anchor 2 assumes a price increase rather than a tier removal. The reported partial retention of existing free-plan subscribers sits between them.",
        "resolution": "Held at 1. The score does not carry this judgement; it is recorded here and in the revision log.",
        "blocking": "The retention claim rests on a third-party post and must be verified against Brave's own announcement."
      },
      "artifacts": [
        { "artifact_id": "free_tier_history", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Free tier available since May 2023 at 2,000 queries/month; raised to 5,000 queries/month in August 2025 under the AI Grounding update." },
        { "artifact_id": "free_tier_removal", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": "https://www.implicator.ai/brave-drops-free-search-api-tier-puts-all-developers-on-metered-billing/", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "February 2026. Replaced by $5 in monthly credits, roughly 1,000 searches, billed at $5 per 1,000 requests. TODO_BRAVE_ANNOUNCEMENT_URL and the full ISO date are required by the conventions and are still missing." },
        { "artifact_id": "attribution_requirement_added", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": "https://www.implicator.ai/brave-drops-free-search-api-tier-puts-all-developers-on-metered-billing/", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "A restriction that did not previously apply: the Brave Search API must be attributed on the project's site or about pages. Counted as a second adverse element of the February 2026 event under section 2.3, not as a separate event." },
        { "artifact_id": "grandfathering_behaviour", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": "https://agentdeals.dev/vendor/brave-search-api", "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Partial. Existing free-plan subscribers at 2,000 queries/month reportedly retained access. Regraded from observed_absent, which overstated what the sources support. Must be checked against Brave's own announcement." },
        { "artifact_id": "pricing_public_without_signup", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "See conflict brave_pricing_trackers. Two genuine tracker errors remain after endpoint scope is accounted for. Must be verified against the live page before publication." },
        { "artifact_id": "free_credit_conditional", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": "https://www.implicator.ai/brave-drops-free-search-api-tier-puts-all-developers-on-metered-billing/", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "Free credit conditional on displaying Brave attribution." }
      ]
    },
    {
      "vendor_id": "brave",
      "dimension_id": "supply_independence",
      "score": 4,
      "score_state": "scored",
      "rationale": "Operates its own independent index, built without reliance on Google or Bing. Named crawler present in public AI-crawler registries.",
      "artifacts": [
        { "artifact_id": "own_index_claim", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": "https://freeapihub.com/apis/brave-search-api", "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "named_crawler_in_registry", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": "https://github.com/ai-robots-txt/ai.robots.txt", "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "Bravebot listed." }
      ]
    },
    {
      "vendor_id": "brave",
      "dimension_id": "documentation",
      "score": 1,
      "artifact_count": 2,
      "artifact_count_max": 8,
      "score_state": "scored",
      "artifacts": [
        { "artifact_id": "changelog_recent_90d", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "status_page_with_history", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "deprecation_policy_with_notice_period", "evidence_state": "observed_absent", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "The February 2026 free-tier removal was communicated via a pricing-page change and blog post rather than a contractual notice window." },
        { "artifact_id": "versioning_policy", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "rate_limits_and_429_documented", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": "https://freeapihub.com/apis/brave-search-api", "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "50 req/sec on the Search plan." },
        { "artifact_id": "sla_with_uptime_pct_and_credits", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "sdk_released_90d", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "no_known_documentation_drift", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" }
      ]
    },
    {
      "vendor_id": "brave",
      "dimension_id": "compliance",
      "score": 1,
      "score_state": "scored",
      "rationale": "Zero data retention offered to enterprise customers only, DPA governs standard data use, GDPR handling documented via DPO contact. No SOC 2 or ISO certification surfaced.",
      "artifacts": [
        { "artifact_id": "soc2_type_ii", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "iso_27001", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "trust_center", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "zero_data_retention", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Enterprise tier only." },
        { "artifact_id": "dpa_available", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" }
      ]
    },
    {
      "vendor_id": "brave",
      "dimension_id": "procurement",
      "score": 2,
      "score_state": "scored",
      "rationale": "Enterprise and bespoke plans with custom terms and endpoints. DPA available. No marketplace listing confirmed.",
      "artifacts": [
        { "artifact_id": "enterprise_tier", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "cloud_marketplace_listing", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Bedrock integration exists but is not a marketplace listing of the API itself." },
        { "artifact_id": "dpa_available", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" }
      ]
    },

    {
      "vendor_id": "keenable",
      "dimension_id": "price_stability",
      "score": null,
      "score_state": "insufficient_history",
      "rationale": "Publicly available for approximately two weeks at the verification date. No pricing history exists to assess. Scoring this as 0 would be a category error.",
      "artifacts": []
    },
    {
      "vendor_id": "keenable",
      "dimension_id": "supply_independence",
      "score": 3,
      "score_state": "scored",
      "rationale": "Claims its own independent index of more than 100 billion documents. No external corroboration available.",
      "artifacts": [
        { "artifact_id": "own_index_claim", "evidence_state": "observed", "source_grade": "vendor_claimed", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "named_crawler_in_registry", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Absence expected given company age. Weak evidence either way." }
      ]
    },
    {
      "vendor_id": "keenable",
      "dimension_id": "documentation",
      "score": 0,
      "artifact_count": 1,
      "artifact_count_max": 8,
      "score_state": "scored",
      "read_with_care": "Company age. Thin disclosure at two weeks is not comparable to thin disclosure at five years.",
      "artifacts": [
        { "artifact_id": "changelog_recent_90d", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "status_page_with_history", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "deprecation_policy_with_notice_period", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "versioning_policy", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "rate_limits_and_429_documented", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "sla_with_uptime_pct_and_credits", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "sdk_released_90d", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending" },
        { "artifact_id": "no_known_documentation_drift", "evidence_state": "observed", "source_grade": "directly_verifiable", "source_url": "https://docs.keenable.ai/", "retrieved_at": "2026-09-03", "verification_status": "pending" }
      ]
    },
    {
      "vendor_id": "keenable",
      "dimension_id": "compliance",
      "score": 0,
      "score_state": "scored",
      "read_with_care": "Company age.",
      "artifacts": [
        { "artifact_id": "soc2_type_ii", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "iso_27001", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "trust_center", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "zero_data_retention", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" }
      ]
    },
    {
      "vendor_id": "keenable",
      "dimension_id": "procurement",
      "score": 1,
      "score_state": "scored",
      "rationale": "Cloud and dedicated-capacity options mentioned, constituting a stated enterprise path. No MSA, DPA, invoicing or marketplace evidence.",
      "artifacts": [
        { "artifact_id": "enterprise_tier", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Dedicated-capacity option referenced in launch coverage." },
        { "artifact_id": "cloud_marketplace_listing", "evidence_state": "not_disclosed", "source_grade": null, "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "named_reference_customers", "evidence_state": "observed_absent", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "Unnamed AI labs only." }
      ]
    },

    {
      "vendor_id": "serper",
      "dimension_id": "price_stability",
      "score": 0,
      "score_state": "scored",
      "excluded_from_chart": true,
      "rationale": "Public pricing page returns 404 and pack prices appear only after signup. Credits expire six months after purchase. Effective price doubled for deep queries following an upstream change, without a vendor announcement.",
      "artifacts": [
        { "artifact_id": "pricing_public_without_signup", "evidence_state": "observed_absent", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Third-party verified 2026-07-17. Must be verified directly before publication; this is a load-bearing zero." },
        { "artifact_id": "effective_price_drift_exposure", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "11-100 results now bill 2 credits following removal of num=100 upstream." }
      ]
    },
    {
      "vendor_id": "serper",
      "dimension_id": "supply_independence",
      "score": 0,
      "score_state": "scored",
      "excluded_from_chart": true,
      "rationale": "Resells Google SERP data. Active litigation in the sector over exactly this relationship.",
      "artifacts": [
        { "artifact_id": "own_index_claim", "evidence_state": "observed_absent", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified" },
        { "artifact_id": "sector_litigation", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "verified", "note": "Google v. SerpApi, N.D. Cal. 5:25-cv-10826, filed 2025-12-19, unresolved. Serper is not a named party." }
      ]
    },
    {
      "vendor_id": "serper",
      "dimension_id": "documentation",
      "score": 0,
      "artifact_count": 1,
      "artifact_count_max": 8,
      "score_state": "scored",
      "excluded_from_chart": true,
      "artifacts": [
        { "artifact_id": "rate_limits_and_429_documented", "evidence_state": "observed", "source_grade": "third_party_reported", "source_url": null, "retrieved_at": "2026-09-03", "verification_status": "pending", "note": "Speed tiers 50-300 QPS by pack. 429 behaviour not documented." }
      ]
    },
    {
      "vendor_id": "serper",
      "dimension_id": "compliance",
      "score": 0,
      "score_state": "scored",
      "excluded_from_chart": true,
      "rationale": "No certification, trust center, ZDR or DPA found. This is absence of evidence and must be verified directly before publication.",
      "artifacts": []
    },
    {
      "vendor_id": "serper",
      "dimension_id": "procurement",
      "score": 0,
      "score_state": "scored",
      "excluded_from_chart": true,
      "rationale": "Prepaid credit packs, card-only self-serve. No MSA, DPA, invoicing, marketplace listing or substantiated reference customers found.",
      "artifacts": []
    }
  ],

  "conflicts": [
    {
      "id": "brave_pricing_trackers",
      "subject": "Brave pricing and free tier",
      "affects": [{ "vendor_id": "brave", "dimension_id": "price_stability" }],
      "positions": [
        { "claim": "Search $5 per 1,000 requests; Answers $4 per 1,000 plus $5 per million tokens; per-query rates $0.003 to $0.005 depending on endpoint", "source": "vendor announcement", "as_of": "2026-02-12", "status": "reference_position", "note": "TODO_BRAVE_ANNOUNCEMENT_URL and the full ISO date are required by the conventions and are still missing." },
        { "claim": "Base plan around $3 per 1,000", "source": "apicostcalc", "as_of": "2026-08-15", "status": "endpoint_scope", "note": "Reclassified. Falls inside the $0.003 to $0.005 per-query range and reflects a different endpoint, not a disagreement about price." },
        { "claim": "$4-5 per 1,000", "source": "costbench", "as_of": "2026-08-17", "status": "endpoint_scope", "note": "Reclassified. Matches the Answers endpoint rather than Search." },
        { "claim": "Pricing entirely sales-led; no self-serve tiers published", "source": "xpay", "as_of": "2026-05-03", "status": "tracker_error" },
        { "claim": "Free forever plan still listed", "source": "apicostcalc", "as_of": "2026-08-17", "status": "tracker_error", "note": "The free tier was removed in February 2026." }
      ],
      "handling": "Vendor primary source used. Two of the three original tracker positions were endpoint scope rather than conflict and are reclassified. Two genuine tracker errors remain and are published: the sales-led claim and a free-forever listing that postdates the tier's removal."
    },
    {
      "id": "you_com_tracker_vs_vendor",
      "subject": "You.com Search API rate",
      "affects": [{ "vendor_id": "you_com", "dimension_id": "price_stability" }],
      "positions": [
        { "claim": "Web Search $6.25 per 1,000 for 1-50 results and $8.00 per 1,000 for 50-100; Contents $10.00 per 1,000 pages", "source": "tracker and Archive captures", "as_of": "2025-10", "status": "superseded", "note": "Launch pricing. Must be verified against Archive before publication." },
        { "claim": "$5 per 1,000 Web Search, $1 per 1,000 Contents pages", "source": "you.com blog", "as_of": "2026-03-11", "status": "reference_position", "note": "A reduction, consolidating to a flat rate for up to 100 results." },
        { "claim": "$4 per 1,000 Smart Search, $50 per 1,000 Research, 300-query trial", "source": "costbench", "as_of": "2026-04-23", "status": "tracker_lag" }
      ],
      "handling": "Vendor primary source used. The trackers lagged an announced reduction: the 2026-03-11 change lowered Web Search to a flat $5 per 1,000, and tracker snapshots from 2026-04 to 2026-06 had not caught up."
    },
    {
      "id": "exa_increase_date",
      "subject": "Date of the Exa base search increase from $5 to $7",
      "affects": [{ "vendor_id": "exa", "dimension_id": "price_stability" }],
      "positions": [
        { "claim": "$7 already in effect 2026-03-03", "source": "exa.ai changelog", "as_of": "2026-03-03", "status": "level_not_date", "note": "The entry announces simplified and lowered pricing. It establishes the level on that date, not the date the level changed." },
        { "claim": "Increase occurred 2026-04", "source": "usagepricing", "as_of": "2026-06-01", "status": "tracker_snapshot" },
        { "claim": "Base Search raised to $7 per 1,000 here", "source": "competing record", "as_of": "2026-07-29", "status": "tracker_snapshot", "note": "Third position. Postdates the changelog that already quotes $7, so it cannot be the transition date either." }
      ],
      "handling": "Unresolved. None of the three positions establishes when the rise happened: the changelog fixes a level and the two tracker dates postdate it. The transition must be re-derived from Internet Archive captures of exa.ai/pricing between the 2025 $5 citation and 2026-03-03. Does not change the score, which rests on the rise having occurred inside the window."
    },
    {
      "id": "exa_acu_unit_change",
      "subject": "Exa Agent Compute Unit pricing",
      "affects": [{ "vendor_id": "exa", "dimension_id": "price_stability" }],
      "positions": [
        { "claim": "ACU moved from $0.0001 to $0.10 in the same change that lowered per-run caps", "source": "usagepricing", "as_of": "2026-07-14" },
        { "claim": "Concurrent reductions in the same 2026-07-14 change: free tier 1,000 to 20,000 requests/month, Agent range $0.025-$2.00 to $0.012-$1.00 with a new Minimal mode, X-high halved to $1.00, in-agent search $0.007 to $0.005", "source": "usagepricing", "as_of": "2026-07-14", "status": "tracker_reported", "note": "Tracker sourced. Confirm from a primary source." }
      ],
      "handling": "A 1000x unit change alongside concurrent reductions across every other line reads as a units redefinition rather than a price move. Kept out of the increase count. Status moves from unresolved to substantiated once the concurrent reductions are confirmed from a primary source."
    },
    {
      "id": "keenable_timeline",
      "subject": "Keenable launch and funding dates",
      "affects": [{ "vendor_id": "keenable", "dimension_id": null }],
      "positions": [
        { "claim": "Exited stealth 2026-08-25", "source": "TechCrunch", "as_of": "2026-08-25" },
        { "claim": "Funding round closed 2025-11-05", "source": "KuCoin, Crypto Briefing", "as_of": "2025-11" }
      ],
      "handling": "Both published. Affects the age annotation used in the company-age normalisation rule, not a score."
    }
  ],

  "right_of_reply": {
    "conducted": false,
    "window_working_days": "TODO_N",
    "policy": "Each vendor receives the rows concerning it, the anchors used, and the evidence cited before publication. Factual corrections with a citable artifact are applied and logged. Disagreements about interpretation are published alongside the score, not merged into it. No response is recorded as no response and does not change a score. Scores are never changed in exchange for access, data, or advertising.",
    "responses": []
  },

  "revision_log": [
    {
      "version": "TODO_VERSION",
      "date": "TODO_PUBLISH_DATE",
      "vendor_id": null,
      "change": "Initial publication",
      "reason": null
    },
    {
      "version": "TODO_VERSION",
      "date": "2026-09-08",
      "vendor_id": "exa",
      "change": "price_stability evidence rebuilt. Score unchanged at 2. The 2026-03-03 changelog no longer cites the increase date; it is recorded as establishing the $7 level only. The $5 window-start anchor regraded directly_verifiable to vendor_claimed. Effective-price-drift exposure added as an explicit artifact. exa_increase_date gains a third position and is marked unresolved.",
      "reason": "Fact check: the cited changelog announces lowered pricing and cannot date a rise. The $5 anchor rests on a team member's forum comment."
    },
    {
      "version": "TODO_VERSION",
      "date": "2026-09-08",
      "vendor_id": "you_com",
      "change": "price_stability timeline extended to the 2025-10 launch rates, the 2026-03-03 Research API launch, the 2026-07-22 Frontier tier and the 2026-07-29 free-quota capture. Score held at 4 with an explicit conditional to 3. you_com_tracker_vs_vendor rewritten as tracker lag.",
      "reason": "Fact check: the 2026-03-11 change was a reduction. The previous conflict text described the direction as inconsistent, which inverted it."
    },
    {
      "version": "TODO_VERSION",
      "date": "2026-09-08",
      "vendor_id": "brave",
      "change": "price_stability score held at 1 with an anchor_gap record. grandfathering_behaviour regraded observed_absent to observed (partial). Attribution requirement added as a second adverse element of the same event. brave_pricing_trackers reduced from three conflicts to two after reclassifying two positions as endpoint scope.",
      "reason": "Fact check: partial retention of existing free-plan subscribers is reported, so observed_absent overstated the sources. The $3 and $4-5 figures reflect different endpoints rather than disagreement."
    }
  ],

  "publication_blockers": [
    "Serper's price_stability and compliance zeros rest on absence of evidence and third-party reporting. Both are load-bearing and must be verified directly.",
    "Brave's pricing cells must be verified against the live pricing page, and the February 2026 announcement needs its URL and full ISO date, which the conventions require and the record still omits.",
    "Brave's partial grandfathering — existing free-plan subscribers at 2,000 queries/month reportedly retaining access — rests on a third-party post and must be checked against Brave's own announcement. It is the evidence behind the anchor_gap on that cell.",
    "Exa's $5 to $7 transition date is not established. Re-derive it from Internet Archive captures of exa.ai/pricing between the 2025 $5 citation and 2026-03-03. Until then the increase is plotted as an undated span.",
    "Exa's 2026-07-14 reductions and the ACU unit change are tracker-sourced. Confirm from a primary source before the ACU cell moves from unresolved to substantiated.",
    "You.com's 2025-10 launch rates are tracker and Archive sourced and must be verified. Section 12 forbids establishing a change from a tracker.",
    "You.com's price_stability carries a conditional: confirm whether the pricing page and the Search API docs disagree on the 100-calls-per-day free quota. A confirmed discrepancy moves the score from 4 to 3.",
    "All compliance cells graded vendor_claimed with verification_status pending must be re-attempted against the live trust centers before the compliance dimension is published as scored.",
    "Tavily's supply_independence rests on a competitor's comparison page. Requires corroboration or downgrade to not_disclosed.",
    "Company founding dates are TODO for Exa, Tavily, You.com and Brave; the age normalisation rule cannot be applied without them.",
    "Right of reply has not been conducted."
  ]
}
