> For the complete documentation index, see [llms.txt](https://docs.okkult.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.okkult.io/resources/glossary.md).

# Glossary

## Glossary

### 0zk Address

A 0zk Address is your private address inside Okkult Shield. It is derived locally from your wallet and used for shielded transfers, not regular Ethereum transactions. Read [0zk Address](/shield/0zk-address.md).

### Anonymity Set

An anonymity set is the group of possible users a private action could belong to. In shielded systems, a larger set usually means stronger privacy because it is harder to link one action to one person.

### Association Set Provider (ASP)

An Association Set Provider, or ASP, is a service that helps define which addresses belong to a trusted or allowed set. In privacy systems, that set can be used as an input to compliance or membership proofs.

### Chainalysis Oracle

The Chainalysis Oracle is an external on-chain data source used in Okkult's compliance flow. It helps determine whether an address belongs in the approved compliance set. Read [Deployed addresses](/developers/deployed-addresses.md) and [Proof overview](/proof/overview.md).

### Circom

Circom is the language used to write Okkult's zero-knowledge circuits. It defines the rules a proof must satisfy before the proof can be verified on-chain. Read [ZK circuits](/security/zk-circuits.md).

### Commitment

A commitment is the public fingerprint of a private balance or record. In Okkult Shield, it hides the amount, token, owner, and secret while still letting the protocol track the UTXO on-chain. Read [UTXO model](/shield/utxo-model.md).

### Compliance Certificate

A compliance certificate is the on-chain result of a successful Okkult Proof flow. It shows that a valid proof was issued and remains usable for a limited period. Read [Proof overview](/proof/overview.md) and [Proof validity](/proof/proof-validity.md).

### Compliance Tree

The Compliance Tree is the Merkle tree that stores the approved address set for Okkult Proof. Its root is used as a public input when a compliance proof is verified. Read [How it works](/proof/how-it-works.md).

### ComplianceGate

ComplianceGate is the Solidity access-control pattern used to require a valid Okkult proof before a function runs. It lets developers add proof checks to existing contracts with minimal changes to business logic. Read [Compliance gate](/developers/compliance-gate.md).

### DKIM

DKIM is an email authentication standard that helps prove a message really came from a sending domain. Okkult Mail uses DKIM-backed email data as an input to privacy-preserving proofs. Read [Mail overview](/mail/overview.md) and [How it works](/mail/how-it-works.md).

### Groth16

Groth16 is the zero-knowledge proving system used by Okkult. It produces compact proofs that are efficient to verify on Ethereum. Read [ZK circuits](/security/zk-circuits.md).

### Merkle Tree

A Merkle Tree is a hash tree that lets you prove an item exists in a large set without revealing every item in that set. Okkult uses Merkle trees for both compliance sets and shielded commitments. Read [Proof how it works](/proof/how-it-works.md) and [Shield how it works](/shield/how-it-works.md).

### Nullifier

A nullifier is a public marker that shows a private note or proof has already been used. It prevents double-spending without revealing the secret data behind the spend. Read [Proof how it works](/proof/how-it-works.md) and [UTXO model](/shield/utxo-model.md).

### OFAC

OFAC is the U.S. Office of Foreign Assets Control. Okkult uses OFAC screening as one input to its compliance set. Read [Proof overview](/proof/overview.md).

### Poseidon Hash

Poseidon is a hash function designed for zero-knowledge circuits. Okkult uses it to build commitments, nullifiers, and Merkle trees efficiently. Read [UTXO model](/shield/utxo-model.md).

### Proof of Innocence

Proof of Innocence is a privacy pattern where a user proves they are not linked to a blocked or risky set without revealing more than necessary. Okkult Proof follows a similar goal by proving compliance while keeping the address private. Read [Proof overview](/proof/overview.md).

### Shield

Shield is the action that moves assets from a public Ethereum balance into Okkult's private pool. After shielding, balances are represented as private UTXOs instead of public wallet balances. Read [Shield overview](/shield/overview.md) and [Shield assets](/shield/shield-assets.md).

### STARK

STARK is a family of zero-knowledge proofs that does not rely on the same setup model as zkSNARK systems like Groth16. Okkult does not use STARKs in the current stack, but the term often appears in ZK documentation.

### UTXO

A UTXO is a private balance unit that can be spent once and then replaced by new outputs. In Okkult Shield, each UTXO is controlled by a secret and represented on-chain by a commitment. Read [UTXO model](/shield/utxo-model.md).

### Viewer Key

A viewer key is a private key or permission that lets someone inspect protected data without giving them spending rights. Okkult's current public docs do not expose a viewer-key flow, but the term is common in privacy systems.

### Zero-Knowledge Proof (ZK)

A zero-knowledge proof lets someone prove a statement is true without revealing the private data behind it. Okkult uses ZK proofs for compliance, shielded transfers, identity, and mail verification. Read [What is Okkult](/getting-started/what-is-okkult.md).

### zkSNARK

A zkSNARK is a specific kind of zero-knowledge proof that is short and efficient to verify. Okkult uses the Groth16 zkSNARK system in its current proof stack. Read [ZK circuits](/security/zk-circuits.md).

### Next Steps

* [What is Okkult](/getting-started/what-is-okkult.md)
* [UTXO model](/shield/utxo-model.md)
* [Resources FAQ](/resources/faq.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.okkult.io/resources/glossary.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
