Three trust levels control which of the 46 schema tools are available — from read-only exploration to full external tool execution.
Ask Forge uses a tiered permission model built on two distinct concepts:
Each trust level grants access to one or more tool tiers. This design follows the principle of least privilege — users start with read-only access and explicitly opt in to higher capabilities.
The safest trust level. Observer grants access to Tier 1 (ReadOnly) tools only — 24 tools that inspect and analyze schemas without making any changes. Safe for any user or environment.
The default trust level. Assistant grants access to Tiers 1-2 (ReadOnly + Generate) — 33 tools total. Can create new content (scripts, schemas, suggestions) but cannot modify existing schema files or execute external tools.
The highest trust level. Operator grants access to all 4 tiers — all 46 tools. This includes modifying schema definitions and executing external SchemaSmith tools against live databases. Tier 3 and Tier 4 tools require confirmation by default.
Tools are organized into 4 tiers based on capability and risk. Higher tiers require higher trust levels and may require confirmation before execution.
| Tier | Name | Count | What It Does | Confirmation |
|---|---|---|---|---|
| 1 | ReadOnly | 24 | Navigate, query, analyze, validate schemas | Never |
| 2 | Generate | 9 | Generate scripts, schemas, manage config | Never |
| 3 | Modify | 9 | Modify schema JSON files on disk | Required by default |
| 4 | External | 4 | Run SchemaSmith tools against live databases | Required by default |
| Capability | Observer | Assistant | Operator |
|---|---|---|---|
| Browse schemas, tables, columns | |||
| Validation checks (nulls, orphans, duplicates) | |||
| Index analysis and dependency graphs | |||
| Schema search, diff, compare | |||
| Knowledge base access | |||
| Generate migration scripts | |||
| Generate schemas from natural language | |||
| Save scripts to disk | |||
| Modify schema JSON files (confirmation) | |||
| Rename tables and columns (confirmation) | |||
| Create tables and packages (confirmation) | |||
| Execute SchemaTongs, SchemaQuench, DataTongs (confirmation) |
Set the trust level using one of three methods. When multiple are set, the highest-precedence method wins.
ask-forge --trust-level operator list-tables
set FORGE_TRUST_LEVEL=operator
ask-forge
export FORGE_TRUST_LEVEL=operator
ask-forge
{
"agent": {
"trustLevel": "assistant"
}
}
observer, assistant, operator.
When operating at the Operator trust level, Tier 3 (Modify) and Tier 4 (External) tools require confirmation before executing:
Even when autoExecute is true, confirmation is still required for Tier 3 and Tier 4 tools unless the corresponding confirm setting is disabled.
| Setting | Type | Default | Description |
|---|---|---|---|
confirmTier3 |
bool | true |
Require confirmation for Modify tools |
confirmTier4 |
bool | true |
Require confirmation for External tools |
autoExecute |
bool | true |
Allow Tier 1-2 tools to execute without manual trigger |
maxToolIterations |
int | 10 |
Maximum tool calls per conversation turn (prevents runaway loops) |
--yes FlagSkip all confirmation prompts in a single command:
ask-forge apply-change --table Users --definition @change.json --yes
{
"agent": {
"confirmTier3": false,
"confirmTier4": false
}
}
When running as an MCP server, the AI assistant can pass confirm: true in tool parameters to indicate pre-approval from the user.
${ENV_VAR} substitution for passwords and API keys rather than storing raw secrets in config.json:{
"apiKey": "${ANTHROPIC_API_KEY}",
"connections": [{
"password": "${DB_PASSWORD}"
}]
}
list-connections command never displays passwordsshow-config command displays the full config (including connection details) — use with caredotnet user-secrets to manage sensitive values outside of config filesFORGE_TRUST_LEVEL to control what the AI assistant can doobserver or assistant for MCP to prevent AI-initiated database modificationsoperator unless you want the AI to be able to modify schemas and run external toolsFor team members who need to browse and understand the schema without making changes.
Observer{
"agent": {
"trustLevel": "observer"
}
}
For developers who need to generate migration scripts and design new schema components.
AssistantThis is the default trust level — no configuration needed.
For DBAs who need to extract schemas from live databases and deploy changes.
Operator{
"agent": {
"trustLevel": "operator",
"confirmTier3": true,
"confirmTier4": true
}
}
For scripted or unattended workflows that need non-interactive schema operations.
Operator{
"agent": {
"trustLevel": "operator",
"confirmTier3": false,
"confirmTier4": false,
"autoExecute": true
}
}
Use --yes on the command line to skip all prompts in scripts.