{
  "name": "encrypted-maps",
  "title": "Encrypted Maps",
  "category": "Security",
  "description": "Add access-controlled, end-to-end encrypted key-value storage to a canister with the vetKeys EncryptedMaps library (ic-vetkeys for Rust and Motoko backends, @icp-sdk/vetkeys for the frontend). Values are encrypted client-side under vetKeys and shared between principals with per-user access rights (Read, ReadWrite, ReadWriteManage). Use when building a password manager, encrypted notes, a secure vault, or any app that stores and shares encrypted data on-chain. Start here for encrypted storage; escalate to the vetkeys skill only for BLS signatures, custom IBE, or timelock encryption.",
  "license": "Apache-2.0",
  "compatibility": "icp-cli >= 0.2.2",
  "updated": "2026-08-14T16:16:00.000Z",
  "urls": {
    "html": "https://skills.internetcomputer.org/skills/encrypted-maps/",
    "markdown": "https://skills.internetcomputer.org/.well-known/skills/encrypted-maps/SKILL.md",
    "json": "https://skills.internetcomputer.org/api/skills/encrypted-maps.json",
    "source": "https://github.com/dfinity/icskills/blob/089d898fd02de205897aecddfab3bc6ac85fd44e/skills/encrypted-maps/SKILL.md"
  },
  "publisher": {
    "name": "DFINITY Foundation",
    "url": "https://dfinity.org"
  },
  "canonicalRepo": {
    "name": "dfinity/icskills",
    "url": "https://github.com/dfinity/icskills"
  }
}
