Delete an IOTA Identity
There are two approaches to delete an IOTA Identity, with different implications:
Deactivate
As detailed in the IOTA DID Method Specification, the state controller of an IOTA Identity may deactivate it by publishing an update that either:
- deletes the contents of the DID Document entirely, leaving the state metadata empty, OR
- sets the
deactivated
field in the DID Document metadata totrue
.
In both cases, the DID Document will be marked as deactivated
when resolved.
The identity can be reactivated at any time, by publishing an update restoring the DID Document's contents,
or unsetting the deactivated
field in the metadata respectively, depending on how it was initially deactivated.
Note that if the governor is different from the state controller, it cannot deactivate an identity directly because it is disallowed from updating the DID Document, but it may destroy it.
Example
The following example demonstrates deactivating and reactivating an IOTA DID Document, and optionally reclaiming the storage deposit.
- Rust
- Typescript (Node.js)
loading...
loading...
Destroy
Alternatively, you can destroy an IOTA Identity can be permanently.
Destroying an IOTA Identity is permanent and irreversible.
This is achieved by the governor of a DID publishing a transaction consuming the Alias Output containing the IOTA DID Document, without a corresponding Alias Output on the output side.
Any coins and tokens in the Alias Output are reclaimed and can be sent to another address.
Note that historical versions may still be stored off-ledger, or on a permanode, so sensitive or Personal Identifiable Information (PII) should NEVER be stored in a DID Document.
Even with a previous version available, a destroyed DID can never be restored.
Example
The following example demonstrates a governor destroys an IOTA Identity and sends the storage deposit back to itself.
- Rust
- Typescript (Node.js)
loading...
loading...