All study evidence

Embedded onboarding feedback: evidence

Test a responsive in-product feedback surface without overstating embed readiness.

Illustrative synthetic evidence · No customer outcome claim · Live execution not certified

Provenance and limitations

Illustrative product view using synthetic data. It is not a customer result or outcome claim.

Private beta; this is not a general custom-domain or production-readiness claim.

Availability: private beta. Evidence status: beta proof.

Remaining gap: Local approved/denied parent checks, served CSP headers, finite SDK sizing, reviewed response completion and attributed response captures pass. The stored parent origin is client-reported and allowlist-checked; deployed infrastructure and general custom-domain readiness remain unverified.

Timestamps and hashes identify checked-in materials. Scoped authenticated local runs have explicit receipts and source revisions. Deployed execution and external delivery require separate evidence.

Setup, analysis and decision handoff

Setup / respondent

Synthetic illustration · captured

Actual local respondent setup embedded by the repository SDK on an approved fixture parent; synthetic one-question study.
Actual local respondent setup embedded by the repository SDK on an approved fixture parent; synthetic one-question study.

Capture class: authenticated local synthetic product. Live execution is not certified.

Analysis

Synthetic illustration · captured

Actual local mobile embedded respondent with finite SDK iframe height and served CSP headers recorded in the accompanying receipt. Resize security is separately exercised by the controlled SDK receipt.
Actual local mobile embedded respondent with finite SDK iframe height and served CSP headers recorded in the accompanying receipt. Resize security is separately exercised by the controlled SDK receipt.

Capture class: authenticated local synthetic product. Live execution is not certified.

Decision handoff

Synthetic illustration · captured

Actual authenticated local response detail showing completion, durable synthetic answer, stored UTM fields and the client-reported, allowlist-checked parent origin.
Actual authenticated local response detail showing completion, durable synthetic answer, stored UTM fields and the client-reported, allowlist-checked parent origin.

Capture class: authenticated local synthetic product. Live execution is not certified.

Synthetic artifact handoff

Inspectable fixture contracts and scoped local product receipts. Each artifact states its provenance and remaining limitations. Deployed connector delivery, authenticated public sharing and production reports remain uncertified.

Readable receipts and fixture contracts (2)

v1/embed-product.json

Actual authenticated local synthetic respondent setup, responsive SDK frame, active survey allowlist, reviewed response completion and visible persisted UTM/parent-origin fields. Parent origin is client-reported and checked against the allowlist; it is not independent browser provenance or deployed certification.

Version, timestamp and SHA-256
Artifact version
persona-product-proof.v1
Recorded timestamp
Declared SHA-256
9ab32be0a4521c21908942f9058324570fd5b6d43ac42ca1fc8a24c30e078d7a
Read fixture contents
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
No
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–42427.
checks
  1. name
    Actual product allows configured parent after backend policy
    status
    passed
  2. name
    Actual product denies unconfigured parent before respondent form
    status
    passed
  3. name
    Actual product times out without parent bridge
    status
    passed
  4. name
    Actual product responsive frame 1440
    status
    passed
  5. name
    Actual product responsive frame 390
    status
    passed
  6. name
    Unframed product keeps ordinary respondent behavior
    status
    passed
  7. name
    Synthetic product response persists allowlisted embed origin and UTM
    status
    passed
captures
  1. 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
    asset Path
    /demo-evidence/personas/product-proof/v1/captures/controlled-product-embed-approved.png
  2. 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
    asset Path
    /demo-evidence/personas/product-proof/v1/captures/controlled-product-embed-mobile.png
  3. 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
    asset Path
    /demo-evidence/personas/product-proof/v1/captures/controlled-product-completion.png
  4. 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
    1. completed status
    2. durable answer
    3. UTM source
    4. UTM medium
    5. embed parent origin
    6. client-reported allowlist provenance
    asset Path
    /demo-evidence/personas/product-proof/v1/captures/controlled-product-response-handoff.png
responsive dimensions
  1. viewport
    width
    1440
    height
    1000
    iframe height px
    391
    meaning
    Observed finite bounded SDK height; no dynamic-change assertion
  2. viewport
    width
    390
    height
    1000
    iframe height px
    400
    meaning
    Observed finite bounded SDK height; no dynamic-change assertion
writes Blocked
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
Not supplied
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
Yes
customer evidence
No
live certified
No

v1/embed-controlled.json

Actual repository SDK and browser CSP checks using synthetic loopback parent/respondent HTML fixtures: sibling-origin resize rejection, bounded heights, approved/denied framing and desktop/mobile rendering. The respondent fixture in this separate receipt is not a backend-backed product study.

Version, timestamp and SHA-256
Artifact version
persona-product-proof.v1
Recorded timestamp
Declared SHA-256
48d7e4ef50e0e0d16aef0a71760792084315016a53060c26c43b5eb8390ceb6f
Read fixture contents
schema version
1
sdk sha256
3ad1b78e87ec2ab0e96f5778024b25df4e2d37a1771875b71cfae5e3636d4095
classification
controlled_loopback_fixture_actual_sdk
certified live product
No
truth boundary
Actual checked-in embed SDK in real Chromium with controlled HTTP fixture CSP. Respondent UI and HTTP server are synthetic; no authenticated product, deployed header, or backend domain validation certified.
checks
  1. name
    Permitted fixture origin loads through frame-ancestors
    status
    passed
  2. name
    Attribution URL, accessible title and visible fixture branding
    status
    passed
  3. name
    Same-origin sibling cannot spoof resize
    status
    passed
  4. name
    Wrong origin, nonfinite and oversized heights are rejected; valid source resizes
    status
    passed
  5. name
    Responsive width 1440 and keyboard operation
    status
    passed
  6. name
    Responsive width 390 and keyboard operation
    status
    passed
  7. name
    Denied fixture origin blocked by actual browser CSP
    status
    passed
status
passed

Image captures and downloads (4)

v1/captures/controlled-product-embed-approved.png

Actual authenticated local synthetic respondent setup, responsive SDK frame, active survey allowlist, reviewed response completion and visible persisted UTM/parent-origin fields. Parent origin is client-reported and checked against the allowlist; it is not independent browser provenance or deployed certification.

Version, timestamp and SHA-256
Artifact version
persona-product-proof.v1
Recorded timestamp
Declared SHA-256
8c80e037424c72dcc2336836760aca1d591aa439a28ab55eddc7f9675a1efdbd

v1/captures/controlled-product-embed-mobile.png

Actual authenticated local synthetic respondent setup, responsive SDK frame, active survey allowlist, reviewed response completion and visible persisted UTM/parent-origin fields. Parent origin is client-reported and checked against the allowlist; it is not independent browser provenance or deployed certification.

Version, timestamp and SHA-256
Artifact version
persona-product-proof.v1
Recorded timestamp
Declared SHA-256
f026673c4dc1e194eaafb84b6ca21480f19d7a338b8d13648741f834d6a4acf3

v1/captures/controlled-product-completion.png

Actual authenticated local synthetic respondent setup, responsive SDK frame, active survey allowlist, reviewed response completion and visible persisted UTM/parent-origin fields. Parent origin is client-reported and checked against the allowlist; it is not independent browser provenance or deployed certification.

Version, timestamp and SHA-256
Artifact version
persona-product-proof.v1
Recorded timestamp
Declared SHA-256
24ad77be24d3d52c55ee09aa83c119a3b81c491c90037117560e22c579a56385

v1/captures/controlled-product-response-handoff.png

Actual authenticated local synthetic respondent setup, responsive SDK frame, active survey allowlist, reviewed response completion and visible persisted UTM/parent-origin fields. Parent origin is client-reported and checked against the allowlist; it is not independent browser provenance or deployed certification.

Version, timestamp and SHA-256
Artifact version
persona-product-proof.v1
Recorded timestamp
Declared SHA-256
58e0cb8780a68b196436980d767f03997da22fa24e4e39ed068182ec18c63d88