Environments & Releases
Test safely. Ship deliberately.
Every Rylvo workspace has a Test and a Production environment. You build and experiment in Test, then promote a frozen, versioned release to Production with one atomic flip — and roll back instantly if you need to. Configuration, data, analytics, traces, and API keys are isolated per environment.
2
environments per workspace
1
atomic flip to go live
Immutable
every release, frozen
Instant
rollback to any release
Why environments
Experiment freely. Ship deliberately.
Editing a live agent is editing production while customers are talking to it. Rylvo gives every workspace two environments so you never have to. You build and break things in Test; Production only ever changes through a reviewed, versioned release you promote on purpose.
Test is your safe surface
A fully editable copy of your workspace where changes have no blast radius. Try a new prompt, rewire a flow, add a guardrail — against real models, with nobody at risk.
Production is protected
Read-only by default. It cannot drift from an ad-hoc edit, because the only way it changes is a release you deliberately activate — or a rollback.
A boundary, not a convention
Configuration, data, analytics, traces, and keys are separated by environment in the platform itself. Isolation is enforced, not left to discipline.
The switch
One toggle changes the whole workspace.
Flip between Test and Production from anywhere in the dashboard. Everything you see and edit — bots, prompts, guardrails, flows, skills, knowledge, connectors, keys, conversations, and analytics — follows the switch.
Everything is writable. Build, iterate, and validate against real models. When it is ready, freeze it into a release candidate.
What your customers actually reach. You can view and monitor it freely, but it only changes when you activate a release or roll one back.
Promote a release
From Test to live in four reviewed steps.
Promotion is not a copy-paste. It is a control plane: freeze an immutable candidate, review the diff, clear the gates, and flip the pointer atomically once every artifact is verified.
Build in Test
Edit bots, prompts, guardrails, flows, skills, knowledge, and connectors freely. Test traffic is real traffic against real models — it just never touches your Production configuration.
Freeze a candidate
Snapshot the current Test configuration into an immutable release candidate — a versioned manifest of every artifact. Test stays editable; the candidate never changes.
Review the diff & gates
See exactly what changed versus live Production — added, changed, removed, and unchanged, grouped by artifact family. Optional gates hold the release until two-person approval and a green test run pass.
Activate Production
The active pointer flips atomically — but only after every artifact in the manifest is verified. One generation forward, one deliberate step, no half-published state.
Sign-off for teams that need it
Turn on two-person approval and a release cannot activate until a second admin approves the exact manifest — the creator cannot approve their own. Require a green test run as a gate, too.
Rollback & recover
A bad release is a one-click undo.
Because every release is immutable and retained, going back is not a restore procedure — it is repointing Production at a known-good version. And when Production moves on, you can pull it back into Test to keep building.
Instant rollback
Every activated release is immutable and retained. Point Production back to any earlier release and runtime traffic switches to it immediately — no rebuild, no redeploy.
Full release history
The complete lineage of candidates and activations stays on record: what shipped, who shipped it, when, and how many artifacts changed.
Refresh & reset Test
Pull the active Production release back into Test — safe mode preserves your divergent edits — or reset Test entirely. Every destructive step is checkpointed first.
Isolated data
Not just config — the data too.
An environment is more than a settings copy. Runtime data is scoped to it, so Test activity never leaks into the numbers you report or the incidents you investigate.
Analytics & dashboards
Test conversations never inflate your Production numbers. Every rollup, chart, and KPI is scoped to the environment you are viewing.
Traces & observability
Canonical traces are tagged and separated by environment, so a debugging session in Test never gets mistaken for a production incident.
Conversations & sessions
End-user conversations, sessions, and stored history are kept apart. Production is the record of what customers actually experienced.
API keys
Keys are environment-scoped. The switch owns which environment's keys you see and create, so a Test key can never reach Production data.
Watermarked exports
Test data leaves clearly labeled.
When you export from Test, the output is watermarked. A Test dataset is never silently mistaken for genuine customer records — in a spreadsheet, a warehouse, or a downstream report.
The environment provenance travels with the data. Production exports carry no watermark; Test exports always do — so the distinction survives long after the data has left Rylvo.
API & keys
One header picks the environment.
Environments are not a dashboard-only idea. Your integrations choose an environment per request, and API keys are scoped to one, so your CI, staging harness, and production traffic stay cleanly separated.
The X-Rylvo-Environment header
Send X-Rylvo-Environment: test or production and the same bot answers from the right configuration and writes to the right data store for that environment.
Environment-scoped API keys
Every API key belongs to an environment. The dashboard switch owns which environment's keys you see and create, so a Test key cannot authenticate against Production data.
Access & control
Explore widely. Promote narrowly.
Anyone on the team can switch to Test and explore. Freezing candidates, activating Production, and rolling back are admin-and-owner actions — with an optional two-person approval gate for regulated teams.
Switch to Test & explore
Every member
Edit Test configuration
Editors and above
Freeze & activate a release
Admins and owners
Roll back Production
Admins and owners
Approve a release (2-person)
A second admin, never the creator
FAQ
The guarantees, plainly stated
What separates a workspace you can experiment in safely from one where every edit is a live change.
Is Production ever edited directly?
No. Production is read-only by design. The only way it changes is by activating a reviewed release, or by rolling back to an earlier one. Every change is deliberate and attributable.
What exactly is a release?
An immutable, versioned snapshot of your promotable configuration — bots, prompts, guardrails, flows, skills, knowledge, and connectors — captured as a manifest of artifacts. Once frozen, a release never changes, which is what makes rollback trustworthy.
Does test traffic cost real tokens?
Yes — Test runs against real models so you are validating the real thing. What it does not do is mingle with Production: separate data, separate analytics, separate traces.
Can I require sign-off before a release goes live?
Optionally, yes. Turn on two-person approval and a release cannot activate until a second admin approves the exact manifest — and the creator cannot approve their own. You can also require a green test run as an activation gate.
How do environments work over the API?
Send the X-Rylvo-Environment header (production or test) and scope API keys to an environment. The same bot answers from the right configuration and writes to the right data store for that environment.
Won't a Test export get confused with real data?
No. Data exported from Test is watermarked, so a Test dataset is never mistaken for genuine customer records downstream.
Test safely. Ship deliberately.
Build in Test, freeze a versioned release, review the diff, promote with one atomic flip — and roll back the instant you need to.
