ERROR CODE

TVO-PERM-001: Policy-protected read denied

Policy-protected read denied. This page shows what TOVIO prints, why it happens, and how to fix it.

Last updated September 22, 2026

If this error reveals a permission or cryptography flaw, do not post it — follow coordinated disclosure. Do not report security vulnerabilities here. This board is public and operated by a third-party vendor. Read https://tovio.dev/security and use the private channel it names. Never paste repository contents, file paths, diffs, tokens, keys, or other people's data — describe the behaviour instead.

Why it happened

In the catalog's worked example, TOVIO explains it like this. Names and values in it are illustrative.

Read requires role=senior AND clearance=secrets; you have role=staff, team=backend; missing clearance=secrets.

How to fix it

  1. Diagnose access: tovio access check config/production/api-keys.env
  2. Request the missing attribute: tovio access request config/production/** --attr clearance=secrets

What TOVIO prints

The catalog's example of what TOVIO prints for this code in a terminal. Names, paths and counts in it are illustrative, and the command exits with status 11.

✗ Cannot read config/production/api-keys.env

  This file is policy-protected. Reading it requires:  role=senior AND clearance=secrets
  Your identity (did:tovio:dustin) has:                role=staff, team=backend
  You are missing the attribute:                       clearance=secrets

  Diagnose:         tovio access check config/production/api-keys.env
  Request access:   tovio access request config/production/** --attr clearance=secrets

What to read

  • Error reference — the three-part message standard (what happened, why, what to do next), the exit-code classes, the --json shape, and the everyday codes. It is a curated subset, so it may not name this one: TVO-PERM-001 is in the PERM area and carries the same three-part message either way.
  • Troubleshooting — the diagnostic commands and recovery paths behind the most common failures.

Still stuck, or is the message wrong?

Report it. The link carries only this code and the surface; describe the behaviour in your own words and never paste secrets, capability tokens, session strings, or private repository data.

Report this error

All error codes