{
  "schema_version": 1,
  "observed_at": "2026-10-01T21:30:15.191Z",
  "backend_source_revision": "cd33a7221d4f04bfb88408c48d881b2c81c18814",
  "frontend_source_revision": "cd33a7221d4f04bfb88408c48d881b2c81c18814",
  "classification": "loopback_actual_product_page_and_policy_with_controlled_parent_hosts",
  "certified_deployed": false,
  "truth_boundary": "Actual served respondent page and backend policy; local parent HTML fixtures. Optional explicitly authorized synthetic fixture submission when --ready-file is supplied; no remote service. Requires isolated public active survey, active config allowing only host42425, and deployment CSP allowing all fixture hosts42425\u201342427.",
  "checks": [
    {
      "name": "Actual product allows configured parent after backend policy",
      "status": "passed"
    },
    {
      "name": "Actual product denies unconfigured parent before respondent form",
      "status": "passed"
    },
    {
      "name": "Actual product times out without parent bridge",
      "status": "passed"
    },
    {
      "name": "Actual product responsive frame 1440",
      "status": "passed"
    },
    {
      "name": "Actual product responsive frame 390",
      "status": "passed"
    },
    {
      "name": "Unframed product keeps ordinary respondent behavior",
      "status": "passed"
    },
    {
      "name": "Synthetic product response persists allowlisted embed origin and UTM",
      "status": "passed"
    }
  ],
  "captures": [
    {
      "path": "survey-frontend/public/demo-screenshots/persona-evidence/developer-embedded-onboarding-feedback/controlled-product-embed-approved.png",
      "sha256": "8c80e037424c72dcc2336836760aca1d591aa439a28ab55eddc7f9675a1efdbd",
      "classification": "actual_product_with_synthetic_isolated_survey",
      "view": "respondent_setup",
      "viewport": {
        "width": 1440,
        "height": 1100
      },
      "assetPath": "/demo-evidence/personas/product-proof/v1/captures/controlled-product-embed-approved.png"
    },
    {
      "path": "survey-frontend/public/demo-screenshots/persona-evidence/developer-embedded-onboarding-feedback/controlled-product-embed-mobile.png",
      "sha256": "f026673c4dc1e194eaafb84b6ca21480f19d7a338b8d13648741f834d6a4acf3",
      "classification": "actual_product_with_synthetic_isolated_survey",
      "view": "responsive_fixture_review",
      "viewport": {
        "width": 390,
        "height": 1000
      },
      "iframe_height_px": 400,
      "assetPath": "/demo-evidence/personas/product-proof/v1/captures/controlled-product-embed-mobile.png"
    },
    {
      "path": "survey-frontend/public/demo-screenshots/persona-evidence/developer-embedded-onboarding-feedback/controlled-product-completion.png",
      "sha256": "24ad77be24d3d52c55ee09aa83c119a3b81c491c90037117560e22c579a56385",
      "classification": "actual_product_with_synthetic_isolated_response",
      "view": "completion_handoff",
      "viewport": {
        "width": 390,
        "height": 1000
      },
      "assetPath": "/demo-evidence/personas/product-proof/v1/captures/controlled-product-completion.png"
    },
    {
      "path": "survey-frontend/public/demo-screenshots/persona-evidence/developer-embedded-onboarding-feedback/controlled-product-response-handoff.png",
      "sha256": "58e0cb8780a68b196436980d767f03997da22fa24e4e39ed068182ec18c63d88",
      "classification": "actual_authenticated_product_with_synthetic_isolated_response",
      "view": "response_evidence_handoff",
      "viewport": {
        "width": 1440,
        "height": 1400
      },
      "selector": "main",
      "visible_fields": [
        "completed status",
        "durable answer",
        "UTM source",
        "UTM medium",
        "embed parent origin",
        "client-reported allowlist provenance"
      ],
      "assetPath": "/demo-evidence/personas/product-proof/v1/captures/controlled-product-response-handoff.png"
    }
  ],
  "responsive_dimensions": [
    {
      "viewport": {
        "width": 1440,
        "height": 1000
      },
      "iframe_height_px": 391,
      "meaning": "Observed finite bounded SDK height; no dynamic-change assertion"
    },
    {
      "viewport": {
        "width": 390,
        "height": 1000
      },
      "iframe_height_px": 400,
      "meaning": "Observed finite bounded SDK height; no dynamic-change assertion"
    }
  ],
  "writesBlocked": 1,
  "served_survey_headers": {
    "status": 200,
    "content_security_policy": "default-src 'self'; script-src 'self' 'unsafe-inline' https://challenges.cloudflare.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https://challenges.cloudflare.com http://127.0.0.1:42500; font-src 'self' data:; connect-src 'self' http://127.0.0.1:42500 https://challenges.cloudflare.com ws://127.0.0.1:42500; frame-src https://challenges.cloudflare.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self' http://127.0.0.1:42425 http://127.0.0.1:42426 http://127.0.0.1:42427",
    "x_frame_options": null,
    "referrer_policy": "strict-origin-when-cross-origin"
  },
  "synthetic_response_id": "38403cf7-951e-46e7-8e9f-07bb338e45a9",
  "persisted_attribution": {
    "utm_source": "wave25-fixture",
    "utm_medium": "iframe",
    "embed_origin": "http://127.0.0.1:42425",
    "embed_origin_provenance": "client_reported_policy_allowlisted",
    "referrer_host": "127.0.0.1:42425"
  },
  "status": "passed",
  "synthetic": true,
  "customer_evidence": false,
  "live_certified": false
}
