サイバーセキュリティ・Webアプリ

Sésame Éclair

秘密はひとつ、閲覧は一度、痕跡はゼロ。鍵がリンクの外に出ることはなく、サーバーが保持するのは読めないブロックだけです。

年
2026
技術スタック
Next.js · React · TypeScript · WebCrypto · WebAssembly · PostgreSQL
  • プロダクトデザイン
  • 応用暗号
  • Web開発
  • アプリケーションセキュリティ
  • アクセシビリティ
  • 多言語SEO
https://eclair.kayzen-lyon.com/
Sésame ÉclairのWebサイトのトップページ――サイバーセキュリティ・Webアプリ、KAYZEN制作
アカウント不要、広告なし
0 €
リンクの鍵。サーバーには一切送信されません
256ビット
1回限りの秘密情報で受け付けられる同時閲覧Postgresに対する自動テスト。
100件中1件
サイトの対応言語
7
出発点

解決すべき課題。

背景

Sésame Éclairは、KAYZENがリヨンから提供している、一度だけ読める秘密情報の無料共有サービスです。パスワードや鍵を貼り付けると、エンドツーエンドで暗号化されたリンクが発行され、閲覧後、または選んだ期限が来ると消えます。KAYZENのパスワードマネージャーSésameの姉妹製品で、Sésameは残すべきものを守り、Éclairは消えるべきものを届けます。ソフトウェアは無料ですが、プロプライエタリです。公開されているのはWebアプリだけで、7言語に対応しています。拡張機能、デスクトップアプリとモバイルアプリ、コマンドラインツールは開発済みですが、まだ公開されていません。

制約

メールやSlackで送ったパスワードが本当に消えることはありません。履歴やバックアップ、検索インデックスに残り、いつかその受信箱にアクセスした人なら誰でも読めてしまいます。使い捨てリンクのサービスはすでにありますが、自社のサーバー上で暗号化しているものもあり、たとえば2026年10月6日に確認したOnetime Secretのページにはその旨が記されています。また、ファイル、秘密情報のリクエスト、独自ドメインを有料プランに限定しているサービスも少なくありません。必要だったのは、無料でアカウント不要、そして提供元を信頼しなくても機密性が保たれるサービスでした。

解決策

鍵がリンクの外に出ることはありません。ブラウザが256ビットのランダムな鍵を生成して秘密情報を暗号化し、その鍵をアドレスの#記号の後ろに置きます。この部分は、ブラウザがサーバーに決して送信しない部分です。サーバーが保存するのは暗号化されたブロックといくつかの日時だけで、それを一度だけ渡し、同じ処理の中で削除します。ほかのすべてはこのルールから導かれます。リンクのページに秘密情報が含まれることはなく、PINコードをサーバーが試すことはできず、仕組みの限界はひとつ残らず、伏せるのではなくサイトに明記しています。

自己申告ではなく、計測値

納品時に計測したスコア。

本番環境のサイトのLighthouseスコアです。数値はそのまま公開しています。低いスコアがあれば、その原因と改善計画を下に記載しており、伏せることはしません。

PageSpeed
96
パフォーマンス:100点中96点
100
アクセシビリティ:100点中100点
100
ベストプラクティス:100点中100点
100
SEO:100点中100点
デザイン・アートディレクション

すべての判断に、理由がある。

  1. Sésameファミリーに、ブランドのアクセントをひとつ

    見出しにはネイビー(#1F3B61)、メインのアクションにはテラコッタ(#B7481F)。kayzen-lyon.comとSésameのブランドガイドラインです。「稲妻」のアンバー(#F2C14E)はロゴタイプ専用です。システムの設定にかかわらず初期表示はライトテーマで、ダークテーマはユーザーが選び、その選択が記憶されます。

  2. フォームこそが最初の画面

    このサイトを訪れるのは秘密情報を送るためで、説明を読むためではありません。そのため入力欄がヒーローを占めています。オプションは折りたたまれていますが、「1回閲覧・24時間後に期限切れ・コードなし」という読みやすい1行に要約されており、閲覧回数、期限、保護、受信者を変更するときだけ展開します。

  3. まだ存在しないものは、そうと明記

    「機能」ページでは、各機能を「利用可能」か「予定」に分類しています。「ダウンロード」ページでは、拡張機能、Windows、macOS、コマンドライン、Android、iPhoneを「近日公開」と表示し、Webアプリへ案内しています。セキュリティ製品で存在しない機能を謳えば、得られる信頼よりも失う信頼のほうが大きくなります。

  4. 読むことを妨げない動き

    メリハリのあるアニメーションカーブ、押すとわずかに沈むボタン、マウス操作時に限ったホバー、スクロールに合わせて純粋なCSSで収まるカード。フェードは使わず、コントラストを決して下げません。システムがアニメーションの削減を求めている場合は、すべて無効になります。

プロジェクトのカラーパレット

  • インク

    #1F2937

    テキスト

  • ネイビー

    #1F3B61

    見出し

  • テラコッタ

    #B7481F

    主要なアクション

  • 稲妻アンバー

    #F2C14E

    ロゴタイプ

  • グリーン

    #1F6B48

    確認

タイポグラフィ体系

見出し用書体

Outfit 800

本文用書体

Plus Jakarta Sans 400

kayzen-lyon.comのフォントファミリーを、可変フォント版で自ドメインから配信しています。セキュリティポリシーはサードパーティのフォントを一切許可していません。

エンジニアリング

その裏側にある技術。

  • Next.js
  • React
  • TypeScript
  • WebCrypto
  • WebAssembly
  • PostgreSQL
  1. AES-256-GCM、鍵はフラグメントに

    内容はWebCryptoによりAES-256-GCMで暗号化され、96ビットのランダムな初期化ベクトルと、秘密情報の識別子に結び付けた関連データを使います。鍵はHKDF-SHA-256で導出します。暗号化の前に、内容は段階的なサイズ(1、4、16、64 KiB…)までパディングされるため、サーバーは実際の長さを知ることができません。フォーマットはテストベクトルとともに「フォーマットv1」ページで公開しています。

  2. サーバーが試せないPINコード

    コードはArgon2id(64 MiB、3パス)で処理されます。WebAssemblyで実行され、コードが求められたときにだけ読み込まれます。サーバーに送られる検証値は、コードとリンクの鍵から計算されるため、この鍵がなければサーバーはコードを検証することも試すこともできません。サーバーは失敗回数を数え、5回目の試行で秘密情報を破棄します。限界は「セキュリティ」ページに明記しています。リンクとデータベースのコピーの両方を持つ人は、短いコードをオフラインで解読できます。

  3. 閲覧は1回だけ、100件が同時に来ても

    GETで取得するリンクのページに暗号文が含まれることはなく、「表示」をクリックした後、POSTリクエストで初めて渡されます。そのため、Slack、Teams、Outlookのプレビュー用ボットが閲覧回数を消費することはありません。受け渡しと削除は1つのSQLクエリで行われます。テストでは、1回限りの秘密情報に100件の表示リクエストを同時に送り、受け付けられるのが1件だけであることを確認しています。不明なリンク、期限切れ、閲覧済み、破棄済みのいずれでも、返る応答は同じです。

  4. サードパーティのスクリプトなし、閉じたポリシー

    Content-Security-Policyはリクエストごとのnonceを使い、スクリプトにはunsafe-inlineもunsafe-evalも許可しません。認めているのはArgon2id用のwasm-unsafe-evalだけです。connect-srcは自ドメインに限定、frame-ancestorsはnone、HSTSは2年間でpreload付き、Referrer-Policyはno-referrerです。その代償は受け入れたうえで文書化しています。ページは静的に生成されるのではなく、リクエストのたびにレンダリングされます。

  5. EU域内でホスティング、データベースにIPアドレスなし

    アプリケーションはパリのVercelで動作し、PostgresデータベースはフランクフルトのNeonにあります。IPアドレスを含む列はひとつもありません。レート制限は、毎日変わる不可逆なフィンガープリントに基づいています。データへのアクセスはDrizzleと標準的なPostgresを通じて行うため、ホスティング事業者は置き換え可能です。

  6. 暗号コアはひとつ、複数のクライアントを準備中

    暗号処理はすべて単一のモジュールpackages/cryptoに集約され、決定論的なベクトルでテストされています。コード上では、同じモジュールがすでにManifest V3の拡張機能、Electronのデスクトップアプリ、Android・iOS向けのCapacitorアプリ、MCPサーバーを備えたコマンドラインツールを支えています。現時点で公開されているものはなく、サイトでは今後提供予定として紹介しています。

SEO対策

検索で見つけてもらうための仕組み。

  1. 検索意図ごとに1ページ

    5本の比較記事(Onetime Secret、Password Pusher、scrt.link、Bitwarden Send、Password.link)、4つのユースケースページ(制作会社、DevOps、ITサポート、個人)、ブラウザ上で動く2つの無料ツール(パスワード生成ツール、強度チェッカー)、そしてブログ。各比較記事には調査日、出典、「誤りがありましたか?ご連絡ください」の1行を記載しています。

  2. 相互にリンクした7言語

    フランス語はルートに、英語、ドイツ語、スペイン語、イタリア語、ポルトガル語、オランダ語はそれぞれのプレフィックスの下に置いています。各ページはhreflangで対応ページを宣言し、x-defaultも設定しており、サイトマップにはそのすべてを掲載しています。機械翻訳は「校閲中」と明示しており、法的文書についてはフランス語版のみが正本です。

  3. FAQPage、SoftwareApplication、llms.txt

    FAQにはFAQPageのマークアップを付け、製品はSoftwareApplicationとして価格0 €で宣言しています。llms.txtファイルは、サービスが保証することだけでなく、その限界もアシスタントに伝えます。外部監査を受けていないこと、プロプライエタリなソフトウェアであること、アプリがまだ提供されていないことです。

アクセシビリティ

誰もが使えるように。

2025年6月から、欧州アクセシビリティ法(European Accessibility Act)により、多くのオンラインサービスにデジタルアクセシビリティが義務づけられています。当社は後から対応するのではなく、設計段階から取り組んでいます。

  1. 44ページでWCAG 2.2 AAを検証

    エンドツーエンドテストでは、複数の言語の44ページと、ライトテーマ・ダークテーマ両方のトップページが、WCAG 2.0、2.1、2.2のAAレベルでaxe-coreのチェックに合格しています。キーボード操作、見えるフォーカス、スキップリンクはアクセシビリティ方針に記載しています。

  2. テストで検証したコントラスト

    カラートークンの組み合わせごとに最低比率を定め、自動でチェックしています。明るい背景上の本文と見出しはAAAレベルの7:1、補助テキスト、アクセントのリンク、ステータスメッセージは両方のテーマで4.5:1です。

  3. 過大評価しない宣言

    独立機関によるRGAA監査を受けていないため、アクセシビリティ方針では、準拠するよう設計されているにもかかわらず、基準上は「非準拠」と記しています。証拠のない主張はしないという製品のルールを、アクセシビリティにも適用しています。

サイト構成

納品したもの。

  • ホーム — 秘密情報の作成、3つのステップ、簡易比較
  • 機能 — 機能ごとに「利用可能」か「予定」か
  • セキュリティ — プリミティブ、脅威、限界。フォーマットv1とテストベクトル
  • サーバーに見えるもの — 実際のリクエストをリアルタイムで表示
  • 秘密情報をリクエスト — 依頼者だけが読める暗号化された受け取りリンク
  • 比較、ユースケース、FAQ、料金、ブログ、ツール
  • サービス状況、透明性、更新情報、ロードマップ
  • 法的表示、利用規約、プライバシー、アクセシビリティ、通報
進め方

プロジェクトの流れ。

  1. 基盤

    モノレポ、静的解析付きの継続的インテグレーション、暗号モジュールとテストベクトル付きのフォーマットv1、デザイントークン、アーキテクチャ上の決定と脅威モデル。

  2. サーバーとアプリケーション

    Postgresデータベース、アトミックな表示処理、試行5回までのPINコード、追跡リンク、定期削除、nonceベースのセキュリティポリシー。作成、表示、追跡の各画面。

  3. 公開サイト

    機能、セキュリティ、日付入りの比較、FAQ、ユースケース、ツール、法的ページ、「サーバーに見えるもの」、サービス状況と透明性。

  4. 公開

    実際のホスティングを明示(アプリはパリ、データベースはフランクフルト)、7言語、変更のたびにチェックするパフォーマンス予算、kayzen-lyon.comにそろえたレイアウト。

  5. その他のプラットフォーム

    拡張機能、デスクトップ、モバイル、コマンドラインを同じコアで開発済み。ストアでの公開は保留中。外部監査はバージョン1.0の前に予定しています。

Q&A

よくいただくご質問。

いいえ。それはアーキテクチャによるものです。秘密情報はブラウザ内で暗号化され、その鍵はリンクの#記号の後ろ、つまりブラウザがサーバーに決して送信しないアドレスの部分に残ります。サーバーが受け取るのは暗号化されたブロックといくつかの日時だけで、データベースの完全なコピーがあっても、リンクがなければどの秘密情報も読めません。

まだです。外部のセキュリティ監査は一度も行われていません。バージョン1.0の前に実施する予定で、その報告書は公開します。それまでの間、暗号フォーマットとテストベクトルは公開されており、コードは自動テストと静的解析でチェックされています。サイト自身も「セキュリティ」ページとFAQページでそのことを明記しています。

まだです。Webアプリと同じ暗号コアで開発されていますが、いずれも公開されておらず、「ダウンロード」ページでは「近日公開」と表示しています。現在は、すべてをインストール不要でブラウザ内で行えます。ソフトウェアは無料ですが、プロプライエタリであり、コードは公開されていません。

同じ水準のこだわりを、あなたのサイトにも。

現在のサイトの無料診断、24時間以内のお見積もり、そして今お読みいただいたような書面での解説をお届けします。3回分割払い(手数料無料)に対応し、利用できる地域の補助金は契約前に確認します。

共有