Protegrity Agent enables security and data teams to obtain information about data protection using natural, conversational language. It allows to inquire about policy behavior, product capabilities, and related functionality. The Agent provides responses based on authoritative product documentation and contextual information.
The Agent operates in a read-only capacity. It provides assistance by explaining features, providing guidance, and surfacing relevant information. However, it does not modify configurations, policies, or system settings.
The key capabilities of Protegrity Agent include:
Natural Language Interaction: Inquire about Protegrity products and data protection workflows using natural, conversational language.
Documentation-Grounded Guidance: Access product information, explanations, and procedural guidance from Protegrity Traverse and Policy documentation through semantic search that understands the intent and context of questions.
Bring Your Own Model (BYOM): Configure supported chat and embedding models for the deployment. Supported chat providers include OpenAI-compatible services, Azure OpenAI, Anthropic, and Google Gemini. Supported embedding providers include OpenAI, Voyage, and Google Gemini.
Conversation Continuity: Continue previous conversations across sessions while preserving relevant context to support a seamless user experience.
Role-Based Access Control: Ensure conversations remain private to their respective owners, while restricting model configuration and management capabilities to designated Model Administrators.
Read-Only Operations: Protegrity Agent v1.2 operates exclusively in read-only mode. It provides explanations of product capabilities, workflows, and configurations, but does not create, modify, or delete configurations within Protegrity products.
1 - Prerequisites
List of prerequisites required to install Protegrity Agent.
The following requirements are met before installing Protegrity Agent v1.2.0 with PPC v1.2.0.
To configure kubectl on Microsoft Azure, run the following command:
az aks get-credentials --resource-group <resource-group> --name <cluster-name>
Verifying cluster name
Verify that the correct cluster is used before proceeding.
kubectl config current-context
Note (Azure): The PPC AKS clusters are private (*.privatelink.<region>.azmk8s.io). After fetching credentials, confirm the API is reachable using kubectl get ns command.If the system hangs, then the cluster needs a private network path, such as VPN, jumpbox, or private DNS.
Cloud Vendor ConfigMap
The Helm chart uses the CLOUD_VENDOR key to determine which cloud provider-specific resources are to be deployed.
Ensure that the CLOUD_VENDOR key is present and set to the appropriate value for the target environment, such as aws or azure. If the key is missing or incorrectly configured, the chart may render resources that are not supported by the target platform, causing the installation to fail.
To verify this before installing, run the following command:
kubectl get configmap nfa-config -n default -o jsonpath='{.data.CLOUD_VENDOR}{"\n"}'
For Azure, the AKS: value must be "azure".
For AWS, the AWS/EKS: value must be "aws" or empty.
The ARCHITECTURE key (amd64 | arm64, default amd64) for'
arm64 architecture uses Azure Ampere nodes in Azure and AWS Graviton nodes in AWS.
Supported Models
The Protegrity Agent requires an administrator to configure the underlying LLM models before any usage. The model configuration is provided by the organization’s administrator. Both an LLM chat model and an embeddings models must be configured.
When configuring a model, the BYOM CLI requires several mandatory configuration fields. These values must be obtained from the selected model provider and supplied during the configuration process.
The following are the models supported by Agent v1.2.0.
¹ For azure-openai, model is the Azure deployment name.
² For google-gemini, sa_json is the full contents of the Vertex AI service-account JSON key file.
Supported Embedding providers
Embedding models are a fixed allowlist — only the exact model shown below is accepted per provider.
¹ For azure-openai, model is the Azure deployment name.
² For google-gemini, sa_json is the full contents of the Vertex AI service-account JSON key file.
Note: Anthropic does not offer an embedding API. Use voyage, openai, or azure-openai for embeddings when your LLM is Anthropic.
2 - Installing Protegrity Agent
Steps to install Protegrity Agent.
The Protegrity Agent v1.2.0 can be installed using helm chart 2.0.0. The helm chart deploys the following components.
Component
Description
Protegrity Agent Service
Main application service
PostgreSQL Database
Persistent database
Web UI
Web interface for Protegrity Agent
Installing Protegrity Agent
Perform the following steps to install Protegrity Agent.
1. Creating Namespaces and Database Secrets
The namespaces and Database secrets must be created only once per cluster. These can be reused for subsequent upgrades and re-installs. Ensure to only replace the Secret when rotating credentials.
To create Namespaces and Database Secrets, run the following command:
Before installing the Helm chart, copy the registry pull secret into the pty-protegrity-agent namespace. By default, the secret is named harbor-secret in the default namespace:
Note: If deploying from the Protegrity Container Registry, use registry.protegrity.com:9443
Verifying the installation
To verify the installation, run the following command:
kubectl get pods -n pty-protegrity-agent -w
Ensure the status of the pods is Ready.
3 - Creating Agent Users
Steps to create Agent Users
Agent users must have one or more roles that determine their permissions and capabilities.
The Protegrity Agent Helm chart creates the required roles during installation. Assign them to separate PPC user accounts or combine them with other roles on a single account. To assign multiple roles, provide a comma-separated list.
When assigning Agent roles to an account that already has roles for other PPC products or features, include every role the account should retain. Updating a user’s roles replaces the existing role list. For instructions on creating users and managing role assignments, see the PPC Admin CLI user-management instructions.
Each role grants the capabilities listed in the following table. The following roles are created during installation.
PPC role
Description
agent-user
Run Agent conversations grounded in bundled product documentation
agent-model-administrator
Inspect and change model configuration through the PPC CLI
Note: To access the Insight logs, assign the security_viewer role.
Note: To access the Agent panel, assign the agent-user role.
Creating users
To create the users, perform the following steps:
Log in to the PPC CLI and sign in to the CLI Manager as the admin user. For instructions on connecting over SSH and signing in, see Accessing the PPC CLI.
To verify if the required users are successfully created, run the following command:
admin list users
4 - Configuring BYOM
Steps to configure the Bring Your Own Model (BYOM) LLM Model
Supported Models
When configuring a model, the BYOM CLI requires several mandatory configuration fields. These values must be obtained from the selected model provider and supplied during the configuration process.
For more information about the supported models and configurations, refer to Supported Models.
Configuring BYOM
Before you begin
If a PPC CLI session was opened before installing the Agent, it will not detect the new installation. After installing the Agent, start a new PPC CLI session before configuring BYOM. Do not reuse an existing session. This applies whenever you configure or update BYOM, not only immediately after installation. If the base Agent URL has changed, exit all existing sessions gracefully and start a new session so it uses the updated URL.
Configuring BYOM
To configure BYOM, perform the following steps:
Log in to the CLI using an user with agent-model-administrator permissions.
To fetch the current model, run the following command:
agent get model-config
To configure the model configuration, run the following command:
To access the Protegrity Agent in the Web UI, use a PPC user account assigned the agent-user role. For example, you can create an account named proagent-user. For instructions, refer to Creating Agent Users.
Access the Agent using the FQDN provided during the installation process.
https://<cluster-FQDN>
Enter the following parameters to log in and view the homepage.
Username: Username of the user with agent-user role.
Password: Password of the user with agent-user role.
For more information about the credentials and role management, refer to Log in to PPC.
The Agent window appears on the screen.
6 - Upgrading the Agent to v1.2.0
Steps to upgrade the Agent
Upgrading from Protegrity Agent v1.0 (Helm chart 1.0.0 or 1.1.0) to v1.2.0 (Helm chart 2.0.0) performs a one-time migration of the embedded database from PostgreSQL 17 to PostgreSQL 18. The upgrade process also updates the database schema to the version required by Protegrity Agent v1.0.
6.1 - Migrating conversation ownership
Steps to migrate conversation ownership
Protegrity Agent v1.0 does not track conversation ownership. All users with access to the Agent share a single pool of conversations.
Protegrity Agent 1.2.0 introduces per-user conversation ownership. As a result, conversations are visible only to their respective owners.
Because Agent v1.0 did not record the original creator of each conversation, the migration process cannot restore conversations to their original owners.
To migrate the ownership, select one of the following options:
Choice
Setting
Result
Assign all existing Agent 1.0 conversations to a single user
migration.legacyConversationOwner=<username>
All Agent 1.0 conversations are assigned to the specified user. Only that user can view and continue those conversations after the migration.
Keep conversations ownerless (default)
Leave migration.legacyConversationOwner unset
Conversation data is preserved; however, it is inaccessible after migration because the Agent 1.2 API does not permit access to ownerless conversations.
In both migration scenarios, users other than the designated owner lose access to the conversations that were available to them in Protegrity Agent v1.0.
The conversation ownership strategy should be selected before the migration and documented as part of the upgrade plan. After the migration is complete, the ownership assignment cannot be changed through the Protegrity Agent user interface or API. Modifying conversation ownership requires direct updates to the underlying database.
6.2 - Preparing database credentials
Steps to prepare database credentials
The helm chart v2.0.0 requires a pre-existing database credentials Secret and no longer creates the Secret from Helm values during installation.
For upgrades from Helm chart v1.1.0, the Helm-managed database-secrets resource is retained and can continue to use its default name. Helm chart v1.0.0 does not retain this Secret.
The following procedure creates a new unmanaged Secret by copying the existing database credentials. The procedure is applicable to upgrades from either version. It copies the encoded Secret data without exposing the database password in command output.
Add --set databaseService.credentials.existingSecretName=protegrity-agent-db-credentials flag
to both Helm commands in while upgrading to prevent credential loss.
6.3 - Upgrading the Agent to v1.2.0
Steps to upgrade the Agent
Before you begin
Ensure that the PPC is upgraded to v1.2.0.
Verify that the platform publishes the application-node machine type required by chart 2.0.0, using the following command:
kubectl get configmap nfa-config -n default \
-o jsonpath='{.data.CLOUD_VENDOR}{"\t"}{.data.ARCHITECTURE}{"\t"}{.data.USERPOOL_INSTANCE_TYPE}{"\n"}'
Do not proceed with the upgrade if the machine type is empty. Using a PPC user credentials, update the PPC ConfigMap to specify a valid machine type. Alternatively, provide a machine type override by adding the following parameter to both Helm commands used during the upgrade:
Do not use --reuse-values or --reset-then-reuse-values when upgrading from Helm chart v1.x to v2.0.0:
--reuse-values preserves the existing 1.x values and does not incorporate the new chart defaults, which can cause template rendering failures.
--reset-then-reuse-values applies the new defaults but can silently discard customizations stored under configuration keys that were renamed between chart versions.
For reliable upgrade behavior, explicitly define all required overrides in the new values-2.0.yaml file and provide that file to the upgrade commands.
Upgrading Agent to v1.2.0
To upgrade the Agent to v1.2.0, perform the following steps:
Execute the upgrade process with migration enabled. Ensure this step is performed only once while migrating the helm chart from v1.x to v2.0.0. Run the following command:
The Helm waits for both the pre-upgrade and post-upgrade hooks to complete before reporting the upgrade status.
A successful initial helm upgrade confirms that the database dump, restore, and schema migration jobs completed successfully. After the successful completion of these jobs, they are automatically removed by the chart.
If the upgrade fails, inspect the failed job that was retained by the chart. To review its logs and determine the cause of the failure, run the following command.
kubectl get jobs -n pty-protegrity-agent \
-l app.kubernetes.io/component=pg-migration
kubectl logs -n pty-protegrity-agent job/<failed-job-name> --tail=100
6.4 - Decommissioning the connection to PIM
Steps to decommission the connection to Protegrity Policy Information Management (PIM)
Protegrity Agent v1.2.0 does not connect to a live PIM tenant. Agent responses are generated exclusively from the bundled Traverse and Policy product documentation.
The Agent operates in a read-only mode and does not perform create, modify, or delete operations against any Protegrity product. As a result, workflows in Agent v1.0 that depended on the Agent executing PIM operations are not supported in Agent v1.2.0.
As part of the upgrade, remove any PIM-specific endpoint configurations, credentials, and network egress rules that were provisioned solely for the Agent v1.0 integration.
6.5 - Migrating users
Steps to migrate users
Agent access definitions are reapplied during every helm upgrade through the ProductConfiguration custom resource.
User-to-role assignments stored in the PPC authentication layer are not migrated automatically. Before removing any legacy assignments, assign the replacement Agent roles to all existing user accounts and verify that each user can successfully sign in and access the Agent.
Remove the legacy role assignments only after validating that the new assignments function as expected for all users.
Existing PPC role
Replacement Agent role
proagent_administrator
agent-user
agent_admin
agent-user
Note: To access the Agent panel, assign the agent-user role.
The agent-model-administrator role is introduced in Protegrity Agent v1.2.0 and has no equivalent in Agent v1.0. Assign this role explicitly to users who need permission to configure and manage models.
Protegrity Agent v1.2.0 does not require any workbench_* roles. Existing Workbench role assignments may be retained or removed based on the Policy Workbench responsibilities of the required user. It has no impact on Agent access or permissions.
Migrating users
To migrate users, perform the following steps:
Complete the helm chart v2.0.0 upgrade. This ensures that the new Agent role definitions exist.For more information about upgrading the helm chart to v2.0.0, refer to Upgrading the Agent to v1.2.0.
Verify that the replacement PPC roles are available with GET /pty/v1/auth/roles.To inspect role definitions, run the following command:
Add the required PPC assignment for the replacement role to every existing user account. Assign agent-model-administrator explicitly to the accounts that should manage models. Ensure that any Agent v1.0 roles are attached to it.
Verify that users assigned the agent-user role can use conversations but receive a 403 error when running /model-config.
Verify that users assigned the agent-model-administrator role can use /model-config but receive a 403 error when running /conversations.
Remove the old proagent_administrator and agent_admin assignments only after all affected accounts successfully verify these checks.
Run admin list users command and confirm that every migrated account has the expected replacement assignments and no obsolete assignments.
7 - Uninstalling the Agent
Steps to uninstall the Agent
The following procedure removes Protegrity Agent 1.2.0 (Helm chart 2.0.0) from supported AWS and Azure PPC environments. If custom resource names were used during installation, substitute the default names in the commands accordingly.
Before beginning the uninstallation process, verify that the correct Kubernetes context is selected and back up any required data, credentials, or configuration information stored outside the Agent volumes. The uninstallation process may remove resources such as the backup Persistent Volume Claim (PVC) and the database Secret created through External Secrets.
To uninstall Agent v1.2.0, perform the following steps:
Remove the Agent product registration before proceeding with the uninstallation. Ensure that the platform controllers remain operational throughout the process to support the successful removal of Agent resources. Run the following command.
To verify the Agent node cleanup before reinstalling or deleting the namespace, run the following command:
kubectl get nodepool protegrity-agent --ignore-not-found
kubectl get nodeclaims,nodes -l karpenter.sh/nodepool=protegrity-agent
Additionally, verify the node class for the required cloud.
Cloud
Verification Command
AWS
kubectl get ec2nodeclass protegrity-agent-nodeclass --ignore-not-found
Azure
kubectl get aksnodeclass protegrity-agent-nodeclass --ignore-not-found
No resources should be returned by the verification commands. If cleanup is still in progress, wait for the associated resources to be removed and repeat the verification steps.
If Karpenter resources are disabled, node class verification can be skipped. Any node classes that are managed outside of the Agent deployment should remain in place and must not be removed.
Optionally, delete the Agent namespace to perform a complete removal of all Agent resources. Deleting the namespace removes any remaining Persistent Volume Claims (PVCs), Secrets, and other namespace-scoped resources.
Note: Skip this step if these resources must be retained for a future reinstallation or recovery scenario.
Note: If a command fails or times out, stop and ask your PPC administrator to investigate. Do not automatically remove finalizers; they protect controller cleanup. Neither AWS nor Azure requires a finalizer patch for normal uninstall.