# Type Alias: FilePolicy()

```ts
type FilePolicy = (action: FileAction, resource: FileResource, user: FilePolicyUser) => boolean | Promise<boolean>;

```

A policy function that decides whether `user` may perform `action` on `resource`. Return `true` to allow, `false` to deny.

## Parameters[​](#parameters "Direct link to Parameters")

| Parameter  | Type                                                                    |
| ---------- | ----------------------------------------------------------------------- |
| `action`   | [`FileAction`](./docs/api/appkit/TypeAlias.FileAction.md)         |
| `resource` | [`FileResource`](./docs/api/appkit/Interface.FileResource.md)     |
| `user`     | [`FilePolicyUser`](./docs/api/appkit/Interface.FilePolicyUser.md) |

## Returns[​](#returns "Direct link to Returns")

`boolean` | `Promise`<`boolean`>
