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

# Device Identity Protocol • AI Agent SDK

> DeviceIdentityProtocol: Seam for per-device challenge/response auth (implemented in the wrapper).

# DeviceIdentityProtocol

> Defined in the [**protocols**](https://praison.ai/docs/sdk/reference/praisonaiagents/modules/protocols.md) module.

AI Agent

Seam for per-device challenge/response auth (implemented in the wrapper).

Implementations must approve only on an exact device-key match — never on
network reachability alone — and record how each device was approved.

## Methods

> [card] [issue\_challenge()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/DeviceIdentityProtocol-issue_challenge.md)
>
> Return a fresh single-use challenge nonce for a connecting client.

> [card] [verify()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/DeviceIdentityProtocol-verify.md)
>
> Verify `device` against an issued nonce; return its role, or `None` if rejected.

> [card] [list\_devices()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/DeviceIdentityProtocol-list_devices.md)
>
> List known devices (id, role, approval path, last seen).

> [card] [revoke()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/DeviceIdentityProtocol-revoke.md)
>
> Revoke one device; return `False` if it was unknown.

## Source

> [card] [View on GitHub](https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/gateway/protocols.py#L406)
>
> `praisonaiagents/gateway/protocols.py` at line 406


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