A terminal-based UI tool for interactively selecting and managing import references for a Gemara Layer 2 catalog.
- Interactive TUI for browsing a Gemara-compatible controls catalog to create import references
- Support for Common Cloud Controls (CCC) framework
- Real-time YAML preview of selected controls
- Dynamic window resizing with responsive layout
Select the catalog you'd like to import control references from (Currently the only supported catalog to import from is FINOS Common Cloud Controls).

You will be prompted to name your catalog, then a menu of capabilities will be displayed. Press enter
to add any capabilities that are applicable to the service you are creating a catalog for. You will see the relevant identifiers added to your catalog on the right side of the screen. Press delete
to remove a capability and the corresponding threats and controls. Threats and controls that are referenced by multiple capabilities will be managed appropriately to avoid duplication or errant removal.

Press spacebar
when you are finished. The catalog will be prominently displayed for you to review. If more changes are needed, press n
to return to the canvas. If you are finished, press y
to write the catalog to a file in your current local directory: ./output.yaml

You may press q
on any screen to exit the program.
brew tap revanite-io/tap
brew install controls-canvas
go install github.com/revanite-io/controls-canvas@latest
- Visit the releases page
- Download the archive for your platform:
- macOS ARM64:
controls-canvas_Darwin_arm64.tar.gz
- macOS Intel:
controls-canvas_Darwin_x86_64.tar.gz
- Linux:
controls-canvas_Linux_x86_64.tar.gz
- Windows:
controls-canvas_Windows_x86_64.zip
- macOS ARM64:
- Extract the archive
- Move the
controls-canvas
binary to a directory in your PATH (optional)
controls-canvas