製品 Lemma API証明の発行・検証の基盤Trust402エージェントに任せ、取引するSeal鍵を渡さない、エージェント時代のサインイン
ユースケース 製造・基幹インフラ検査記録アシュアランス金融・FinTech取引先レコード検証自治体・公共証明書レス手続き医療・ヘルスケア有資格者アシュアランス調達・サプライチェーン仕入先資格モニタリングメディア・コンテンツコンテンツ真正性サービス・小売グループ横断アイデンティティAI導入(業種横断)AI実行ガバナンス開発者・エージェント運用エージェント権限統制 ▸ 業界別ソリューション索引を見る
料金
リソース Critical BriefAI×信頼の最前線ブログ考え方と実装の記録ドキュメントAPI と仕様書検証センター検証・発行の実数運営会社FRAME00, Inc.お問い合わせ導入・取材のご相談ニュースレター更新のお知らせ用語集言葉の定義FAQよくある質問
始める ↗ EN
製品 — Seal
Product — Seal

鍵ではなく、証明を送る。

秘密は端末から一歩も出ません。

サインインのとき、端末から出ていくのは鍵ではなく証明です。サーバーは鍵を受け取らず、保管もしません。どの鍵を使ったのかも、渡していません。

国際標準に対応しています

MCPA2Ax402W3C VC
@lemmaoracle/seal — v0.3.8
import * as seal from "@lemmaoracle/seal";

const { proof, publicSignals, nullifier } =
  await seal.prove({
    secret: process.env.LEMMA_API_KEY,
    nonce:  challengeNonce,
  });

// 鍵は端末に残る。送るのは proof だけ。
Unlinkable 同じ鍵でも、毎回ちがう印が押されます。

Seal が出すのは、鍵そのものでも鍵のハッシュでもなく、そのセッションだけの値(nullifier)です。サインインのたびに値が変わるため、証明を並べても同じ人のものだと突き合わせられません。

Session 01
0x4c1e…9ab3
Session 02
0xd07a…21f6
Session 03
0x91b4…5c08

同じ鍵から生成した3回分です。3つの値の間に、たどれる関係はありません。
(サインイン先のサービスは、受け取った証明を自分の登録済みの鍵と突き合わせて本人を確認します。)

What changes 保有を減らし、証明を増やす。

漏洩のほとんどは、本来保有する必要のなかったデータから起きます。Seal はそのデータを式から消します——サーバーから、ログから、AI エージェントのコンテキストから。

Seal なしでは

端末 鍵を送信 サーバー
  • API キーが AI エージェントのコンテキストに置かれ、ログやプロンプトインジェクションで露出する。
  • サーバーが利用者の秘密を保管する。漏洩のたびに全員分が流出する。
  • サインインの記録が、同じ利用者のものとして突き合わせられる。

Seal を使うと

端末 鍵はここに残る 証明を送信 鍵は無い サーバー
  • コンテキストに残るのは証明だけ。漏れて困るものがない。
  • サーバーは鍵を保管しない。漏れるとしても、そのセッションの証明だけ。
  • 証明はセッションごとに別の値になる。並べても関係がたどれない。
0
サーバーが保管する鍵の数保管されるのはハッシュだけで、鍵そのものは渡していません。
How it works challenge → prove → verify。秘密は一度も動きません。
端末境界サーバー
01
nonce
Challenge

サーバーが使い捨ての識別子(nonce)を発行。

02
境界を越えるものは、ありません
Prove

端末内で証明(proof)を生成。

※ 証明の生成はブラウザ内で完結。秘密鍵は端末から一歩も外に出ません。

03
proof
Verify

サーバーが証明を検証し、本人を確認。

※ 鍵の受領・保管は一切不要です。

検証はオフチェーンで行われます(groth16-bn254-snarkjs)。チェーンには依存しません。

鍵を、AI に渡さない。

エージェントが動く場所には、鍵ではなく証明を置きます。導入の形はご相談ください。