Skip to main content
Dome offers a flexible system to secure your applications through configurable Guardrails. This allows it to be customized to fit your requirements and policies. By default, Dome is equipped with a default configuration that is fast, and accurate, and covers security.

Create Configurations for Dome

Here iss a step-by-step guide that outlines how to setup a config for Dome.

Step 1: Choose and Configure Guardrails

Dome provides the following types of Guardrails:
  1. Input Guardrails
  2. Output Guardrails
  3. Retrieval Guardrails (coming soon)
  4. Execution Guardrails (coming soon)
The type of Guardrail simply indicates where it is supposed to run in an application flow. To configure a Guardrail :
  • provide a list of Guards
  • specify whether Guards should run serially or in parallel (run-parallel)
  • specify whether all Guards should run, or execution should terminate as soon as one Guard is a hit (early-exit)

Step 2: Assemble and Configure Guards

Guards are groups of Detectors of a particular type that make up a Guardrail. Guards can be named as you like, and are completely user defined. Each Guard must be one of the following types:
  1. Security
  2. Moderation
  3. Privacy
  4. Integrity
  5. Generic
To configure a Guard:
  • specify the type of Guard
  • provide a list of Detectors of the same type as the Guard
  • specify whether Detectors should run serially or in parallel (run-parallel)
  • specify whether all Detectors should run, or execution should terminate as soon as one Detector is a hit (early-exit)

Step 3: Select and Configure Detectors

Guards are made up of Detectors. To set up your Guards:
  1. Choose specific Detectors from Dome’s growing library
  2. Configure each Detector with settings like thresholds or context-length.
These settings depend on the Detector used. Please see the list of detection methods for a comprehensive list of all the detection methods Vijil currently offers and the settings they have.

Example

Configuring Dome via a TOML file

Dome configurations can also be described via .toml files. This enables users to easily save and edit configurations. Instantiating Dome from a TOML file is identical to instantiating it from a dictionary.
An example of a TOML configuration is shown below, followed by its corresponding dictionary representation.
The corresponding dictionary for this config would be:
To create a TOML configuration for Dome, ensure that you have a field named guardrail that lists out the input and output Guards, and the parallel execution/early termination settings you need. To specify settings for a method in a Guard, use <GUARD_NAME>.<METHOD_NAME>.
When specifying booleans in the TOML, please ensure to use lowercase values (i.e, ‘true’ and ‘false’).

Overall Config Structure

The guardrail field describes the high level structure of a Dome configuration. Inside a Guardrail specification, the configuration of each Guard module can be specified by creating a new field with the module name. Each guard module has four attributes. Finally, to customize a configuration at the method-level, you need to create a new field with the name <MODULE-NAME>.<METHOD-NAME>. In the example above, prompt-injection.security-llm describes the configuration settings for the security-llm method of the prompt-injection Guard module. This configuration scheme lets users create custom settings for different groups and use the same method with different settings in a Guardrail. See the next section for detailed instructions on the options available for each method.
Last modified on April 28, 2026