コンテンツにスキップ

Credential Access Levels

このコンテンツはまだ日本語訳がありません。

Greentic resolves a tenant’s credentials — MCP server tokens, LLM API keys, OAuth app secrets, and extension credentials — through a scope hierarchy: a more specific scope (team, user) overrides a broader one (tenant default). That answers which value is used. Access levels answer a different question: who is allowed to set the value at which scope.

Every credential carries an access level (the override_policy field):

LevelMeaning
OpenA team or flow may override the admin value. This is the default and matches the previous behaviour.
LockedThe admin (tenant-default) value is forced. Lower scopes cannot override it, and the value is required to exist.
RequiredThe admin sets no value, but marks the credential mandatory. It must be supplied at a lower scope — a team, a flow, or by the LLM at runtime.

Open Settings → Integrations (or a tenant’s credential tabs) and pick the credential — an MCP server, an LLM provider, an OAuth app, or an extension credential. Each form has a Tenant access selector:

  • Open — teams/flows may override
  • Locked — force this value
  • Required — must be set lower down

Validation keeps the choice consistent: a Locked credential must have a value to lock onto, and a Required credential must not carry one (the value comes from a lower scope). Access level is a tenant-default (admin-level) decision, so it is not offered on a team-scoped row.

In the Designer’s composer, a credential’s access level changes how its input renders:

  • Locked — the input is read-only and labelled “Set by admin”; the flow author cannot change it.
  • Required — the input is marked mandatory so the flow author knows they must provide a value.
  • Open — the input behaves as before; a value here overrides the admin default for this flow.

At read time the resolver honours the access level on top of the scope walk:

  • Open — walk user → team → tenant-default and take the first value.
  • Locked — read only the tenant-default (admin) value and fail closed if it is missing; lower-scope values are ignored.
  • Required — walk the scopes; if nothing is set anywhere the credential is reported as required but unset rather than silently absent, so the gap is visible instead of surfacing at runtime as a mysterious failure.