NilData Wallet is a browser extension that helps users manage private data and control permissions in Nillion's User Owned Collections. DIDs/keypairs are generated via @nillion/nuc keypairs, securely stored in the browser’s local storage, and encrypted with AES-GCM using PBKDF2-derived keys
- 🔑 Private Data Management – Store and organize sensitive information locally.
- 🛡 Permission Control – Grant or revoke data access per app/service.
- 🌐 Browser Extension – Runs directly in the browser for easy access.
- ⚡ User-Centric – Puts the user in control of their data at all times.
Want to integrate NilData Wallet into your React application?
📦 nildata-wallet-connector - NPM package for easy integration
This package provides:
- React Provider/Hook pattern for wallet connection
- Data transmission to the extension
📚 Example Implementation - See a real-world example of using nildata-wallet-connector
NilDataWallet generates and securely stores Decentralized Identifiers (DIDs) as follows:
- Generation: DIDs are created using keypairs from the
@nillion/nuclibrary - Storage: The generated keypair is stored locally in the browser extension's local storage
- Encryption: The keypair is encrypted using AES-GCM, with keys derived using PBKDF2 for secure key derivation.
- Applications send data through the
nildata-wallet-connectorpackage usingsendDataToExtension() - Extension popup opens for user confirmation
- User approves the data storage request
- Data is encrypted and stored securely in the Nillion Network
- Extension displays all stored collections in the dashboard
- Collections are organized by name and timestamp
- Users can see which apps have access to which data
- Click on any collection to view details
- See collection name, ID, and metadata
- View associated permissions and access history
- Users can delete collections from the extension dashboard
- TypeScript
- React (for UI)
- Vite (for build system)
- Secretvaults SDK



