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

# FAQ

> Frequently asked questions about Application Compliance

<AccordionGroup>
  <Accordion title="What is the Predicate Registry?">
    The Predicate Registry is the core onchain contract that verifies compliance attestations. It has two primary responsibilities:

    * **Attester management** — Stores authorized attester addresses that can sign attestations
    * **Attestation verification** — Validates the authenticity and expiration of attestations
  </Accordion>

  <Accordion title="Who owns the Predicate Registry?">
    Predicate Labs owns and operates the registry.
  </Accordion>

  <Accordion title="How is the Predicate Registry architected?">
    The registry uses the ERC-1967 upgradeable proxy pattern:

    * **Proxy contract** — The address you interact with, which delegates calls to the implementation
    * **Implementation contract** — Contains the logic and can be upgraded by the owner
    * **Two-step ownership** — Uses `Ownable2StepUpgradeable` so ownership transfers require explicit acceptance
  </Accordion>

  <Accordion title="How are attester key rotations handled?">
    Keys are rotated on a frequent basis. New keys are registered before old keys are deregistered, ensuring zero downtime during rotation.
  </Accordion>

  <Accordion title="What signature scheme is used?">
    ECDSA on EVM chains, Ed25519 on Solana.
  </Accordion>

  <Accordion title="How does replay protection work?">
    Each attestation includes a unique UUID that is marked as spent after validation. The chain ID is also included in the signed hash to prevent cross-chain replay.
  </Accordion>
</AccordionGroup>
