> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apostra.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Demo Storefront

> Create a temporary Storefront with clearly labeled synthetic inventory, briefs, and evaluation evidence

Explore or present the complete seller journey in a temporary Storefront without
connecting production systems. Demo Storefront uses the same product, readiness,
policy, and Brief History surfaces as a live Storefront. Its Seller Dashboard has
a separate, explicitly synthetic evaluation view rather than treating rehearsal
facts as live seller analytics.

<Warning>
  Demo Storefront data is synthetic. A profile may include vendor-shaped
  inventory or capabilities, but it never connects to or emulates Google Ad
  Manager, FreeWheel, Epsilon, Cadent, or another vendor API.
</Warning>

## Who can create one

<Note>
  This page describes the current Demo Storefront compatibility flow. There is
  not yet a customer-facing **Add sample data** action for an ordinary account.
  Demo creation must not be treated as customer approval for that future
  account-level action. When that action becomes available, it will require
  account-administrator approval for the exact synthetic logical-source
  revision and renewed approval after a material revision change.
</Note>

An Apostra platform administrator creates a Demo Storefront as a separate seller
account from **Add account**. The administrator names the demo and chooses a
Seller capability profile—Listing, Listing + Distribution, Merchandising, or
Merchandising + Distribution—plus a Display, CTV, Retail Media, or Mixed
Publisher synthetic source pack. New demos default to Merchandising +
Distribution. Ordinary customer accounts do not show demo-creation controls.

The selected demo organization uses its real account permissions and applicable
terms. Apostra cannot accept terms for a presenter, prospect, or another user,
and a demo never converts or resets an existing live Storefront.

The chosen synthetic source pack and Seller capability profile apply only to
that Demo Storefront while its lease is active. The lease captures the exact
profile revision and its requirements. It does not create a commercial profile
or entitlement assignment. Commercial profiles remain assigned to the billing
organization and may apply to its other accounts.

Initial creation of a new demo and explicit reset operations also converge one
credential-free synthetic managed source for the exact authenticated Demo
Storefront. A demo created before this source was available receives it on the
next operator-triggered **Reset**. Retrying create for an existing demo leaves
that demo unchanged. The server requires an `ACTIVE`, unexpired lease and never
calls a vendor or uses vendor credentials. Signing in again, returning to the
demo, opening a Page, reading its status, or extending its lease does not
provision, reactivate, enroll, or create another identity.

Deletion or expiration removes only the Demo Storefront and its synthetic data,
not your account.

## Sample Publisher Display

The initial versioned profile is **Sample Publisher Display**. It includes:

* a synthetic modular inventory source;
* a credential-free synthetic managed source with fixed Inventory component
  selectors and Signals candidates;
* two display products and deterministic availability;
* CPM pricing in USD;
* audience, context, device, and geography facts;
* sample approval routing with one pending media buy and one pending creative
  review;
* a fictional evaluation brief and its terminal response evidence; and
* no buyer demand, booking, revenue, attribution, or delivery claim.

The profile and sample-data versions appear with the DEMO status so a presenter
can verify exactly which scenario is open.

### Review the sample approvals

Open **Approvals & operations** to review two pending items. The creative is a
clearly labelled, fictional 300×250 display example for the sample campaign.
Its preview is assembled as static text inside Apostra. It contains no
customer data, credentials, trackers, or calls to an external service.

The sample creative follows the same review queue, assignment, approval, and
rejection workflow as another pending creative. Reset returns both sample
approvals to pending without adding duplicate queue items. Expiration and
**Delete now** remove the approval rows, routing, preview, and work items with
the rest of the synthetic Storefront.

Platform administrators can add CTV and Retail Media sources at creation. The
Mixed Publisher pack combines Display, CTV, and Retail Media; it is not a fake
vendor adapter.

### Synthetic source readiness

Seller Setup reports each code-owned Demo recipe as **9 of 9 ready** while the
authenticated Storefront's Demo lease is active and unexpired. Source
Diagnostics labels the same source **Local synthetic** and explains that its
persisted recipe replaces live endpoint verification. There are no vendor
credentials, capability refreshes, protocol traces, or external source tests
to run.

If the lease is missing or expired, belongs to another tenant, or the source is
not a `demo-*` recipe, Apostra uses the ordinary live-source checks. Reading
readiness does not create or extend a lease or change the selected Seller
capability profile.

## Guided seller preview

A guided seller preview may use a media kit, rate card, or facts supplied in
the conversation to draft additional synthetic placements in the existing
Demo Storefront source. The guide shows the exact draft rows before the seller
confirms the write. A representative brief can then demonstrate a response
from those confirmed inputs, including the response artifact and its recorded
reasoning.

Before asking for an upload, the guide presents the
[Terms of Service](https://apostra.com/agreements/terms-of-service) that
govern seller-provided material in this preview. Read the agreement's Data Use
and Confidentiality sections for the controlling terms. This product page does
not paraphrase or extend those terms with a separate storage-duration or
automatic-deletion promise. The reset, expiration, and deletion controls below
describe the Demo Storefront and its synthetic resources, not a different
contract for the original uploaded document.

Seller-provided names, prices, capacity, dates, audience statements, and other
facts are not independently verified by this flow. The guide attributes them
to the seller, does not silently fill missing commercial values, and does not
present the resulting placements as live-synced inventory. The Demo disclosure
continues to apply to products and proposals returned from the source.

The guided preview does not connect a production inventory system or prove a
live booking, transaction, trafficking action, or delivery. If the seller asks
about a production source or later lifecycle stages, use the documented source
and media-buy workflows rather than projecting the preview result forward.
The preview also does not define pricing, billing, data handling, or conversion
terms; those come from the applicable agreement and public documentation.

## Expiration and controls

New Demo Storefronts expire after seven days. The Demo Storefront card shows the
expiration time and supports:

* **Reset** — rebuild the selected synthetic inventory and preserve the selected
  Seller capability profile. Reset does not change the expiration time.
* **Extend 7 days** — add seven days to the current expiration time.
* **Delete now** — immediately remove the Demo Storefront and its synthetic
  resources while preserving the account.

Automatic cleanup uses the Demo Storefront's durable expiration record. If
cleanup fails, the status remains visible and the platform retries; it does not
silently leave an expired Storefront active.

## Evaluation analytics in Seller Dashboard

While the Demo Storefront lease is active, its signed-in seller can open Seller
Dashboard to inspect a **Synthetic evaluation data** view. It reports the current
lease generation's terminal evaluation RFP facts through the same RFP performance
calculation used by Seller Dashboard, along with each RFP and turn ID, response
state, profile disclosure, and lease expiration.

The view is rehearsal evidence only. It does not report or imply buyer demand,
commercial outcomes, bookings, revenue, attribution, learned posture, or
delivery. Standard Seller Dashboard analytics remain live-only. An evaluation
run is not relabeled as live data.

The projection is available only to the authenticated owner of the exact active
Demo Storefront lease. It excludes another Storefront, another tenant, live and
draft RFPs, a previous lease generation, and rows before the last reset. If the
lease expires, resets, is missing, or cannot be resolved unambiguously, the
evaluation view is not returned. An empty view means that no terminal evaluation
runs exist for the current lease generation; it does not say anything about
buyer demand.

## Open the management Page from an agent

The portable demo management Page works through the shared MCP app contract.
An agent on the v3 Seller surface can open an existing demo with
`open_page({ page: "demo_seller" })`. The Page lets an authorized seller
inspect the lease and recipes, attach or remove optional synthetic sources,
reset the profile, extend the lease, or delete the demo.

A provisioned standalone Demo Storefront seller can open the existing Demo
Storefront card in the setup rail without a modular inventory source
entitlement. This changes seller-side access to the existing management Page
only. It does not change what buyers can discover, call, or see from a Demo
Storefront.

Opening the Page does not grant new permissions and does not create a Demo
Storefront. Creation remains an Apostra platform-administrator action in **Add
account**, and legal terms remain accepted by the authorized human for the
selected organization.

## What a buyer's agent sees

A Demo Storefront is a real, callable AdCP seller — a buyer's agent can send
it `get_products` and reach it through ordinary discovery like any other
Storefront. Because its inventory is synthetic, every response is marked so
an agent never mistakes it for a real seller:

| Field                                   | Type      | Meaning                                                                                                                                                                                                                     |
| --------------------------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ext.scope3.storefront.demo`            | `boolean` | Present and `true` only on a response from a Demo Storefront. Absent entirely for a real Storefront — never `false`.                                                                                                        |
| `ext.scope3.storefront.demo_disclosure` | `string`  | The human-readable disclosure sentence for the active profile (for example, "Synthetic sample data for demonstration only, no real inventory or transactions"). Present whenever `demo` is `true` and the profile resolves. |

Both fields are additive inside the namespaced `ext` object returned alongside
the normal `products` and `proposals` in the same `get_products` response. An
agent that does not recognize Scope3 namespace can safely ignore it; one
that does should treat any proposal or product from a response where
`ext.scope3.storefront.demo` is `true` as a demonstration, not a real offer.
The same disclosure sentence also appears in the response's human-readable
summary text.

Because there is no real seller-side transaction to prove for synthetic
inventory, the Storefront's `publish_validation` readiness requirement
reports complete with `method: "demo_mode"` instead of pending — a Demo
Storefront never gets stuck waiting on a no-spend test campaign it has no
real path to run. That exemption only applies while every connected source is
part of the demo profile; if a real source is ever attached, the normal
requirement resumes for the whole Storefront.

## What is real

Account permissions, the Storefront, products, availability, policy, brief
history, and expiration use normal platform behavior. Inventory facts, the
fictional buyer, campaign, evaluation evidence, delivery examples, and upstream
references are synthetic. The special evaluation view is disclosed as synthetic;
ordinary seller analytics remain live-only.

Wonderstruck is a separate real-integration sandbox and does not back Demo
Storefront. Isolated engineering test environments also remain separate.

<Card title="Modular inventory source lifecycle" href="/v2/storefront/inventory-sources/modular-lifecycle" icon="diagram-project">
  Learn how modular feed, reservation, execution, creative, and reporting
  responsibilities compose behind one Storefront source.
</Card>
