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

# IPolicyRegistry.renounceAdmin

> Permanently relinquishes administration of a policy, freezing its member set.

## Signature

```solidity IPolicyRegistry.sol theme={null}
function renounceAdmin(uint64 policyId) external;
```

| Field               | Value                   |
| ------------------- | ----------------------- |
| Selector            | `0xefdb7fa3`            |
| Canonical signature | `renounceAdmin(uint64)` |

## Description

Permanently relinquishes administration of `policyId`. After this call, the member set is frozen: no one can add or remove members, replace composite children, or assign a new admin. `isAuthorized` queries continue to work normally.

Use this when you want to guarantee that a policy's membership can never change, for example, to make a compliance list immutable.

* Administration is gone permanently. There is no call that assigns a new admin after renounce.
* Emits `PolicyAdminUpdated(policyId, previousAdmin, address(0))`.

## Parameters

| Name       | Type     | Description                                         |
| ---------- | -------- | --------------------------------------------------- |
| `policyId` | `uint64` | The policy whose administration is being renounced. |

## Reverts

| Error              | Condition                                          |
| ------------------ | -------------------------------------------------- |
| `PolicyNotFound()` | `policyId` does not exist in the registry.         |
| `Unauthorized()`   | The caller is not the current admin of `policyId`. |

## Access Control

Callable only by the current policy admin for `policyId`.

## Example

```solidity Usage Example theme={null}
IPolicyRegistry(registryAddress).renounceAdmin(policyId);
```
