# Interface: Grant

Defined in: [packages/core/src/session/connect.ts:152](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L152)

What the home hands back when the person approves

## Properties

| Property | Modifier | Type | Description | Defined in |
| ------ | ------ | ------ | ------ | ------ |
| <a id="property-access"></a> `access` | `readonly` | `"read"` \| `"write"` | - | [packages/core/src/session/connect.ts:160](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L160) |
| <a id="property-accountkey"></a> `accountKey?` | `readonly` | `string` | With `account` scope: the key the account's space list is derived from (base64url), so the app sees every space and adds the ones it makes or joins. It opens every private space in the account — which is what whole account access means — but it cannot sign as the account. | [packages/core/src/session/connect.ts:169](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L169) |
| <a id="property-contactkey"></a> `contactKey?` | `readonly` | `string` | With `contacts`, or `account` scope: the contact key's private scalar (base64url), which opens contact requests sent to the account (`deriveContactKeyBytes`). It cannot sign as the account. | [packages/core/src/session/connect.ts:175](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L175) |
| <a id="property-contactsspace"></a> `contactsSpace?` | `readonly` | `string` | With `contacts`: which of `spaces` is the account's contacts space | [packages/core/src/session/connect.ts:177](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L177) |
| <a id="property-did"></a> `did` | `readonly` | `string` | The account's identity — what the app acts for | [packages/core/src/session/connect.ts:155](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L155) |
| <a id="property-expiresat"></a> `expiresAt` | `readonly` | `number` | Unix seconds | [packages/core/src/session/connect.ts:179](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L179) |
| <a id="property-home"></a> `home` | `readonly` | `string` | The home that granted it, so the app can go back there | [packages/core/src/session/connect.ts:181](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L181) |
| <a id="property-name"></a> `name` | `readonly` | `string` | The account's name, for showing who is connected | [packages/core/src/session/connect.ts:157](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L157) |
| <a id="property-note"></a> `note` | `readonly` | [`Delegation`](https://minca.dev/api/core/interfaces/Delegation.md) | The signed note: the account → the app's key, for these spaces, until `expiresAt` | [packages/core/src/session/connect.ts:159](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L159) |
| <a id="property-relays"></a> `relays?` | `readonly` | readonly `string`[] | Relays the home meets peers on. A home someone runs themselves may use different ones from the app, and two peers that share no relay never meet — so the app joins these as well. | [packages/core/src/session/connect.ts:187](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L187) |
| <a id="property-scope"></a> `scope` | `readonly` | `"spaces"` \| `"account"` | - | [packages/core/src/session/connect.ts:161](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L161) |
| <a id="property-spaces"></a> `spaces` | `readonly` | readonly [`GrantedSpace`](https://minca.dev/api/session/interfaces/GrantedSpace.md)[] | - | [packages/core/src/session/connect.ts:162](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L162) |
| <a id="property-v"></a> `v` | `readonly` | `2` | - | [packages/core/src/session/connect.ts:153](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L153) |
