About scanners in the CalypsoAI Platform
ℹ️ INFERENCE DEFEND
Scanners are only available in our Inference Defend product.
⚠️ ROLES AND PERMISSIONS
To work with scanners, users must have the required permissions. You can either use the default roles provided with the CalypsoAI Platform or you can create and customize your own custom roles, choosing only the permissions relevant to your specific role requirements.
Scanners are the core capability of our Inference Defend product. They are real-time policies for monitoring and intercepting traffic coming in and out of your large language models (LLMs) and applications, acting as policies with detection rules. Scanners identify undesirable content based on keywords, regular expressions, AI-generated definitions, or our own proprietary scanning models.
Scanners are not limited to just scanning LLMs. With our Scans API resource, you can integrate our scanners with any applications that connect through text, and with any chat-based data flow, allowing you to use our proprietary scanning engine for non-LLM contexts.
💡 CONFIGURING SCANNERS
You can configure scanners for blocking, auditing, or redacting.
- Blocking stops undesirable content from sending or being received.
 - Auditing flags content without blocking it, allowing for observation and tuning.
 - Redacting (keyword and regex scanners only) replaces content that matches your configured scanner definition with asterisks, in both prompts and responses. Prompts are still sent, and responses are still received.
 
Default scanners
The CalypsoAI Platform comes with several out-of-the-box scanner packages created by our research team. These scanners protect against the most common risks associated with AI systems. To ensure the most comprehensive protection, we keep all our default scanners and scanner packages regularly updated.
Currently, we provide the following four default scanner packages:
- EU AI Act package: The scanners in this package scan for content outlined as prohibited in Chapter II, Art. 5 of the EU AI Act.
 - Restricted topics package: Includes scanners that scan for content containing medical, financial, or legal information in contexts where this information should not be provided by an LLM.
 - PII package: Scans for mentions of personal identifiable information, for example:
- Credit card numbers
 - Phone numbers
 - Email addresses
 
 - Prompt injection package: Prompt injection is a type of adversarial attack where malicious instructions are included in an LLM prompt, changing the LLMs behavior and posing a security risk.
The prompt injection scanner package contains scanners that detect attempts to compromise model instructions and extract sensitive information through jailbreaking, prompt injection, and other similar techniques.
 
Custom scanners
In addition to the scanners provided with CalypsoAI, you can also create and configure your own custom scanners, tailored to your specific use cases and business needs.
Learn how to create a custom scanner
Use cases for custom scanners include scanning for the following:
- Confidential project information
 - Details of a company merger or acquisition
 - Employee or customer details
 - Proprietary information, for example, trade names, product codes, or chemical formulas
 
You can create the following three types of custom scanners:
GenAI scanners
GenAI scanners use natural language instructions to intelligently block or flag unauthorized content by understanding both the intent of the scanner and the content of the prompt or response.
GenAI scanners are most useful for finding conceptual content or ideas that can only be understood in context. You should not use GenAI scanners to scan for easily-definable terms, or terms that follow a pattern.
For example, we can create a GenAI scanner that scans for prompts that mention a political figure, based on the input provided in the Description field.

When sending a prompt that mentions a political figure, in this case Abraham Lincoln, the GenAI scanner scans the prompt, recognizes that a political figure is mentioned, and blocks the prompt from sending.

Regex scanners
Regex scanners use regular expressions to scan text, and block, flag, or redact content based on a regex pattern you can configure.
Regex scanners are most useful for finding content that follows a predictable, highly specific pattern, such as email addresses or URLs.
For example, we can create a regex scanner that scans for prompts that contain an email address, based on the input provided in the Regular expression field.

When sending a prompt that contains an email address, in this case test@example.com, the regex scanner scans the prompt, recognizes that an email address is mentioned, and blocks the prompt from sending.

Keyword scanners
Keyword scanners scan text, and block, flag, or redact any content that contains specific keywords you can configure.
Learn how to create a custom keyword scanner
For example, we can create a keyword scanner that scans prompts for any text that mentions the proprietary product code PROD0001, based on the input provided in the Keywords field.

When sending a prompt that contains PROD0001, the keyword scanner scans the prompt, recognizes that PROD0001 is mentioned, and blocks the prompt from sending.

Scanner versioning
In CalypsoAI, the custom scanners you create are versioned. Custom scanner versioning is a feature that allows you to create and iterate over scanner versions.
Learn more about scanner versioning
With scanner versioning, you can do the following:
- Track changes between versions.
 - Test new scanner configurations without affecting live production systems.
 - Compare versions before switching, avoiding service interruption.
 - Tune and update your scanners iteratively, without having to delete scanners and start over.
 
Every time you create or update a scanner, you need to save a new version. Saving a scanner version does not mean it is active. Before you can start using your custom scanner, you must publish it. Publishing a scanner version makes it available for scanning prompts and scan requests, and for use in your projects and scanner packages.
Learn how to publish a scanner
ℹ️ SCANNER VERSIONS
Only one scanner version can be active at a time, but individual projects can use different versions of the same scanner.
The Version history list, located in the Edit menu of each scanner, displays a running list of all versions created for a scanner, with the oldest version at the bottom and the most recent version at the top.
The Version history list also shows which versions are published.
- The Published label indicates that a scanner version was previously published.
 - The Latest published label is displayed next to the most recently published version. For additional clarity, a blue dot is also displayed next to the most-recently published scanner version.
 

For scenarios where you need to mandate the use of a particular scanner, you have the option to enforce a scanner.
Enforcing a scanner does the following:
- Adds the scanner to all projects in your CalypsoAI environment, and enables the most recent published version.
 - Restricts project members from editing or deleting it.
 - Restricts project members from deactivating it.
 
ℹ️ ENFORCED SCANNERS
When a new version of an enforced scanner is published, the version is automatically pushed to all projects.
Scanner packages
To manage your custom scanners more efficiently, you can create scanner packages.
Scanner packages allow you to do the following:
- Group similar scanners together based on themes, business needs, or use cases.
 - Simplify the process of adding scanners to projects.