Flag lifecycle
Assign owners, change production safely, recover from a bad change, and retire flags.
Every production flag needs an owner and a removal plan. Toggld supports permanent deletion, but it has no archive state and no automatic expiry. Use these procedures to keep your flags under control.
Introduce a flag
- Assign an owner before the first production use.
- Record the purpose, the responsible team, and a review date in the flag Description. Review dates are a team procedure. Toggld does not act on them.
- Choose a safe fallback value in your code and an explicit off variant.
- Create the flag and test it in Development before you turn it on in Production.
- Test the contexts that your rules target, and the case where no rule matches.
Each environment stores its own values and rules. Your edits stay in a draft until Save environment succeeds. Test a user shows what a context gets from the saved rules. It does not prove that your application receives updates. Confirm that your application receives the expected value before you increase a rollout.
Change production behavior
- Select the Production environment tab before you edit. Check for the Live badge on the tab.
- Review the variants, the default variant, the off variant, and the rule order.
- For a percentage rollout, give at least one variant a positive weight.
- Save the environment.
- Wait for the success message before you treat the change as live.
- Test the result through your application.
- Check the recorded evaluations in the flag's Evaluations panel.
SDKs that use local evaluation work from a synchronized copy of the definitions. Polling, caches, and network access affect when a change arrives. Fast evaluation does not mean immediate delivery of updates. Keep your fallback values safe during an incident. See how fast changes arrive.
Restore a bad change
Toggld has no one-click restore during the beta. Use the audit log to find the previous configuration and apply it again.
- Open Audit log in the affected workspace.
- Filter by the flag key.
- Open an earlier saved change that contains the configuration you want, with View saved change.
- Note the environment, variants, default variant, off variant, and targeting rules from that event.
- Open the flag and select that environment.
- Apply the earlier values to the draft.
- Review the draft.
- Save the environment.
- Test the result in your application.
The audit log shows the latest 100 matching events. Filter by resource to find older events. If you cannot find the history that you need, contact support before you change values that you do not understand. During recovery, use a known safe configuration or rely on your fallback values. See Audit log.
Retire a flag
- Agree on the permanent behavior with the flag owner.
- Remove the flag lookup from your code.
- Deploy that change to every application instance that uses the key.
- Make sure that old instances and scheduled jobs no longer read the flag.
- Record the retirement decision in the description.
- After all readers are gone, open the flag's Delete section and delete the flag.
Deletion removes the flag from every environment, and you cannot undo it in the product. Any code that still reads the key receives its fallback value with the error code FLAG_NOT_FOUND.
Beta flag limit
Do not delete a flag to free a place under the beta limit while code still reads it. Your application then switches to its fallback value.
Keep the key and its permanent value in your team's change record.
Remove an unused workspace
- Delete the workspace's flags and segments.
- If other members remain, transfer ownership before you leave the workspace.
- If you are the only member, open Settings → General.
- Read the deletion consequences.
- Type the workspace URL name to confirm.
- Delete the empty workspace.
- To delete your account as well, open Account and security.
Removing a workspace deletes its environments, credentials, invitations, and history.
Contact support@toggld.io for beta access problems or incidents. Never send credentials, session cookies, or private targeting data.