# RunAccess

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/api/tracon.runaccess/
> Summary: RunAccess: The kind of access a RunAuthorizationRequest asks about.

<div class="api-provenance">Namespace Tracon · Assembly <code>Tracon.Abstractions.dll</code></div>

The kind of access a [RunAuthorizationRequest](/api/tracon.runauthorizationrequest/) asks about.

```csharp
public enum RunAccess
```

## Fields

`Approval = 5` 

Listing, reading, or deciding an approval request.

`Attachment = 4` 

Uploading, downloading, listing, or deleting an attachment.

`Cancel = 2` 

Requesting cancellation of a run.

`Feedback = 3` 

Writing or deleting a score for a run.

Deliberately separate from [RunAccess.Cancel](/api/tracon.runaccess/): scoring a run does not
stop it, and binding both to one decision would force a consumer to
choose a permission that is either too wide or too narrow. Reading
scores is [RunAccess.Read](/api/tracon.runaccess/).

`Read = 1` 

Reading a run: its summary, its tree, its event stream, its recorded
input, its span tree, its tool calls, and the scores written for it.

`Start = 0` 

Starting a new run, including replaying a recorded one.

## Remarks

The numeric values are **not** a persistence contract. A
[RunAuthorizationRequest](/api/tracon.runauthorizationrequest/) is decided synchronously on the
request thread and its result is never stored or replayed, so no row, blob,
or message anywhere holds one of these numbers. Members may therefore be
renumbered or removed like any other public enum member, under the ordinary
source-compatibility rules and nothing stricter.
