Skip to main content
Demo mode is a flag on a Layer organization that turns it into a fully-populated synthetic workspace. It exists so prospects, internal reviewers, and trial users can explore every Layer surface — apps, contracts, spend, AI usage, integrations — with realistic data, without connecting any real systems and without any risk to production tenants. A demo organization renders identically to a real one, with two additions:
  • A pink Demo data banner under the cross-product bar on every page, marking the workspace as synthetic.
  • A Demo mode card in Settings with a one-click Reset demo data action.
Demo mode is opt-in per organization and off by default. Real customer tenants are never eligible for the reset endpoint or the seeded data — the server hard-refuses any reset request unless the organization is explicitly flagged as demo.

When to use demo mode

Use a demo organization when you want to:
  • Walk a prospect through Layer end-to-end without staging real integration credentials.
  • Click through every page (Apps, Contracts, Spend, AI Usage, Renewals, People, Integrations) with realistic data — 60+ SaaS apps, 12 months of spend, 18+ contracts spread across the next 12 months, and 12 months of AI usage across OpenAI, Anthropic, and GitHub Copilot.
  • Reset to a known-good seeded state at the start of every demo or training session.
  • Reproduce dashboard behavior — needs-reauth integrations, active connections, spend trends — that would otherwise require multi-day real-world data accumulation.
For real production usage, leave is_demo unset. The reset action is unavailable on non-demo organizations and the banner does not render.

What gets seeded

Resetting a demo organization wipes nine tenant-scoped tables in foreign-key order, then re-seeds them. The seed currently produces:
SurfaceVolume
SaaS apps60+ across productivity, dev, security, compliance, finance, HR, marketing, sales, and AI categories
Spend records12 months of monthly spend per app
Contracts18+ contracts spread across the next 12 months of renewals
AI usage12 months of records across OpenAI, Anthropic, and GitHub Copilot
Integration connectionsA mix of active connections and needs_reauth rows so the Integrations page shows realistic states
The exact counts returned by the most recent reset are surfaced inline on the Demo mode card after the action completes.

Reset demo data

1

Open the Demo mode card

In a demo organization, go to Settings. The Demo mode card renders only when is_demo=true on your organization. If you don’t see it, the workspace isn’t a demo tenant and the reset action is not available to you.
2

Click Reset demo data

The card asks you to confirm before performing any destructive work.
3

Confirm the wipe and re-seed

Click Yes, wipe and re-seed. Layer wipes every seeded table for your organization, then re-runs the seed. When it finishes, a green status row reports how many apps, devices, people, contracts, spend records, and AI usage records were re-created.
The action takes a few seconds. Refreshing the dashboard after a reset shows the freshly-seeded inventory immediately.
Reset is destructive. It deletes every row in the seeded tables for the organization before re-seeding. Anything you created or edited inside a demo workspace — manual contracts, custom fields, comments — is wiped along with the seeded data.

Permissions

Only Admin and Owner roles can trigger a reset. Members see the Demo mode card if it renders for the organization, but the action returns 403 Insufficient permissions if invoked by a non-admin.

Safety guarantees

  • The reset endpoint (POST /api/seed/reset) refuses with 403 Reset is only available for demo organizations. whenever the target organization’s is_demo flag is unset. Real tenants cannot be wiped through this surface, even by an admin.
  • The endpoint runs through the service-role Supabase client only after the demo check passes. Authorization happens before any destructive work.
  • The pink banner is rendered unconditionally on every dashboard page when is_demo=true, so a demo workspace cannot be mistaken for a real one at a glance.

Turning a workspace into a demo

Demo mode is controlled by the is_demo boolean column on organizations. It defaults to false. To convert a workspace to demo mode, an Axiom operator flips the flag in the database for that tenant — there is no in-app toggle by design, since flipping the flag enables a destructive action. Reach out to support@axiomancer.io if you need a demo organization provisioned.
A public per-visitor demo CTA and ephemeral auto-purging demo organizations are on the roadmap. Until then, demo organizations are provisioned manually and persist until an operator removes them.