> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omnifence.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Membership

> Who can join the Shared Registry, how vetting works, and what members agree to

The registry is only as trustworthy as its members, so every member is vetted before it can check or
report. Membership is open to platforms that hold user accounts and enforce policies against fraud
or prohibited content, including platforms that do not use Omnifence moderation.

## Join the registry

<Steps>
  <Step title="Contact Omnifence">
    Email [support@omnifence.ai](mailto:support@omnifence.ai) with your company's legal name, the
    platform you operate, and the categories you want to report.
  </Step>

  <Step title="Create an account">
    If you do not have one, sign up at the [Omnifence dashboard](https://app.omnifence.ai/signup).
    The registry attaches to an ordinary Omnifence account. You do not need to use or pay for
    moderation.
  </Step>

  <Step title="Complete vetting">
    Omnifence reviews your trust and safety process. You sign the membership agreement and give a
    contact address for requests from the people named in your reports and for disputes.
  </Step>

  <Step title="Receive your registry key">
    When your membership is active, Omnifence issues an API key for the registry. Store it like any
    other secret. See [Authentication](/authentication).
  </Step>
</Steps>

## Your registry key

A registry key carries one or both registry scopes, and nothing else:

| Scope | Lets the key | Endpoints |
| - | - | - |
| `registry:check` | Check identifiers against the registry. | [`POST /api/v1/registry/check`](/api-reference/endpoint/registry-check) |
| `registry:submit` | Report users you banned, list your reports, and revoke a report. | [`POST /api/v1/registry/entries`](/api-reference/endpoint/registry-submit-entry), [`GET /api/v1/registry/entries`](/api-reference/endpoint/registry-list-entries), [`POST /api/v1/registry/entries/{id}/revoke`](/api-reference/endpoint/registry-revoke-entry) |

* A registry key cannot call the moderation endpoints. A moderation key cannot call the registry.
  Keep the two apart in your systems, too.
* You can ask for separate keys for checking and for reporting, for example to give your sign-up
  service a check-only key and your trust and safety tooling a report key.
* Omnifence issues registry keys. You cannot create one from the dashboard.

## What your membership sets

| Setting | What it controls |
| - | - |
| Status | `active` members can check and report. A `pending` or `suspended` member gets `403` on every call. |
| Reportable categories | The [categories](/registry/categories) you may report. A report in any other category returns `403`. A member can join to check only. |
| Daily check quota | How many checks you can make per UTC day. Omnifence sizes it to your sign-up volume. See [Daily check quota](/registry/checking#daily-check-quota). |

To change a setting, contact [support@omnifence.ai](mailto:support@omnifence.ai).

## Your obligations

The membership agreement sets these rules. They protect the people named in the registry and the
value of the registry for every member.

<AccordionGroup>
  <Accordion title="Report only human-reviewed bans">
    A person on your team must review the evidence and uphold the ban before you report it. Every
    report confirms this with `attest_human_review: true`. Do not report a ban that an automated
    system made on its own.
  </Accordion>

  <Accordion title="Keep the evidence">
    Keep the evidence for every report under the case reference you submit, for as long as the entry
    can match. You need it to answer a dispute.
  </Accordion>

  <Accordion title="Revoke overturned bans at once">
    When you overturn a ban, on appeal or for any other reason, revoke the report straight away.
    Other members may be refusing the person because of it.
  </Accordion>

  <Accordion title="Check only for real account activity">
    Check an identifier only when a user signs up, logs in, or as part of a periodic re-check of
    your own users. Do not check lists of addresses for any other purpose.
  </Accordion>

  <Accordion title="Respect the refusal rule">
    Refuse a user on a match alone only when `automated_refusal_permitted` is `true`. Otherwise, a
    person reviews the match first, or the user gets a way to contest the refusal.
  </Accordion>

  <Accordion title="Tell your users">
    Say in your privacy notice and terms that you check sign-ups against, and report banned users
    to, an industry registry.
  </Accordion>

  <Accordion title="Decide independently">
    A match is information, not an instruction. Each member decides what to do with a match under
    its own terms. Members do not agree with each other to refuse anyone.
  </Accordion>
</AccordionGroup>

Omnifence monitors check volumes and match rates. A member that breaks these rules can be suspended,
which disables its keys at once.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.