> For the complete documentation index, see [llms.txt](https://cifer.gitbook.io/cifer-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cifer.gitbook.io/cifer-docs/documentation/cifer-sdk/getting-started/core-concepts.md).

# Core concepts

## Secrets

A secret is an ML-KEM-768 key pair managed by Cifer. The public key is distributed through IPFS. Private-key material is split into shards handled by the enclave cluster.

A secret moves from creation to syncing and then ready. Its state records its owner, optional delegate, cluster, secret type, and public-key CID.

## Authorization model

| Role             | Encrypt | Decrypt | Transfer | Change delegate |
| ---------------- | ------: | ------: | -------: | --------------: |
| Owner            |     Yes |     Yes |      Yes |             Yes |
| Delegate         |     Yes |     Yes |       No |              No |
| Any valid signer |     Yes |      No |       No |              No |

## Cifer envelope

Payload encryption returns:

* `cifer`: the ML-KEM encapsulation material plus the authentication tag
* `encryptedMessage`: the AES-GCM encrypted application data

Payload helpers are intended for messages and records. Large files use asynchronous upload and job APIs.

## Freshness

Web3 signed requests use a recent blockchain height. Web2 uses a timestamp with the sentinel `WEB2_CHAIN_ID = -1`. Freshness limits replay opportunities. The SDK retries recognized stale-block failures with updated data.

## Discovery

`createCiferSdk()` discovers supported chains, RPC information, and SecretsController addresses from the Blackbox health endpoint. Use `createCiferSdkSync()` with explicit overrides for controlled or offline configuration.

## Transaction intents

Write helpers return a `TxIntent` containing `chainId`, `to`, `data`, and optional `value`. The SDK does not broadcast it. Your wallet or transaction service remains responsible for execution.


---

# 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, and the optional `goal` query parameter:

```
GET https://cifer.gitbook.io/cifer-docs/documentation/cifer-sdk/getting-started/core-concepts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
