Predictika · OAuth permission grants for third-party apps

An AI integration agent's permission grant, checked before it goes out

An AI integration agent connects a third-party app to a user's Google, GitHub or Slack account by requesting OAuth scopes for one task. Before the request goes out, the agent sends it to Predictika's validator, which checks the scopes against what the task needs and the providers' scope rules, compares the figures the agent states with its own count, and reports every problem in one pass.

Scope: OAuth 2.0 scope grants for third-party apps on Google (Calendar, Gmail, Drive), GitHub (repository, workflow, organization) and Slack (channels, chat, users) accounts. See everything this validator covers

This validator checks the set of OAuth scopes an AI integration agent requests when it connects a third-party app to a user's Google, GitHub or Slack account for one task. It handles any request made of the scopes in its catalog, for any of the tasks in its catalog, with up to four scopes per request, not just the scenarios shown here. It does not evaluate first-party or internal-app authentication, and it is not tied to any one real app.

  • Least privilege — a scope one level broader than the task needs (needs approval), a scope two or more levels broader (blocked), and a scope that grants access the task never touches (blocked).
  • Missing access — a task whose requested scopes do not provide every kind of access it needs, so it would fail, for example a CI fix with repository access but no workflow scope.
  • Provider matching — a scope from the wrong provider for the task, such as a Slack scope on a GitHub task.
  • Sensitive handling — Google restricted scopes on a public app, which need a third-party security assessment, and a long-lived offline refresh token for a one-time task.
  • Stated figures — the agent's stated number of scopes and number of restricted scopes must match what the validator counts.
  • Limits of this validator — seventeen scopes and ten tasks across the three providers; other providers, scope parameters such as resource-specific consent, and tenant admin-consent policies are not modeled. The access levels, task needs and thresholds are illustrative.
The agentAn AI integration agent. Chooses the scopes for the task and says what it wants to request.
Predictika validatorChecks the scopes against the task and the providers' rules and returns every finding.

7 scenarios in 4 groups · each group runs from the agent’s first attempt to the outcome · click one to switch

What the agent proposes

The agent says

Before requesting the grant, the agent must call Recorded run

Predictika validator


      
Waiting for the call.

What this validator catches

Click to expand

Every rule reports its own message and never stops the others, so one problem cannot hide another. A missing scope is found by looking across the whole request, not scope by scope.