# Sekisho v0.1.0-dev - API Reference

## Modules

- Your modules
  - [Sekisho](Sekisho.md): Permissions for Phoenix.
  - [Sekisho.Policy](Sekisho.Policy.md): The rules of one resource: an Ecto schema.
  - [Sekisho.Sources](Sekisho.Sources.md): Roles, relations and groups from your own tables, as queries.

- Phoenix
  - [Sekisho.LiveView](Sekisho.LiveView.md): Permissions in LiveView: events checked before your `handle_event/3`
runs, and pages that lose their access while they are open.

- Results
  - [Sekisho.Denied](Sekisho.Denied.md): A permission refused: what `authorize/3` returns and `authorize!/3` raises.
  - [Sekisho.Explanation](Sekisho.Explanation.md): Why a permission is allowed or not: what `explain/3` returns.
  - [Sekisho.Grant](Sekisho.Grant.md): A role given to someone on a record: a row of `sekisho_grants`.
  - [Sekisho.Role](Sekisho.Role.md): A role a record defines for itself (an org's "Support"): a row of
`sekisho_roles`, with a name and some of its policy's permissions.

- Tables
  - [Sekisho.Migrations](Sekisho.Migrations.md): Sekisho's tables, in a migration of your app.

- Tests
  - [Sekisho.Test](Sekisho.Test.md): Assertions for your tests, whose failures say why (`explain/3`)

## Mix Tasks

- [mix sekisho.gen.migration](Mix.Tasks.Sekisho.Gen.Migration.md): Generates the migration of Sekisho's tables in your repo: the one that
installs them, or, after an upgrade of Sekisho, the one that brings them
to their latest version.
- [mix sekisho.install](Mix.Tasks.Sekisho.Install.md): Installs Sekisho in a Phoenix application.

