Non-Human Identity Audit by Agent Trust Cloud

Free · private · mapped to the OWASP NHI Top 10 (2025)

Non-human identity audit in 10 minutes

Service accounts, API keys, tokens, OAuth apps and AI agents now outnumber your employees, and most have no owner. Scan your inventory or answer 10 questions to get an NHI risk score and a prioritised fix list.

  • Flags ownerless, stale, over-privileged, shared and never-expiring credentials
  • Every finding is mapped to the OWASP Non-Human Identities Top 10 and SOC 2 access controls
  • Runs in your browser. Paste names and metadata only, never secret values.

Start the audit

1. Add your identity list

Export from your cloud console, IdP, secrets manager or a spreadsheet and paste it with the header row, or upload a CSV. Useful columns: name, type, owner, environment, privilege, last used, last rotated, expires, used by, auth method, third party, human use. Only name is required; every extra column adds checks.

What is a non-human identity (NHI)?

A non-human identity is any credential that software uses to authenticate: cloud service accounts and IAM roles, API keys, OAuth apps and refresh tokens, CI/CD tokens, SSH keys, TLS certificates, bot accounts and, increasingly, AI agents that call tools and APIs on a user's behalf. They rarely have MFA, often never expire and are created by developers without a named owner, which makes them the easiest way into most environments.

The OWASP Non-Human Identities Top 10 (2025)

RiskWhat to check in your audit
NHI1 Improper offboardingIdentities with no owner, or not used in 90 days, that belong to retired apps, integrations or people who left.
NHI2 Secret leakageKeys and tokens in code, tickets, chat, logs or wikis instead of a secrets manager; secret scanning in place.
NHI3 Vulnerable third-party NHIOAuth apps, SaaS integrations and IDE or AI plugins with broad scopes into your systems.
NHI4 Insecure authenticationPasswords, basic auth and static keys where short-lived tokens or workload identity federation are available.
NHI5 Overprivileged NHIAdmin, owner or wildcard permissions on identities that only need read or a narrow write scope.
NHI6 Insecure cloud deployment configurationsStatic credentials in CI/CD pipelines instead of OIDC-based federation.
NHI7 Long-lived secretsSecrets with no expiry, or not rotated in the last 90 days.
NHI8 Environment isolationThe same identity or secret used in development, staging and production.
NHI9 NHI reuseOne service account shared by several applications, so one compromise spreads.
NHI10 Human use of NHIPeople logging in or running scripts with service accounts, which breaks accountability.

How to run a non-human identity audit

  1. Build the inventory. Export service accounts and roles from each cloud, app registrations and OAuth grants from your IdP, keys from your secrets manager, tokens from CI/CD, and a list of AI agents and the tools they can call.
  2. Assign an owner to every identity. An identity without an accountable human is the first thing to disable.
  3. Remove what is not used. Disable identities unused for 90 days, then delete them after a grace period.
  4. Right-size access. Replace admin and wildcard permissions with the narrowest scope that works, per environment.
  5. Shorten secret lifetimes. Move to federation and short-lived tokens; rotate what must stay static.
  6. Separate and don't share. One identity per application per environment; no human use of service accounts.
  7. Make it continuous. Track new identities as they're created, not in an annual spreadsheet.

AI agents are non-human identities too

Every AI agent that reads email, queries a database or calls an API acts through a credential. Treat each agent as an NHI: give it its own identity, a named owner, scoped tool permissions, human approval for high-impact actions and an audit trail. Include agents in this audit by listing them with type “AI agent”.

Frequently asked questions

Is my data uploaded?

No. Everything runs in your browser. Paste names and metadata only. Never paste secret values into any web tool.

What columns are recognised?

Name, type, owner, environment, privilege or role, last used, last rotated or created, expires, used by (applications), auth method, third party and human use. Headers are detected automatically and you can change the mapping.

How is the score calculated?

For an inventory scan, the score reflects how many identities are free of high-risk findings (no owner, stale, admin, human use, never expiring) and medium findings. For the questionnaire, each answer is weighted by the OWASP risk it covers.

How often should we audit NHIs?

At least quarterly for production and privileged identities, and whenever an app, integration, agent or owner changes. Continuous discovery is better than periodic spreadsheets.