Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.vijil.ai/llms.txt

Use this file to discover all available pages before exploring further.

Red teaming goes beyond standard Harnesses by simulating realistic adversarial users. Personas define who is attacking, Policies define the rules Agents must follow, and red team campaigns execute multi-strategy attack sequences.

Personas

Personas represent user archetypes — from benign customers to malicious attackers — that shape how Probes are generated for custom Harnesses.
CommandDescription
vijil persona preset-listList built-in Persona presets
vijil persona from-presetCreate a Persona from a preset
vijil persona createCreate a custom Persona
vijil persona listList Personas
vijil persona getGet a specific Persona
vijil persona updateUpdate a Persona
vijil persona deleteDelete a Persona

vijil persona preset-list

List built-in Persona presets. Presets are categorized as professional, adversarial, or support.
vijil persona preset-list
vijil persona preset-list --preset-category adversarial
FlagDescription
--preset-categoryFilter by category: professional, adversarial, support
--limitMaximum number of results
--offsetNumber of results to skip
--jsonOutput as JSON

vijil persona from-preset

Create a Persona from a preset.
vijil persona from-preset <preset_id>
vijil persona from-preset <preset_id> --name-override "Custom Attacker"
FlagDescription
--name-overrideOverride the preset’s default name
--jsonOutput as JSON

vijil persona create

Create a custom Persona.
vijil persona create \
  --name "Frustrated Customer" \
  --role "End user" \
  --intent adversarial \
  --knowledge-level intermediate
FlagDescription
--namePersona display name (required)
--rolePersona role (required)
--role-descriptionExtended role description
--intentbenign, curious, adversarial, or malicious
--knowledge-levelbeginner, intermediate, advanced, or expert
--skill-levelnovice, competent, proficient, or expert
--languageLanguage the Persona uses
--tagsTags (JSON array)
--jsonOutput as JSON

vijil persona list

List Personas for the active team.
vijil persona list
vijil persona list --intents adversarial,malicious
FlagDescription
--intentsFilter by intent(s): benign, curious, adversarial, malicious
--is-presetShow only presets
--searchSearch in name, description, and role
--limitMaximum number of results
--offsetNumber of results to skip
--jsonOutput as JSON

vijil persona get

Get a specific Persona.
vijil persona get <persona_id> --json

vijil persona update

Update a Persona.
vijil persona update <persona_id> --intent malicious --skill-level expert
Accepts the same flags as vijil persona create.

vijil persona delete

Delete a Persona.
vijil persona delete <persona_id>
vijil persona delete <persona_id> --yes   # skip confirmation

Policies

Policies define the rules and constraints agents must follow. Attaching Policies to a custom Harness generates Probes that specifically test compliance.
CommandDescription
vijil policy preset-listList built-in Policy presets
vijil policy from-presetCreate a Policy from a preset
vijil policy createCreate a custom Policy
vijil policy listList Policies
vijil policy getGet a specific Policy
vijil policy activateActivate a Policy
vijil policy patchUpdate a Policy
vijil policy deleteDelete a Policy
vijil policy add-ruleAdd a rule to a Policy
vijil policy rule-listList rules in a Policy

vijil policy preset-list

List built-in Policy presets.
vijil policy preset-list
vijil policy preset-list --category compliance
FlagDescription
--categoryFilter by category
--limitMaximum number of results
--offsetNumber of results to skip
--jsonOutput as JSON

vijil policy from-preset

Copy a preset Policy into your team.
vijil policy from-preset <preset_id>
vijil policy from-preset <preset_id> --name-override "GDPR Policy"

vijil policy create

Create a Policy from text.
vijil policy create \
  --name "Data Handling Policy" \
  --category privacy \
  --source-text "The agent must not store or repeat personal data..."
FlagDescriptionRequired
--namePolicy display nameYes
--categoryprivacy, ethics, security, compliance, operational, brand, or customYes
--descriptionPolicy description
--source-textFull policy text
--tagsTags (JSON array)
--jsonOutput as JSON

vijil policy list

List Policies for the active team.
vijil policy list
vijil policy list --category security --status active
FlagDescription
--categoryFilter by category
--statusFilter by status
--searchSearch in name and description
--limitMaximum number of results
--offsetNumber of results to skip
--jsonOutput as JSON

vijil policy get

Get a specific Policy.
vijil policy get <policy_id> --json

vijil policy activate

Activate a draft Policy so it can be used in Harness generation.
vijil policy activate <policy_id>

vijil policy patch

Update Policy metadata.
vijil policy patch <policy_id> \
  --name "Updated Policy Name" \
  --status active
FlagDescription
--nameNew name
--descriptionNew description
--categoryNew category
--statusdraft, active, or archived
--source-textNew policy text
--tagsTags (JSON array)
--jsonOutput as JSON

vijil policy delete

Delete a Policy.
vijil policy delete <policy_id>
vijil policy delete <policy_id> --yes

vijil policy add-rule

Add a structured rule to a Policy.
vijil policy add-rule <policy_id> \
  --rule-type prohibition \
  --action "share" \
  --natural-language "The agent must not share customer PII with third parties." \
  --consequence '{}'
FlagDescriptionRequired
--rule-typepermission, prohibition, obligation, or recommendationYes
--actionAction the rule governsYes
--natural-languageHuman-readable rule statementYes
--consequenceConsequence definition (JSON object)Yes
--targetTarget entity
--assigneeAssignee entity
--categoryRule category
--jsonOutput as JSON

vijil policy rule-list

List rules within a Policy.
vijil policy rule-list --policy-id <policy_id>
FlagDescription
--policy-idFilter by policy ID
--statusFilter by rule status
--categoryFilter by category
--limitMaximum number of results
--offsetNumber of results to skip
--jsonOutput as JSON

Red Team Campaigns

Red team campaigns run adversarial attack sequences against your Agent using dedicated tools such as Garak, PromptFoo, and PyRIT.
CommandDescription
vijil redteam toolsList available red team tools
vijil redteam runStart a campaign
vijil redteam statusCheck campaign status
vijil redteam resultsGet campaign results
vijil redteam logsGet campaign logs
vijil redteam listList campaigns
vijil redteam cancelCancel a running campaign
vijil redteam deleteDelete a campaign

vijil redteam tools

List available red team tools and their supported attack categories.
vijil redteam tools --json

vijil redteam run

Create and start a red team campaign.
vijil redteam run \
  --tool garak \
  --agent-id "$AGENT_ID" \
  --purpose "Customer support chatbot" \
  --categories '["jailbreak", "prompt_injection"]' \
  --num-tests 20 \
  --wait
FlagDescriptionRequired
--tooldiamond_security, promptfoo, garak, pyrit, or unknownYes
--purposeAgent purpose description (used for context-aware attacks)Yes
--categoriesAttack categories to test (JSON array)Yes
--agent-idAgent ID (resolves the endpoint URL automatically)
--agent-urlTarget Agent endpoint URL (if not using --agent-id)
--agent-api-keyAPI key for the target Agent
--agent-model-nameModel name if the Agent is an LLM gateway
--num-testsNumber of test cases per category
--strategiesEvaluation strategies (JSON array, tool-specific)
--custom-pluginsCustom plugin names (JSON array, for CUSTOM category)
--provider-configProvider-specific configuration (JSON object)
--waitPoll until the campaign completes
--jsonOutput as JSON
Save the campaign ID from the output:
export CAMPAIGN_ID="c1d2e3f4-..."

vijil redteam status

Check the status of a campaign.
vijil redteam status <campaign_id> --json

vijil redteam results

Get the results of a completed campaign.
vijil redteam results <campaign_id> --json

vijil redteam logs

Get execution logs for a campaign.
vijil redteam logs <campaign_id> --json

vijil redteam list

List all red team campaigns for the active team.
vijil redteam list --json

vijil redteam cancel

Cancel a running campaign.
vijil redteam cancel <campaign_id>

vijil redteam delete

Delete a campaign.
vijil redteam delete <campaign_id>
vijil redteam delete <campaign_id> --yes
Last modified on May 19, 2026