> For the complete documentation index, see [llms.txt](https://dsg-3.gitbook.io/dsg-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dsg-3.gitbook.io/dsg-docs/cinema-proof-agent/security-credentials-ip.md).

# Security, Credentials and IP

Durable Agent pairing, credential boundaries, fail-closed behavior, and DSG.PICS intellectual-property attribution.

## Authentication is not authorization

A valid account credential identifies the caller and account. It does not grant authority outside an approved plan.

## Durable Agent pairing

The browser/server side keeps the customer DSG API key. The Agent receives a short-lived `dsg_pair_...` credential.

Current implementation properties:

* only `SHA-256(token)` is persisted;
* plaintext pairing tokens are not stored;
* the master DSG API key is encrypted with AES-GCM before durable persistence;
* pairing records use the shared Remote Action store so another production replica can resolve the same token;
* cross-process record locks and atomic replace protect durable mutation;
* expiry and revocation are checked from durable state on every resolution;
* first successful resolution records durable `claimed_at` state;
* the Agent does not need the master DSG API key in its MCP payload.

## Stable production pairing key

Production binds pairing encryption through the dedicated `DSG_AGENT_PAIRING_KEY` secret path. This is separate from the per-deployment Cinema application secret so a normal application revision change does not have to invalidate otherwise-valid pairing tokens.

If the required pairing encryption key or durable storage is unavailable, pairing fails closed rather than silently downgrading security.

## Browser credential boundary

Plaintext passwords, OTP values, CAPTCHA answers, and passkeys are not intended to travel through ordinary Agent MCP action payloads. Possession of browser state or a credential never replaces plan authorization.

## Secret handling

Documentation may name required configuration variables, but it must not expose live secret values. Production credentials belong in the approved secret-management path and should not be committed to the repository or copied into public docs.

## Intellectual property

Original DSG-specific material is attributed to **DSG.PICS**. Third-party and open-source components remain under their respective licenses.

Canonical product domain: <https://www.dsg.pics>

No documentation claim should be interpreted as third-party certification, legal compliance certification, or an ownership claim over third-party components unless separate evidence explicitly establishes it.
