LogoLogo
KeeperPAM and Secrets Manager
KeeperPAM and Secrets Manager
  • KeeperPAM
  • Privileged Access Manager
    • Setup Steps
    • Quick Start: Sandbox
    • Getting Started
      • Architecture
        • Architecture Diagram
        • Vault Security
        • Router Security
        • Gateway Security
        • Connection and Tunnel Security
      • KeeperPAM Licensing
      • Enforcement Policies
      • Vault Structure
      • Record Linking
      • Applications
      • Devices
      • Gateways
        • Creating a Gateway
        • Docker Installation
        • Linux Installation
        • Windows Installation
        • Auto Updater
        • Sharing Gateways
        • Alerts and SIEM Integration
        • Advanced Configuration
          • Gateway Configuration with AWS KMS
          • Gateway Configuration with Custom Fields
      • PAM Configuration
        • AWS Environment Setup
        • Azure Environment Setup
        • Local Environment Setup
      • PAM Resources
        • PAM Machine
          • Example: Linux Machine
          • Example: Azure Windows VM
        • PAM Database
          • Example: MySQL Database
          • Example: PostgreSQL Database
          • Example: Microsoft SQL Server Database
        • PAM Directory
        • PAM Remote Browser
        • PAM User
      • Access Controls
      • Just-In-Time Access (JIT)
    • Password Rotation
      • Rotation Overview
      • Rotation Use Cases
        • Local Network
          • Active Directory or OpenLDAP User
          • Windows User
          • Linux User
          • macOS User
          • Database
            • Native MySQL
            • Native MariaDB
            • Native PostgreSQL
            • Native MongoDB
            • Native MS SQL Server
            • Native Oracle
        • Azure
          • Azure AD Users
          • Azure VM User Accounts
          • Azure Managed Database
            • Azure SQL
            • Azure MySQL - Single or Flexible Database
            • Azure MariaDB Database
            • Azure PostgreSQL - Single or Flexible Database
          • Azure App Secret Rotation
        • AWS
          • IAM User Password
          • Managed Microsoft AD User
          • EC2 Virtual Machine User
          • IAM User Access Key
          • Managed Database
            • AWS RDS for MySQL
            • AWS RDS for SQL Server
            • AWS RDS for PostgreSQL
            • AWS RDS for MariaDB
            • AWS RDS for Oracle
        • SaaS Rotation Plugins
        • Custom Scripts
          • Okta User
          • Snowflake User
          • Rotate Credential via REST API
          • Cisco IOS XE
          • Cisco Meraki
      • Service Management
      • Post-Rotation Scripts
        • Inputs and Outputs
        • Attaching Scripts
        • Code Examples
    • Connections
      • Getting Started
      • Session Protocols
        • SSH Connections
        • RDP Connections
        • MySQL Connections
        • SQL Server Connections
        • PostgreSQL Connections
        • VNC Connections
        • Telnet Connections
        • Kubernetes
        • RBI Connections
      • Examples
        • SSH Protocol - Linux Machine
        • RDP Protocol - Azure Virtual Machine
        • MySQL Protocol - MySQL Database
        • PostgreSQL Protocol - PostgreSQL Database
    • Tunnels
      • Setting up Tunnels
    • Remote Browser Isolation
      • Setting up RBI
        • URL Patterns & Resource URL Patterns
        • Browser Autofill
    • Session Recording & Playback
    • SSH Agent
      • Integration with Git
    • Discovery
      • Discovery Basics
      • Discovery using Commander
      • Discovery using the Vault
    • KeeperAI
    • On-Prem Connection Manager
    • References
      • Port Mapping
      • Setting up SSH
      • Setting up WinRM
      • Gateway Network Configuration
      • Setting up SQL Server
      • Database Import and Export
      • Installing sqlcmd on Linux
      • Installing Docker on Linux
      • Creating KSM App for Rotation
      • Active Directory Least Privilege
      • Event Reporting
      • Importing PAM Records
      • Managing Rotation via CLI
      • ITSM Integration
      • Vendor Privileged Access Management
      • Commander SDK
      • Cron Spec
      • Preview Access
  • Endpoint Privilege Manager
    • Overview
    • Setup
    • Deployment
    • Collections
    • Policies
      • Example Policies
    • Managing Requests
  • Best Practices
  • FAQs
  • Secrets Manager
    • Secrets Manager Overview
    • Quick Start Guide
    • About KSM
      • Architecture
      • Terminology
      • Security & Encryption Model
      • One Time Access Token
      • Secrets Manager Configuration
      • Sharing Secrets Manager Applications
      • Keeper Notation
      • Event Reporting
      • Field/Record Types
    • Secrets Manager CLI
      • Profile Command
      • Init Command
      • Secret Command
      • Folder Command
      • Sync Command
      • Exec Command
      • Config Command
      • Version Command
      • Misc Commands
      • Docker Container
      • Custom Record Types
    • Password Rotation
    • Developer SDKs
      • Python SDK
      • Java/Kotlin SDK
        • Record Field Classes
      • JavaScript SDK
      • .NET SDK
      • Go SDK
        • Record Field Classes
      • PowerShell
      • Vault SDKs
    • Integrations
      • Ansible
        • Ansible Plugin
        • Ansible Tower
      • AWS CLI Credential Process
      • AWS Secrets Manager Sync
      • AWS KMS Encryption
      • Azure DevOps Extension
      • Azure Key Vault Sync
      • Azure Key Vault Encryption
      • Bitbucket Plugin
      • Docker Image
      • Docker Runtime
      • Docker Writer Image
      • Entrust HSM Encryption
      • Git - Sign Commits with SSH
      • GitHub Actions
      • GitLab
      • Google Cloud Secret Manager Sync
      • Google Cloud Key Management Encryption
      • Hashicorp Vault
      • Heroku
      • Jenkins Plugin
      • Keeper Connection Manager
      • Kubernetes External Secrets Operator
      • Kubernetes (alternative)
      • Linux Keyring
      • Model Context Protocol (MCP) for AI Agents (Docker)
      • Model Context Protocol (MCP) for AI Agents (Node)
      • Octopus Deploy
      • Oracle Key Vault Encryption
      • PowerShell Plugin
      • ServiceNow
      • TeamCity
      • Teller
      • Terraform Plugin
        • Terraform Registry
      • Windows Credential Manager
      • XSOAR
    • Troubleshooting
  • Commander CLI
    • Commander Overview
    • Installation and Setup
      • CLI Installation on Windows
      • CLI Installation on macOS
      • CLI Installation on Linux
      • Python Developer Setup
      • .NET Developer Setup
      • PowerShell Module
      • Logging in
      • Configuration and Usage
        • AWS Secrets Manager
        • AWS Key Management Service
      • Automating with Windows Task
      • Automating with AWS Lambda
      • Uninstallation
    • Command Reference
      • Import and Export Data
        • Import/Export Commands
        • CyberArk Import
        • LastPass Data Import
        • Delinea / Thycotic Secret Server Import
        • Keepass Import
        • ManageEngine Import
        • Myki Import
        • Proton Pass Import
        • CSV Import
        • JSON Import
      • Reporting Commands
        • Report Types
      • Enterprise Management Commands
        • Creating and Inviting Users
        • Compliance Commands
        • Breachwatch Commands
        • SCIM Push Configuration
      • Record Commands
        • Record Type Commands
        • Creating Record Types
      • Sharing Commands
      • KeeperPAM Commands
      • Connection Commands
        • SSH
        • SSH Agent
        • RDP
        • Connect Command
        • SFTP Sync
      • Secrets Manager Commands
      • MSP Management Commands
      • Miscellaneous Commands
      • Password Rotation
        • Password Rotation Commands
        • AWS Plugin
        • Azure Plugin
        • Microsoft SQL Server Plugin
        • MySQL Plugin
        • Oracle Plugin
        • PostgreSQL Plugin
        • PSPasswd Plugin
        • SSH Plugin
        • Unix Passwd Plugin
        • Windows Plugin
        • Active Directory Plugin
        • Automatic Execution
    • Service Mode REST API
    • Troubleshooting
Powered by GitBook

Company

  • Keeper Home
  • About Us
  • Careers
  • Security

Support

  • Help Center
  • Contact Sales
  • System Status
  • Terms of Use

Solutions

  • Enterprise Password Management
  • Business Password Management
  • Privileged Access Management
  • Public Sector

Pricing

  • Business and Enterprise
  • Personal and Family
  • Student
  • Military and Medical

© 2025 Keeper Security, Inc.

On this page
  • About
  • The compliance-report command
  • Cache
  • Filters
  • Outputting to a File
  • The compliance command
  • Compliance Team Report
  • Compliance Record-Access Report
  • Compliance Summary Report
  • Compliance Shared-Folder Report

Was this helpful?

Export as PDF
  1. Commander CLI
  2. Command Reference
  3. Enterprise Management Commands

Compliance Commands

Keeper Commander compliance reporting commands

PreviousCreating and Inviting UsersNextBreachwatch Commands

Last updated 2 months ago

Was this helpful?

About

Requires add-on

Compliance reports let account administrators adhere to regulations by providing on-demand visibility to access permissions on records and credentials across the enterprise.

Using Commander, compliance reports can be scheduled and automated, and results can be exported to a CSV file or JSON.

For more information about Compliance Reports, see the Compliance Reports documentation:

The compliance-report command

The compliance-report command allows you to run reports just as you would in the Keeper Admin Console. See record permissions by node, user and title, filter by owned or shared records and output results to a file.

Cache

The compliance-report command relies on a cache in order to improve performance across multiple report queries.

This means that the first call to compliance-report may take several minutes as the system pulls in the required data.

During this time, Commander will display messaging explaining the current step.

Additionally, a manual rebuild of the cache can be performed with the -r flag. Do this to see recent changes in the compliance data.

compliance-report -r

By default (so that the generated report reflects reasonably current and accurate data), locally-cached data older than 1 day are automatically refreshed via the process described above. As a result, any call to compliance-report that occurs more than 1 day after a previous call to the same command will result in another data-fetching operation that may take some time to finish (as described above for first-time calls) .

To manually override this default behavior, see the next section.

Conversely, if you would like to circumvent the automatic cache-refresh behavior described above and generate a report based solely on previously cached data (resulting in possibly stale results but nevertheless useful for avoiding the possibly long loading times required to refresh the cache), you can do so with the -nr or --no-rebuild flag. Do this to quickly perform queries on compliance data in cases where you can be fairly confident that the relevant data have not changed significantly since the last command call / cache refresh.

compliance-report -nr

Removing the Cache

The compliance report cache can be removed manually with the --no-cache flag. When run, this completely removes all cached compliance report information from your machine.

compliance-report --no-cache

Alternatively, you can delete the cache file locally on disk from the location where you ran Commander. Delete the file called sox_<ID>.db which contains the encrypted compliance data.

Filters

The compliance report can be filtered by Node, User, Job Title and if the record is shared, deleted, or active.

Filter by Node

Format

--node [NODE NAME or ID] or -n [NODE NAME or ID]

Example

compliance-report --node "Chicago Office"

About

Filters the record results to only records that exist in Keeper Vaults in the given Node. By default this uses the root enterprise node and searches all vaults.

Filter by Username

Format

--username [USER EMAIL] or -u [USER EMAIL]

Example

compliance-report --username "Craig@keepersecurity.com"

About

Filters the record results to only records that exist in the Keeper Vault of the given username

Filter by Record

Format

--record [UID or TITLE] or -r [UID or TITLE]

Example

compliance-report --record "Twitter Login"

About

Filters the results to the record with the given UID or title

Filter by URL

Format

--url [URL]

Example

compliance-report --url "https://www.twitter.com"

About

Filters the results to records with the given URL value

Filter by Job Title

Format

--job-title [TITLE] or -jt [TITLE]

Example

compliance-report --job-title "Engineers"

About

Filters the record results to only records that exist in Keeper Vaults owned by users with the given title

Filter by Shared Records

Format

--shared

Example

compliance-report --shared

About

Only shows records that have been shared

Filter by Deleted Records

Format

--deleted-items

Example

compliance-report --deleted-items

About

Only shows records that have been deleted (not valid with --active-items flag)

Filter by Active Records

Format

--active-items

Example

compliance-report --active-items

About

Only shows records that are active (not valid with --deleted-items flag)

Filter by Record

Requires Commander version 16.7.5+

Format

--team <TEAM NAME>

Example

compliance-report --team "Engineering"

About

Show only users which are in the given team

Filter by Team

Requires Commander version 16.7.5+

Format

--record <RECORD NAME or UID>

Example

compliance-report --record "Twitter Login"

About

Show report for the given record

Using Multiple Filters Together

The filter flags can be used together to create advanced reports

Example

compliance-report --node "Chicago" --job-title "Managers" --shared

This example shows a report of records that have been shared from Vaults owned by Managers in the Chicago Node.

The same filter can also be used multiple times

compliance-report -u "user1@example.com" -u "user2@example.com"

This example retrieves records for both users "user1@example.com" and "user2@example.com"

About

Filters the record results to only records that exist in Keeper Vaults in the given Node

Outputting to a File

Like many Commander reports, the compliance report results can be saved to a file. To do this use the --output and --format options.

Output

--output [FILE PATH]

Tells Commander to write results to a file at the given location. If no file exists it will be created.

Format

--format [csv, json, table]

Tells Commander the format to write the report results as. The default result is in table format, which displays a formatted table of results. The other options are Comma Separated Values (CSV), JavaScript Object Notation (JSON).

If the --format flag is added without the --output flag, the results will be shown in Commander in the the given format

Save results to CSV (Excel)

To save compliance report results as a CSV file viewable in Excel, use the following flags:

--format csv and --output /path/to/file.csv

Example

compliance-report --username "Craig@keepersecurity.com" --format csv --output "./craig_compliance.csv"

The results will be saved as a csv formatted file at the given location

Save results to JSON

To save compliance report results as a CSV file to use in code or scripting, use the following flags:

--format json and --output /path/to/file.json

Example

compliance-report --username "Craig@keepersecurity.com" --format csv --output "./craig_compliance.json"

The results will be saved as a json formatted file at the given location

The compliance command

In addition to enabling users in generating custom reports, Commander also provides users the ability to generate specific reports with the compliance command. These specific reports can be generated by invoking the compliance command's supported sub-commands.

The compliance command supports the following sub commands:

Refer to the sub command's section for more information.

Compliance Team Report

Shared folders can be shared to Keeper Teams as well as individuals. The compliance report can display a report of the access that each team has to these shared folders.

To run the Compliance Team Report, use the following command in Commander:

compliance team-report

The report shows each team that has access to a shared folder, and what access it has to that shared folder.

My Vault> compliance team-report
Team Name    Team UID                Shared Folder Name  Shared Folder UID       Permissions            Records
-----------  ----------------------  ------------------  ----------------------  -------------------  ---------
Engineering  qLoY4YptKEs30VK_D8px1A  Devops Secrets      YZaagndh8CQToqlhuvv95Q  Read Only                    1
Marketing    XWLBkyN_HnwJKA4BYWrByw  Website Logins      -IcFcSgrFPEW9aP1-noiWw  Can Share, Can Edit          2

If you would like to include team-membership information (i.e., which users belong to each team) in the report, you can include the optional flag --show-team-users/-tu in your command call, as illustrated in the following example:

compliance team-report -tu

Please note that, as a result of the additional flag in the above command call, a column titled "Team Users" (in which the usernames of all members of each relevant team can be found) will be added to the generated report.

Compliance Record-Access Report

The compliance record-access report displays a list of all records that either a) have been accessed by, or b) are currently accessible to any given user(s), along with other relevant information (e.g., app used, IP address, event timestamp, etc.).

To run the Compliance Record-Access Report and show a user's record-access history, run the following command in Commander:

compliance record-access-report --email user1@company.com

where user1@company.com is the user whose record-access activity we'd like to audit, with the resulting output being something like the following:

My Vault> compliance record-access-report --email user1@company.com
Vault Owner       Record UID              Record Title  Record URL     Has Attachments    In Trash    Record Owner       IP Address     Device             Last Access
----------------- ----------------------  ------------  -------------  -----------------  ----------  -----------------  -------------  -----------------  -------------------
user1@company.com LDUw6M6jNcUmEkuArp4LXQ  User1-Login   domain.com     False              False       user1@company.com  172.158.8.18   Web App 16.10.2    2023-05-30 17:04:23
                  5U4DK0MmJ5ZVui-o6JcDQw  User2-Login   google.com     True               False       user2@company.com  172.158.8.18   Web App 16.10.2    2023-01-24 17:04:18
                  MMhu6YQ5gKtYbgPiVD41UQ  User3-Login   hotmail.com    False              False       user3@company.com  172.158.8.18   Web App 16.10.2    2022-11-31 14:35:23

Similarly, to show a list of all records that are currently accessible by that same user (i.e., all records currently in the user's vault), run the following command:

compliance record-access-report --report-type=vault --email=user1@company.com

The output of the above command should look similar to the previous example, but will exclude records that are not currently in the user's vault and may include records that have never been accessed by that user.

Additionally, if you would like to run this report for multiple users, you may do so by 1) specifying each username / ID separately, 2) by using the "@all" shorthand to indicate that you would like to run the report for all users or 3) by not providing a user — yet a more concise way to include all users in the report. This is illustrated in the following corresponding examples:

compliance record-access-report -e user1@company.com -e user2@company.com

compliance record-access-report --email @all

compliance record-access-report

Compliance Summary Report

The compliance summary report displays aggregate information about records within the enterprise (grouped by record-owner by default for now, but support for grouping by other entities may be added to this feature later)

To run the Compliance Summary Report, run the following command in Commander:

compliance summary-report

or

compliance stats

with the resulting output being something like the following:

My Vault> compliance summary-report

Email                             Total Items    Total Owned    Active Owned    Deleted Owned
------------------------------- -------------  -------------  --------------  ---------------
bob.loblaw@keeperdemo.io                   22             14              12                2
jose.rizal@keeperdemo.io                   49             42              33                9
tyrion.lannister@keeperdemo.io              3              3               3                0
doogie.howzer@keeperdemo.io                15              5               5                0
alan.turing@keeperdemo.io                  17             13               4                9
richard.feynmann@keeperdemo.io              4              1               1                0
TOTAL                                                     78              58               20

Compliance Shared-Folder Report

Similar to compliance team-report, this command outputs a report detailing the access that all entities (teams as well as individual users) have to all shared folders within the enterprise.

To run the Compliance Shared-Folder Report, run the following command in Commander:

compliance shared-folder-report

or

compliance sfr

with the corresponding output:

My Vault> compliance sfr
Loading record information....
Loading compliance data....:
Shared Folder UID       Team UID                Team Name    Record UID              Email
----------------------  ----------------------  ------------ ----------------------  ------------------------------
y01GmuTipqHGLdd0NkM4qw                                       PG7MELDIOaNMQkDiw--JoQ  bob.loblaw@keeperdemo.io
                                                             1JDuc5ZcJDpt8SbhYnD0HA  nate.hawthorne@keeperdemo.io
YZaagndh8CQToqlhuvv95Q  qLoY4YptKEs30VK_D8px1A  Engineering  IOYb8jAmDsaIGtTwZB5Biw  samuel.clemens@keeperdemo.io
                                                                                     w.b.yeats@keeperdemo.io
-IcFcSgrFPEW9aP1-noiWw  XWLBkyN_HnwJKA4BYWrByw  Marketing    O69TWFDnPCG_dpg9wpABqg  e.hemmingway@keeperdemo.io
                        qLoY4YptKEs30VK_D8px1A  Engineering  f46BWlqg5SoWraVlEFFSDA
0qpDTAWuznWrInnednG3Xw  XWLBkyN_HnwJKA4BYWrByw  Marketing    EnqP808xakJA9hOpjhYb9A  e.hemmingway@keeperdemo.io

Similar to the compliance team-report command described above, this command also accepts an optional --show-team-users/-tu flag indicating that team-membership data be included (where appropriate) in the resulting report. Here is an example of its usage:

compliance sfr -tu

Please note that, in contrast to the output of compliance team-report -tu, the resulting report generated by the above command will include the appropriate additional team-membership data in the existing column named "Email" and each username associated with a team will by preceded by "(TU)" to denote it as such.

or

This report uses the described above.

See the for other reports available in Commander

team-report
record-access-report
summary-reports
stats
shared-folder-report
compliance report cache
Reporting Documentation
Compliance Reporting
Compliance ReportsEnterprise Guide
Logo