Frequently Asked Questions
This page contains frequently asked questions regarding the Identity Library and Self-Sovereign Identity in general.
What programming languages are supported by the IOTA Identity framework?
We currently provide a Rust library and a JavaScript library for both the browser and Node.js via WebAssembly (Wasm) bindings. See the "Programming Languages" section for more information.
Do I need to have IOTA tokens to start building with IOTA Identity?
You need IOTA tokens to create identities, in order to pay the storage deposit.
How do I prove control over my DID?
Control over an identity is ultimately tied to the control over cryptographic key material (something you have).
How do I store my private keys?
Theoretically, you can store the keys however you like. Where possible, we provide a secure default using IOTA Stronghold, a secure software implementation for isolating digital secrets with encrypted storage. For even better guarantees, you could look into hardware-based key storage.
Do I need a Permanode to use IOTA Identity?
You can get started without one, but currently, you require access to a Permanode (a node that stores the entire history of the Tangle) to reliably resolve the history of identities.
Can I use IOTA Identity on Android or iOS?
We currently do not supply dedicated bindings for Kotlin or Swift. There has been some success running the Wasm bindings on mobile, however.
Can I use IOTA Identity on embedded devices?
We currently do not supply dedicated bindings catering to embedded devices with restricted capabilities. You can try to compile the Rust library for your target platform or use a gateway in front of the devices to handle IOTA Identity interactions.
What should I do if my private key is compromised?
If you still have control over your identity, rotate the key material ASAP! If an attacker has locked you out of your identity, there is not much you can do. Notify contacts that your identity has been compromised and start fresh with a new one. For this reason, we suggest using different keys for day-to-day signing and authentication operations and instead storing private keys capable of updating your DID Document securely and separately.
Are verifiable credentials stored on the Tangle?
Verifiable credentials, particularly those with personal identifiable information, are supposed to be stored securely off-Tangle on user devices or systems. As a user, you are in charge of storing your credentials securely and sharing them with other parties on a need-to-know basis.
Do I need to hide my DID? Will people be able to identify me by my DID?
A DID Document should not contain any information linking back to you as a person. However, there is the chance of entities correlating information about you from your DID if used across multiple issuers and verifiers. To minimize this risk, it is advisable to use different DIDs for different use cases.