让 AI 用密码,但碰不到密码。
MimiKey SDK 让你的 App 或 AI 助手向用户借用一条凭据。用户在 MimiKey 的批准卡上点头,你拿到的是只有这台设备能打开的一条结果,别的什么都没有。
几行 Swift 就能接入。
MimiKeySDK 是一个 Swift 包,只依赖 CryptoKit、Security 和 SwiftUI。
// 或在 Xcode 中:File → Add Package Dependencies
dependencies: [
.package(path: "../MimiKeySDK"),
],
targets: [
.target(name: "MyApp", dependencies: ["MimiKeySDK"]),
]import MimiKeySDK
let mimikey = MimiKeyClient(configuration: MimiKeyConfiguration(
clientID: "pmc_…",
redirectURL: URL(string: "myapp://mimikey/callback")!
))
// 把 MimiKey 的回调交给 SDK
WindowGroup { ContentView() }
.onOpenURL { url in mimikey.handleCallback(url) }let item = try await mimikey.pickItem(
hint: MimiKeyHint(url: "https://bank.example.com"),
reason: "登录示例银行,完成本月对账"
)
item.record.username // 只存在于本进程内存
item.record.password// 密码由用户在 MimiKey 的安全卡里输入
let created = try await mimikey.createItem(
kind: .login,
prefill: MimiKeyPrefill(
title: "示例银行",
url: "https://bank.example.com/login",
usernameHint: "lin@example.com"
),
reason: "保存刚注册的账号"
)// 用户在修改卡上看过差异、点「保存修改」才会生效
let updated = try await mimikey.updateItem(
id: item.id,
vaultID: grant.vaults[0].id,
patch: [.password: newPassword],
reason: "已在网站上更换密码"
)SDK 永远看不到的
- 用户的主密码、Secret Key、库密钥与身份私钥
- 条目列表,以及用户没有批准的任何条目
- 新建条目的密码:它在 MimiKey 的安全卡上输入
- 修改请求里的新值:SDK 先把它密封给用户账号,服务器只见密文
SDK 不写日志、不缓存明文;审批钥与密封钥存在系统钥匙串里,不同步、不迁移。
批准卡由 MimiKey 渲染,不在你的 App 里。
任何让用户决定「给不给、给哪条、填什么、改什么」的界面,都只在 MimiKey 自己的进程里出现。你的 App 可以定制名称、图标和品牌色,卡片的结构、按钮和风险提示由 MimiKey 决定。
- 同意卡
- 选条目卡
- 读取批准卡
- 安全卡(新建)
- 修改卡