You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add support for exporting controls to a JSON file and importing controls from a JSON file.
Export should support either all controls or a selected subset.
Import should load controls from JSON, validate them, and persist them in the database.
Motivation
Makes it easy to share reusable control bundles across users and environments.
Enables publishing JSON files for common policies / recommended control sets.
Provides a straightforward backup and migration path for control definitions.
Current behavior
Controls can be created, copied, edited, and stored in the database, but there is no import/export flow for sharing or reusing them as files.
The UI has a Control Store and per-control editing/copy flows, and the server has control CRUD plus validation endpoints, but nothing supports bulk JSON import/export.
Expected behavior
Users can click Export to download either all controls or a selected subset as a JSON file.
Users can click Import to upload a JSON file, validate its contents, and store the imported controls in the database.
The exported format is shareable so common policies/control bundles can be published and reused.
Reproduction (if bug)
Open the control management / Control Store UI.
Try to share, back up, or move a set of controls between environments.
There is no import/export workflow today.
Proposed solution (optional)
Add an export action in the Control Store that serializes either all controls or a user-selected subset to a versioned JSON payload.
Add an import flow that parses uploaded JSON, validates each control using existing control-definition and evaluator validation, and persists valid controls.
Surface conflicts and invalid entries during import instead of failing silently.
Decide import conflict behavior explicitly (for example: skip existing names, overwrite, or import with rename).
Decide whether v1 should cover only control definitions or also policy associations.
Additional context
This feature lines up with the existing UI Control Store and control CRUD / validation APIs.
Open questions to resolve during implementation:
JSON schema/versioning for forward compatibility
Whether import/export should include policy membership or remain controls-only in v1
UX for duplicate names and partial import failures
Summary
Motivation
Current behavior
Expected behavior
Reproduction (if bug)
Proposed solution (optional)
Additional context