Demo mode
Explore Layer with a fully-populated synthetic workspace — connectors, employees, devices, contracts, and spend — and reset it whenever you want a clean slate.
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:
| Surface | Volume |
|---|---|
| SaaS apps | 60+ across productivity, dev, security, compliance, finance, HR, marketing, sales, and AI categories |
| Spend records | 12 months of monthly spend per app |
| Contracts | 18+ contracts spread across the next 12 months of renewals |
| AI usage | 12 months of records across OpenAI, Anthropic, and GitHub Copilot |
| Integration connections | A 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
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.
Click Reset demo data
The card asks you to confirm before performing any destructive work.
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 with403 Reset is only available for demo organizations.whenever the target organization'sis_demoflag 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.