本文へ移動

NeverNo が保存するもの、保存しないもの

このページの文はすべて、サイトを動かしているコードと照らし合わせて確認しています。NeverNo が保存するもの、決して保存しないもの、メッセージを読むのは誰か、そして自分で確かめる方法を示します。

コードとの最終照合:2026年11月11日

  • ブラウザの中

    会話、画像、キャラクター、メモリー。ブラウザが誰にも書き出させない鍵で暗号化されています。同期をオンにした場合は、読めないコピーが私たちのサーバーにも保存されます。メディアは含まれません。

  • サーバー上

    アカウント、プラン、クレジット、利用カウンター、そして下に挙げるアカウントの記録(デバイス、支払い、トライアル)。共有リンク、バックアップ、同期は暗号化された状態でのみ保存され、私たちには読めません。

  • 保存しないもの

    メッセージと回答の本文、画像、声。回答を作る間だけサーバーを通過し、読める形では記録されません。

ブラウザに残るもの

作成したものはすべて、このブラウザだけにある neverno という名前の IndexedDB データベースに保存されます。私たちのサーバーに読めるコピーはありません。あるのは、自分で作成した場合のバックアップ、共有リンク、同期用のコピーだけで、3つとも暗号化されています(下記参照)。

初回利用時、ブラウザは「書き出し不可」の AES-256-GCM 鍵を作成します。ページはこの鍵で暗号化と復号ができますが、どのスクリプトもそれをバイト列として読み取れません。私たちのスクリプトも同じです。鍵は同じデータベースの keys テーブルに置かれ、デバイスの外に出ることはありません。各コンテンツは個別に、ランダムな12バイトのベクトルで暗号化されます。

すべてを復号しなくても会話を並べ替えたり探したりできるよう、いくつかの目印は読める状態で残ります。ID、日付、使ったモデルなどです。どれが該当するかは表に示しています。

保存されるもの暗号化されるもの読める状態で残るもの
会話タイトルID、フォルダ、プロジェクト、種類(例:コンフェッショナルのセッション)、ピン留めの有無、モデル、キャラクター、日付
メッセージ本文、モデルの推論、ウェブの出典、ステップ、バージョン、評価ID、送信者(あなたか NeverNo)、モデル、状態、メディアへのリンク、日付、推論時間
フォルダー名前並び順、日付
画像・動画・音声ファイル、その説明、モデル、サイズメディアの種類、ファイル形式、関連する会話、日付
作成したキャラクタープロフィール全体ID、日付
メモリー(アカウント)各記憶とそのベクトル元になった会話、記憶の種類、誰についての記憶か(あなたかキャラクター)、日付
カスタム指示、学習待ちの内容テキストなし
設定匿名化モデルに送る前にマスクする名前、同期のデータ鍵メモリーのオン・オフ、マスキングのオン・オフ、自動バックアップ、最終バックアップの日付、バックアップ鍵(書き出し不可)、共有リンクとその鍵(再びコピーできるように)、同期の状態(アカウント、鍵のエポック、カーソル、最後のやり取りの日付)
同期の管理情報なし:内容はここにコピーされません送信待ちの変更された行(テーブルと ID)と、すでにやり取りした各項目の不透明な ID、カウンター、バージョン、フィンガープリント
プライベート金庫各文書の名前と詳細、各箇所のテキストとそのベクトルID、箇所の順序、インデックス作成の状態、箇所の数、日付
プロジェクトプロジェクト全体(名前、指示、設定)ID、日付
プロジェクトや会話のファイル名前と中身ID、紐づく会話またはプロジェクト、ファイルの種類とサイズ、出どころ(あなたかエージェントか)、日付
同期するファイルの管理(メディア同期が有効なとき)ファイルごとの専用の鍵不透明な ID、サイズ、分割数、送信の状態、日付

ローカルストレージに平文で

インターフェースの設定の一部は、ブラウザのlocalStorageに平文で保存されます。会話の内容は含みません。選んだモデル、画像スタジオの設定(ネガティブプロンプトを含む)、選んだ音声、アクセントカラー、訪問者のアバター、サイドバーの状態、すでに表示したアップグレードの提案、そのほか同じ種類の設定(コンフェッショナルで選んだキャラクター、通知、表示済みのウェルカム画面、作成したばかりのアカウントではその ID と作成時刻)です。例外が一つあります。動画、音楽、効果音を作成している間は、再読み込み後もその作成を見つけられるよう、説明文と設定がそこに平文で保存されます。作成物が届いたとき、またはあなたが取り消したときに削除され、失敗した場合は24時間を過ぎたあとの最初の訪問時に削除されます。一時チャットから始めた作成は、そこには一切書き込まれません。

メッセージをミッションにするとき、そのテキストはタブのsessionStorageを通じて平文でミッションのページに渡されます。ページは一度だけ読み取って消去し、いずれにせよタブを閉じれば消えます。

設定の「すべて消去」、またはブラウザでこのサイトのデータを消去すると、データベースと鍵が削除されます。バックアップも同期もなければ、あなたにも私たちにも、何も復元できません。

デバイス間の暗号化同期

私たちのサーバーに、読める形のものは何もありません。保存しているのは読めないコピーだけで、開けるのはパスキー、リカバリーキー、承認済みのデバイスだけです。同期した項目の数と時刻は見えますが、内容は決して見えません。

アカウントがあれば、設定 › データ でオンにできます。会話、フォルダー、キャラクター、プロジェクト(各200 KBまでのファイルを含む)、メモリー、エージェント、カスタム指示、設定が、ほかのデバイスに引き継がれます。各項目は送信前にブラウザで AES-256-GCM により暗号化され、私たちのサーバーが決して持たないデータ鍵が使われます。ID も不透明にされるので、サーバーはそれがメッセージなのか、キャラクターなのか、設定なのかを判別できません。金庫(文書とその箇所)も同じ方法で暗号化されて同期されます。画像、動画、音声はまだ同期されません。これらはこのブラウザに残り、バックアップを作った場合はその暗号化されたバックアップにも入ります。アカウントのない訪問者は同期を使えません。

データ鍵は最初のデバイスで作られます。この鍵は、パスキー(ログインではなくこの用途だけに使う WebAuthn の鍵)とリカバリーキーで包まれ、承認済みのデバイスごとにも封印されます。新しいデバイスは、この3つのいずれかの経路で鍵を受け取ります。盗まれたセッションだけでは足りません。同期のリクエストはすべて、承認済みのデバイスによる署名が必要です。

サーバーに見えるもの

  • 同期された項目の数と、それぞれのサイズ(256バイトの倍数に丸めたもの)。種類や内容は決して見えません。
  • 各書き込みと最後のやり取りの時刻、そして各項目を書き込んだデバイス。
  • デバイス(名前、状態、日付)とパスキー(ID、名前、日付)。
  • 使用中の容量と、プランの上限との比較。削除された項目は、ほかのデバイスでも削除されるよう、内容のない痕跡が180日間残ります。

プランごとの同期容量

プラン容量
無料100 MB
Pro5 GB
Pro+20 GB
Max100 GB

容量がいっぱいになると、新しい変更はデバイス上で待機します。何も失われず、ほかのデバイスは同期済みの内容を受け取り続けます。プランが使用量より容量の少ないものに変わっても何も削除されませんが、十分に削除するまでは、テキストを含め新しいものは同期されません。

主導権はあなたにあります

  • 設定 › データ でオフにすると、同期が止まり、項目、鍵のエンベロープ、デバイスのアクセスがサーバーから消去されます。残るのは、下に挙げる内容のない目印だけです。オフにした日付と、リセットをした場合はその痕跡です。データはこのブラウザに残ります。
  • 一時チャットはこのブラウザに書き込まれないため、同期されることもありません。
  • リカバリーキーを使うと、パスキーを失っても新しいデバイスでデータを開けます。表示されるのは一度だけで、私たちには決して見えません。新しいキーを発行するには、パスキーか古いリカバリーキーが必要です。
  • パスキー、リカバリーキー、ほかの承認済みのデバイスのいずれもなければ、私たちのコピーは開けなくなります。各デバイスのデータはそのまま残り、そのいずれかから同期を再びオンにできます。
  • 「キーを変更」は、すべてを新しい鍵で暗号化し直します。もう管理できないデバイスを取り消したあとに行ってください。

一時チャット:ここにも何も残りません

一時チャット(モデル選択の横にある点線の吹き出し、またはサイドバーと ⌘K のパレットの「新しい一時チャット」)は、ほかのチャットと同じように使えますが、ひとつだけ違います。このブラウザに一切書き込まれません。メッセージ、その中で作った画像や音声、添付したファイルは、タブのメモリの中にだけ存在します。

  • IndexedDB には何も入りません。チャットもメッセージもメディアもなく、そのための鍵も作られません。
  • サイドバーにも検索にもタイトルは出ず、専用のアドレスもありません。/chat?ephemeral=1 のままです。
  • メモリーはこのチャットから何も読まず、何も学びません。バックアップにも共有リンクにも同期にも入りません。
  • ページの再読み込み、タブを閉じる、チャットを離れる(アプリ内では確認のあと)のいずれでも完全に消去されます。

それでも数えられるもの:メッセージは本日の上限に数えられ、回答への評価はほかのチャットと同じく匿名の合計に加わります。こちら側も何も変わりません。どのチャットとも同じく、テキストはサーバーを通ってモデルに届き、どこにも書き込まれません。

プライベート金庫:文書と、送信されるもの

金庫(サイドバーの「金庫」)は、追加した PDF、Word、Markdown、テキスト、コードの文書を同じ neverno データベースに、同じ鍵で暗号化して保管します。各文書は約800トークンの箇所に分けられ、文書の名前と詳細、各箇所のテキストとそのベクトルは封印されます。読めるのは ID、箇所の順序、インデックス作成の状態と件数だけです。元のファイルは保管されません。

質問に答える箇所を見つけるには、箇所ごとにベクトル(意味を表す1,024個の数値)が必要です。この計算はブラウザ内では行われません。何が、いつブラウザから出るのかを、以下に正確に示します。

ブラウザから出るもの

  • 文書を追加したとき:何も送られません。PDF(1ページずつ)、Word、Markdown、テキスト、コードのファイルはブラウザ内で読まれ、丸ごと送られることはありません。
  • 文書のインデックス作成中:各箇所のテキストが一度だけ、私たちのサーバーを経由して DeepInfra に送られ、DeepInfra がベクトルを返します。何も保存されず、テキストがログに残ることもありません(/api/memory/embed)。
  • 「金庫を使って答える」がオンのときの各質問:まず質問そのもの(同じ方法でベクトルを得るため)。次に、最も近い箇所だけ(最大6件、無料プランは3件)とその文書名が、そのメッセージに限って、メッセージのほかの部分と同じように私たちのサーバーと回答するモデルに送られます。会話には保存されず、次のメッセージで再送されることもありません。

決して出ないもの

  • 文書の残り:質問に必要なかった箇所と、該当する箇所がなかった文書の名前。
  • 検索そのもの:最も近い箇所は、ブラウザに保管されたベクトルをもとにブラウザ内で選ばれます。
  • 文書の一覧、会話がどの文書を使うか、そして金庫ページでの単語検索。

それでも数えられるもの:インデックスを作成した箇所と検索した質問はそれぞれ1日の上限(vault)に数えられ、計算にかかった費用はメモリーと同じく金額として記録されます。「匿名化」と表示されたモデルでは、箇所はメッセージとともにその開発元に届き、開発元のルールに従って扱われます。設定の「すべて消去」で、金庫もほかのデータと一緒に削除されます。

ミッション:あなたがいない間にエージェントが働くとき

ミッション(有料プラン。無料アカウントはトライアルが1回)は、あなたが不在の間も私たちのサーバー上で実行されます。作業のためにサーバーがあなたの指示を読み取る必要があるのは、NeverNo の中でここだけです。これを正直にお伝えし、それ以外は必要最小限にとどめます。

指示、エージェントのプロフィール、送ったフィードバック、監視の直近の観測結果は、ミッションサーバーだけが持つ鍵で保存時に暗号化されます。この鍵はミッションとアカウントに紐づいています。実行中に読んだページと作業メモは暗号化して保持され、結果が配信されるとすぐに削除されます。

結果はあなたのデバイスの公開鍵で暗号化されます。秘密鍵はあなたのブラウザ内で作られ、外には出ません(暗号化バックアップとともに保管されます)。配信済みの結果を私たちが再び読む方法はありません。その暗号文は、デバイスが受け取り次第、遅くとも30日後には私たちのサーバーから削除されます。これらの期限つきの削除(30日と90日)は、毎時動く消去処理が行います。

データサーバーが読める保管期間
実行スケジュール(曜日、時刻、タイムゾーン)、予算、状態、カウンターはい(ミッションを起動するため)ミッションが存在する間
指示、エージェントのプロフィール、フィードバック、選んだコネクタ実行中のみ(保存時に暗号化)ミッションが存在する間
監視の直近の観測結果(比較に使う少数の事実)実行中のみ(保存時に暗号化)実行のたびに置き換え
読んだページ、作業メモ、ステップのログ実行中(保存時に暗号化)配信時に削除
配信済みの結果いいえ(デバイス向けに暗号化)デバイスが受け取るまで、最長30日
コネクタのトークンまたはシークレット呼び出し時のみ(保存時に暗号化)接続を解除するとすぐに削除

外部へのあらゆる操作(メッセージの送信、操作を伴うツールの呼び出し)は、ワンタップで承認するまで待機します。通知にミッションの内容が含まれることはありません。

サーバーが保存するもの、そのすべて

私たちのデータベース(Supabase、Postgres)には、メッセージ、返答、画像を読めるテーブルがありません。同期が保存するのは暗号化された項目だけで、読める種類も ID もありません。以下は、そのマイグレーション(supabase/migrations/)から読み取った保存内容を、種類ごとにまとめたものです。

データ目的保存期間
アカウント:メールアドレス、登録日、最終ログイン日時。私たちに代わってログインを処理する Supabase は、開いているセッションごとに、ブラウザの完全な名称(ユーザーエージェント)と、そのセッションを開いた IP アドレスを保存し、ログインの記録も残しますメールで送るコードでログインしてもらうためアカウントがある限り。セッションは閉じるまで(設定 › セキュリティ で確認して閉じられます)
プロフィール:プランと更新日、コンテンツフィルターのオン・オフ、「18歳以上」と申告した日付、利用停止の有無、選んだアバター(最大64文字のシード値で、写真ではありません)、アクセントカラープランの権利を適用し、どのデバイスでも同じインターフェースを表示するためアカウントがある限り
支払い:Stripe のカスタマー ID、サブスクリプションの状態、自動チャージ(しきい値、金額、Stripe 上のカード ID)、使用したギフトコード、処理済みの Stripe イベントの ID請求、サブスクリプションの管理、同じ支払いを決して二重に処理しないためアカウントがある限り。請求書は会計法の定めに従い Stripe に保管
クレジット:付与ごとの記録(金額、出どころ、有効期限)と利用ごとの記録(金額、日付、支払い対象の機能名またはモデル名を含む理由。例:chat:claude-opus-5.5、confessional、debate:contract、research:…、image:…、media:…)。そのため、この記録からは、コンフェッショナルのセッションに支払った日付がわかります。そこで話された内容は一切含みません残高を正確に保ち、失敗した生成の分を返金するためアカウントがある限り
利用カウンター:操作の種類(メッセージ、画像、検索など)と時刻。アカウントに紐づきます。アカウントのない訪問者の場合は、ランダムな試用 ID と、秘密鍵で計算した IP アドレスのフィンガープリント(IPv6 アドレスの場合は、単一のアドレスではなく、同じ接続が使えるアドレスのまとまりである/64ネットワーク全体のもの)に紐づきます。無料アカウントでは、画像・読み上げ・音声入力もこのフィンガープリントで別のカウンターに数えられ、そこにはアカウント ID は含まれません(同じ接続の無料アカウントは上限を共有します)直近24時間の利用上限と、「マイプラン」の30日間カレンダーアカウント:31日間保持(数値のみで、内容は一切含みません)し、その後は毎時消去。アカウントのない訪問者:48時間を過ぎたものを毎時消去。リクエストの集中を抑える直近1分間のカウンターは1時間後に消去
プランに含まれる利用のコスト:ドル建ての金額、種類(チャット、画像、音声など)、時刻。あなたのアカウントに、アカウントのない訪問者の場合は試用 ID または IP アドレスのフィンガープリントに紐づきます各プランの1日あたりのコスト上限アカウント:35日を過ぎたものを毎時消去。アカウントのない訪問者:48時間を過ぎたもの
時間のかかる生成(動画、音楽、効果音):モデル、状態、日付、確保したクレジット、提供元側のタスク番号、そして動画の場合は、取り込んだ画像をもとにしているという事実生成の進行を追い、支払いを一度だけにするためアカウントがある限り。私たちの側には説明文もファイルもありません。提供元は、受け取った説明文を保管している間、タスク番号からそれを探し出せます
共有リンク:暗号化されたテキスト(私たちには読めません)、そのサイズ、作成日と有効期限、作成したアカウントリンクを持つ人が読めるようにするため選んだ有効期限(1日、7日、30日)が来るか、削除するまで。その後1時間以内に消去
バックアップ:パスフレーズで暗号化されたファイル1つ、そのサイズと日付別のデバイスでデータを取り戻すため削除するか置き換えるまで
暗号化された同期:暗号化された各項目(私たちには読めません)とその不透明な ID、バージョン、256バイト単位に丸めたサイズ、時刻、書き込んだデバイス。パスキー、リカバリーキー、承認済みの各デバイスで包まれたデータ鍵。使用中の容量ほかのデバイスでデータを使えるようにするため同期をオフにするかアカウントを削除するまで。削除された項目は、内容のない痕跡が180日間残ります
コンパニオンからの自発的なメッセージ:コンパニオンごとに、不透明なランダム ID(どのキャラクターかは含まない)、選んだ頻度、次の時刻、タイムゾーンと通知を控える時間帯、最後の通知の日付と未読の通知の有無。通知に名前を出すことを許可した場合のみ、その名前。会話の内容は一言も含みません。メッセージはアプリを開いたときにデバイス上で書かれます内容のない通知を送るため(「NeverNo」、「Lena があなたのことを考えています」、または「メッセージが届いています」)そのコンパニオンまたはアカウント全体で無効にするか、関係をやり直すか、アカウントを削除するまで
API キー:名前、先頭12文字、SHA-256 フィンガープリント(キーそのものは保存しません)、最終使用日API 呼び出しを識別するためアカウントがある限り(無効化したキーは無効化の日付を保持)
回答への評価:日ごと、モデルごと、評価ごと、理由ごとのカウンター「自動」モードの調整無期限。ただしアカウントも ID もテキストもないため、あなたと結びつくものはありません
管理ログ:管理者がアカウントに対して行った各操作(クレジットの追加、利用停止など)と、一部の自動処理(サブスクリプションの終了、申告した国と接続元の国を含む暗号資産での注文、同期のリセット、利用のないアカウントの削除)監督とセキュリティアカウント削除後も、その ID を除いて保管。保管期間の上限はまだ定めていません
利用統計:決まったリストのイベント名、ページのテンプレート、流入元のドメイン、キャンペーンタグ、国、デバイスの種類、言語、日ごとのフィンガープリント(鍵は毎晩消去)。アカウントについては登録日、流入元、初回支払い、売上とコストの合計改善点を知り、登録数と利益率を測るため生のイベントは90日、その後は匿名の日次合計のみ。アカウント分はオフにするかアカウントを削除するまで
休眠通知:アカウント ID、通知メールの送信日、削除予定日(3年間使われていない無料アカウントが対象)プライバシーポリシーの約束を守るため:30日前にお知らせし、「アカウントを削除」と同じ手順で一度だけ削除します(二重には削除しません)次にログインするまで(通知は取り消されます)、またはアカウントが削除されるまで
アカウントの既知のブラウザ:ブラウザとシステムの名称(「Chrome, Windows」)、最初と最後に確認された日時、通知メールの送信日新しいブラウザからログインがあったときにメールで知らせるためアカウントがある限り(最大30件)
重要な操作のコード確認:依頼したセッションについて、6桁のコードのフィンガープリント、試行回数と送信回数、最後の送信時刻、確認が有効な時間の終わりほかのセッションをログアウトしたり、ログイン通知を止めたりする前に、本人であることを確かめるためコード:10分間。コードを含まない行:24時間以上たってから次にコードを依頼するとき、またはアカウントの削除まで
有料機能のトライアル:アカウントごと、IP アドレスのフィンガープリントごとのカウンター(機能別・月別。一度きりのトライアルは1回分)。ミッションのトライアルはその日付各トライアルを一度だけ提供し、大量のアカウントで増やされないようにするためIP アドレスのフィンガープリント:当月分のみで、翌月最初の夜に消去。アカウント:月次カウンターは最長3か月。一度きりのトライアル(Claude Opus の回答、コンフェッショナル、動画、エージェント、ミッションなど)はアカウントがある限り。すべてアカウントとともに消去されます
暗号資産で支払った注文:プラン、価格、状態、日付、申告した国、接続元の国、付加価値税、CoinGate での注文番号支払ったプランを有効にし、法律が求める会計と付加価値税の記録を残すため支払い済みの注文:法定の10年間。アカウント削除時にアカウントから切り離されます(期間満了時の自動消去はまだ導入していません)。未払いの注文はアカウントとともに消えます
契約上の証拠:確認と領収書の送信日、表示した通知の版、購入前にチェックした撤回権の放棄消費者法が求めるとおり、何に同意し何を送ったかを証明するためアカウントがある限り。支払い済みの暗号資産での注文に関するものは、アカウントと切り離して残ります
付与されたプランと回収したクレジット:管理者が付与したプランと自由記述のメモ、返金や異議申し立てのあとに回収したクレジット、確保分の自動修正(理由、金額)付与されたプランを適用し、返金されたクレジットを回収し、開いたままの確保分を清算するため付与されたプラン:その終了まで。回収したクレジット:アカウントがある限り。修正:365日
自動チャージ:直近の支払いエラー(Stripe のメッセージの冒頭)と各試行(金額、状態、請求書番号、日付)二重に請求せず、3回失敗したら止めるためアカウントがある限り
開発者向けサブスクリプション:Stripe でのサブスクリプション ID、状態、更新期限開発者向けプランの権利を適用するためアカウントがある限り
ミッションのデバイスと通知:デバイスごとの公開鍵、名前、状態、日付。承認と取り消しの記録。ブラウザの通知の購読アドレス結果をあなたのデバイスだけに向けて暗号化し、内容を含まない通知を送るためデバイスまたは購読がある限り。一度も承認されなかったデバイス:30日。取り消したデバイスは鍵を除いた痕跡を90日間残します。記録:90日
ミッションのコネクター:接続した各サービスへのアクセス情報(ミッションのサーバーの鍵で暗号化され、操作のためにサーバーが読めます)と最後に使った日付ミッションが必要とするときに、あなたのサービスを読み取ったり操作したりするため接続を解除するか、アカウントを削除するまで。その際、サービス(Google、Notion、Slack、GitHub)に許可の取り消しを依頼します
同期のアカウントと鍵:包まれたデータ鍵、パスキー、承認済みのデバイス。オフにしたあと、またはリセットしたあとは、オフにした日付と、リセットの日付・デバイス・回数あなたのデバイスでデータを開き、古いデバイスが消去済みのコピーを再び開けないようにするため同期が有効な間。オフとリセットの目印:アカウントがある限り
利用中のエージェント:あなたが実行する個人エージェントごとに、その ID の鍵付きフィンガープリント(名前やプロフィールは含みません)、アカウントのエージェントになった日付、最後に実行した日付、入れ替えた場合はその日付プランのエージェント数を適用するため現在のエージェント:アカウントがある限り。入れ替えたエージェント:31日後、次の実行時に消去
コンフェッショナルの音声のキュー:回線を使っている、または待っているアカウントや訪問者、その状態、優先度、二つの時刻同時通話数を超えないようにし、順番に対応するため通話中または待機中の間。放置された回線は、次の通話(あなたのものでも他の人のものでも)の際に取り除かれます
アカウントに紐づく統計:登録日、最初に訪れたページ、参照元サイト、キャンペーンのタグ、国、デバイスの種類、言語、登録前に試したかどうか、最初に支払った日と最初のプラン、売上・コスト・クレジットの合計。統計を拒否した場合は、その拒否の日付だけ登録数と利益率を測り、あなたの拒否を尊重するためあなたがオフにするまで(その時点で消去され、拒否の日付だけが残ります)、またはアカウントを削除するまで
サービスの稼働状況:サーバーエラーごとに、ルートのテンプレート(例:/api/chat。実際のアドレスやそのパラメーターは含みません)、HTTP ステータス、エラーの種類、提供元を、1分ごとに集計したもの不具合のあるルートに気づき、アラートを受けるため30日間。アカウント、ID、メッセージは含まれません
提供元への支出:提供元ごと、操作の種類ごとの1分あたりのドル金額。どのアカウントにも結び付きませんコストが急増したときにアラートを受けるため35日間
機能スイッチとアラートログ:どの機能が停止中か、誰が止めたか(管理者または自動停止)、各アラートの数値デプロイなしで機能を一時停止し、その記録を残すためスイッチ:サイトが存在するかぎり。アラート:90日間

設定の「アカウントを削除」を使うと、これらすべてが消去されます。サブスクリプションが解約され、Stripe のカスタマーとそのカードが削除され、続いてバックアップ、同期されたコピー、リンク、鍵、カウンター(トライアルのものを含む)、コスト、最後にアカウントが消去されます。Google、Notion、Slack、GitHub に与えた許可は、それぞれの側で取り消されます。応答しないサービスがあっても、私たちが持つアクセス情報は消去され、そのサービスのあなたのアカウントから許可を取り消せます。残るもの:匿名の評価カウンター。アカウントの ID を除いた管理ログ。法律が求める会計記録(暗号資産で支払った注文とその領収書の送信記録。あなたとは切り離されています)。アカウントと切り離された利用統計(最長90日)。IP アドレスのフィンガープリントに紐づくカウンター(自動で消えます:48時間、トライアルのものは月末)。私たちのデータベースの外にあるもの:Resend に残る私たちのメールの送信記録、Supabase の技術的なバックアップ(その保管期間中)、Stripe が自社で保管する請求書。

Supabase の技術的なバックアップには、データベースのコピーが、つまり削除された行のコピーも、Supabase が保管している間は残ります。

サーバーが決して保存しないもの

回答するために、メッセージは私たちのサーバーを通ってモデルに届き、回答はストリーミングでブラウザに戻ります。以下のものは、データベースにもログにも読める形では書き込まれません(同期をオンにした場合に保存されるのは、ブラウザが暗号化したコピーだけです)。

  • メッセージと回答の本文、そしてモデルの推論。
  • カスタム指示、メモリーの記憶、作成したキャラクターのプロフィール。これらは各メッセージと一緒に送られます。
  • 添付ファイル。PDF はメモリ上で読み取られてから破棄され、テキストファイルはブラウザ自身が読み取ります。
  • 送信した画像。チェックされたあと、メタデータ(位置情報、カメラ)を除いて再エンコードされてから、提供元に送られます。
  • 作成した画像。提供元から戻ってきて、そのままブラウザに届き、ブラウザが暗号化します。
  • スタジオでの説明文、音声入力した声、読み上げるテキスト。
  • ウェブ検索。検索語は識別子なしでサーバーから送られ、私たちのログには残りませんが、プランによっては Exa を経由し、Exa が保持することがあります(下の「ウェブ検索」を参照)。

エラーログに記録されるのは技術的な目印だけです。モデル名や提供元の名前、エラーコード、クレジット操作の番号などです。アカウントは、秘密の鍵で計算したタグとしてしか現れず、タグだけでは何もわかりません。アカウントを削除したときだけその ID を記録しますが、メールアドレスは決して記録しません。なお、受け取った内容を一定期間保管する提供元もあります。「メッセージを読むのは誰か」をご覧ください。

内容を含まない利用統計

何を改善すべきかを知るために、NeverNo の使われ方を自社のサーバー上の自社ツール(/api/analytics)で数えています。Cookie も第三者のトラッカーも、フィンガープリント用のスクリプトもありません。

訪問者は「当日の指紋」で数えられます。サイト、IP アドレス、ブラウザから鍵付きで作るハッシュで、その鍵はランダムに作られ、毎晩0時を少し過ぎた頃(UTC。その日の最初の訪問時、遅くとも0時7分)に消去されます。アドレスもブラウザも保存されず、鍵が消去されたあとは、私たちを含め誰も、ある日の訪問を翌日の訪問と結び付けることはできません。鍵は、私たちのデータベースの技術的なバックアップに、その保管期間中は残る場合があります。

数えるもの

  • 表示したページ(/chat/:id のようなテンプレートで、ID は含みません)、流入元のサイト(ドメインのみ)、キャンペーンタグ utm_source、utm_medium、utm_campaign。
  • 国(ホスティング事業者のヘッダーによる)、デバイスの種類(スマートフォン、タブレット、パソコン)、ページの言語。
  • 決まったリストのイベント:送信したメッセージ、作成した画像や動画、使った機能、開始した支払い。付くのはモデルの ID と「はい/いいえ」の選択肢だけです。
  • ブラウザが測ったページの速さ(表示、タップへの反応、レイアウトの安定性:LCP、INP、CLS)。丸めた値に、ページの種類(ホーム、チャット、スタジオなど)と回線の種類だけを付け、共有がオンのときだけ送ります。
  • アカウントについて:登録日、最初の訪問の流入元、初回の支払い日、これまでの売上とコストの合計。登録数、再訪、利益率を測るためです。
  • コンフェッショナルについて:デバイスが、話したモード(ひとつ、または両方)を週ごとに記録します。この情報がデバイスの外に出ることはなく、週の終わりから35日後にデバイス上で消去されます。送られるのは、アカウントも Cookie も使わない匿名の報告だけです:「ひとつのモード」か「ふたつのモード」か(どちらのモードかは決して送りません)、そして翌週または1か月後に戻ってきたかどうか。共有がオフのときは何も送られません。

決して数えないもの

  • メッセージ、プロンプト、ファイル名、会話のタイトル、検索語など、入力したものすべて。イベントは自由なテキストを持てず、リストにないものはサーバーが捨てます。
  • 一時チャット:何も送信しません。
  • IP アドレスや、ブラウザの完全な署名。

生のイベントは90日後に消去され、匿名の日次合計だけが残ります。設定で「匿名の統計を共有する」をオフにするか、ブラウザから Global Privacy Control または Do Not Track を送れば、引き続きカウントはされますが、フィンガープリントは使われず、アカウントにも紐付けられません。紐付いていた情報は消去されます。アカウントを削除すると、その分も消去されます。

匿名化モデルに送る前にマスクされるもの

「匿名化」と表示されたモデル(Claude、GPT、Gemini、Grok)を選ぶと、開発元の企業がリクエストを読みます。メッセージがブラウザからそれらのモデルへ出る前に、決まった種類の個人情報が [EMAIL_1] のようなプレースホルダーに置き換えられ、回答では実際の値が元に戻されます。これらはいっさい私たちのサーバーに届きません。検出、置き換え、対応表はすべてページ内にあり、対応表は保存されません(メッセージごとに会話から再び導き出されます)。

これは限定されたリストで、できるだけ質問を壊さないように作られています。名前を広く推測して検出することはしません。対象になるものとならないものは、正確には次のとおりです。

プレースホルダーに置き換えるもの

  • メールアドレス。
  • 国際形式(+33 6 12 34 56 78)、または区切りのある国内形式(06 12 34 56 78、(555) 123-4567、090-1234-5678)で書かれた電話番号。
  • IBAN(チェックサム確認済み)と決済カード番号(Luhn チェック確認済み)。
  • IP アドレス(IPv4、および完全表記または :: を使った IPv6)。
  • よくある形式で省略なく書かれた住所:「12 rue de la Paix, 75002 Paris」「221B Baker Street, London NW1 6XE」「Hauptstraße 5, 10115 Berlin」「123 Main Street, Springfield, IL 62704」。
  • 最初に入力した名前と、設定 › データ で追加した名前(単語単位で一致、大文字と小文字を区別)。

そのままにするもの

  • あなたが入力した文章では、上記以外のすべての名前とペンネーム。場所、生年月日、勤務先、役職、社会保障番号、ナンバープレート、SNS のアカウント名、リンク(添付ファイルでは、身分証などの番号と生年月日はマスクされ、ファイルが示す名前は送信前にあなたへ提案されます)。
  • 区切りも国番号もない数字の並び、日付、時刻、金額、バージョン、注文番号。金額や参照番号が電話番号と取り違えられないようにするためです。
  • 郵便番号のない住所、複数行にわたる住所、日本語・中国語・アラビア語・ロシア語の順序で書かれた住所。
  • 会話の主題、文体、珍しい言葉。言語モデルはそこから人物を特定できることがあり、マスキングでそれを防げるとは言いません。
  • 添付した画像(匿名化モデルに送るときは1行の通知が出ます)。添付した PDF や Word 文書のテキストはメッセージと同じようにマスクされ、さらに身分証などの番号、生年月日、そしてファイルが示す名前(承諾した場合)もマスクされます。
  • グループチャットと公開 API。これらはこのマスク処理を通りません。ミッションとエージェントの作業は、匿名化モデルに渡す前に私たちのサーバーがマスクします。

スイッチは 設定 › データ にあり、初期設定ではオンです。オフにすると、メッセージはそのまま匿名化モデルに届きます。プライベートモデルではマスクしません。そこには何も保存されず、誤ったマスクは守れるもの以上の損になるためです。入力欄の下の「3件をマスクしました」で、直前のメッセージで置き換えた内容を確認できます。検出の調整には一切使わず取り置いた「封印ケース」で測定したところ、住所は72%、電話番号は94%、IBAN は100%の割合で検出され、個人情報に似ているだけの文章160件の罠では誤検出がありませんでした。これは私たち自身のテスト結果であり、保証ではありません。変わった書き方の情報はすり抜けることがあるため、匿名化モデルに送る内容は見直してください。ローンチ後に3回目の改善を予定しています。

Clean Room:何も送信されません

Clean Room(/clean-room)は、PDF、Word ファイル、テキストファイルの黒塗りコピーを作ります。ファイルはブラウザの中で読み込まれ、検索され、表示され、書き直されます。私たちのどのルートも、ファイルもそのテキストも、隠す項目の一覧も受け取りません。ページが読み込むのは、私たちのアドレスにあるサイト自身のファイルだけです(PDF リーダーと、スキャンページ用の OCR エンジンおよびその言語モデル)。一度開けばオフラインでも動きます。

自動で見つかるのは、上のマスキングと同じ限定リストです:メールアドレス、電話番号、IBAN、カード番号、IP アドレス、省略なく書かれた住所、名前リストにある名前。それ以外はありません。残りは手で追加し、書き出す前にすべての枠を確認します。

  • PDF の書き出しは平坦化されます。各ページは隠した箇所に不透明な枠を塗った画像として描かれ、新しいファイルはその画像だけから書かれ、元のオブジェクトは一切含まれません。テキスト層も、フォントも、メタデータ(タイトル、作成者、プロデューサー、XMP)も、添付も、注釈も、スクリプトも、過去の版もありません。ファイルには最初から存在しないのです。
  • ダウンロードの前に、ページは書き出したファイルを検査します。隠した値のどれも、禁止された構造のどれも含まれてはなりません。含まれていれば書き出しは止まり、何もダウンロードされません。
  • Markdown とテキストの書き出しは、隠した箇所を番号つきトークン([EMAIL_1])か █ のブロックに置き換えます(選択可)。任意のレポートは種類ごとの件数のみを示し、値は決して含みません。
  • ページはブラウザ自身の計測により、ファイルをドロップしてから行ったリクエストを数えます(サイトのファイルは除く)。この数は0のままで、書き出しボタンの横に表示されます。
  • 何も保持されません。ファイルも、テキストも、検出結果も、このブラウザにも他の場所にも残りません。コピーの名前は document-redacted で、元の名前は使いません。ログインしたアカウントは、あとで「金庫に保存」を選べます。これは上で説明した通常の金庫です。

約束は「ファイルはデバイスから出ず、書き出す前に自分で確認する」であり、保証ではありません。検出器は知らないもの(リストにない名前、日付、場所)を見つけられず、スキャンページは OCR が読み取れた内容に依存します。確認のステップはそのためにあります。

メッセージを読むのは誰か

モデルが答えるには、メッセージを読む必要があります。この表は、誰がそれを受け取り、保存するのかを示します。表はモデルのカタログと提供元への経路から生成されており、コードが変わると自動で変わります。

どの提供元も、メールアドレス、アカウント ID、IP アドレスを受け取りません。提供元を呼び出すのは私たちのサーバーで、サーバー自身のキーを使います。提供元が受け取るのは現在の会話のテキストと、設定していればカスタム指示、記憶、キャラクターのプロフィールです。自分が誰かを書けば、それも読まれます。OpenRouter では、さらにすべてのリクエストで学習への利用を拒否しています。

「プライベート」:DeepInfra、またはデータを保持しないオプションを有効にした OpenRouter が提供するオープンモデルで、リクエストを保存しません。「匿名化」:クローズドモデルです。開発元の企業がテキストを読みますが、あなたが誰かは知らず、自社のルールを適用します。

モデルラベルテキストを受け取る相手保存
AutoNeverNoプライベート、制限なしDeepInfra、OpenRouterなし(データを保持しないという各社の約束に基づく)
NeverNo UncensoredNeverNoプライベート、制限なしOpenRouter 経由で、データを保持しない第三者のホストなし(データを保持しないという各社の約束に基づく)
DeepSeek V4 FlashDeepSeekプライベートOpenRouter、予備として DeepInfraなし(データを保持しないという各社の約束に基づく)
GLM 5.3 FlashZ.aiプライベートDeepInfra、予備として OpenRouterなし(データを保持しないという各社の約束に基づく)
Qwen 3.5 35BAlibabaプライベートDeepInfra、予備として OpenRouterなし(データを保持しないという各社の約束に基づく)
Mistral Small 3.2MistralプライベートDeepInfra、予備として OpenRouterなし(データを保持しないという各社の約束に基づく)
GLM 5.2Z.aiプライベートDeepInfra、予備として OpenRouterなし(データを保持しないという各社の約束に基づく)
DeepSeek V4 ProDeepSeekプライベートDeepInfra、予備として OpenRouterなし(データを保持しないという各社の約束に基づく)
Euryale 70BSao10Kプライベート、制限なしDeepInfra、予備として OpenRouterなし(データを保持しないという各社の約束に基づく)
Kimi K3MoonshotプライベートDeepInfra、予備として OpenRouterなし(データを保持しないという各社の約束に基づく)
Claude Fable 5.2Anthropic匿名化OpenRouter、次に Anthropicデータを保持しない経路がありません。Anthropic は自社のポリシーに従いリクエストを保存する場合があります
Claude Opus 5.5Anthropic匿名化OpenRouter、次に AnthropicOpenRouter ではなし。Anthropic は独自のポリシーを適用
Claude Sonnet 5.5Anthropic匿名化OpenRouter、次に AnthropicOpenRouter ではなし。Anthropic は独自のポリシーを適用
Claude Haiku 5.5Anthropic匿名化OpenRouter、次に AnthropicOpenRouter ではなし。Anthropic は独自のポリシーを適用
GPT-6 AstraOpenAI匿名化OpenRouter、次に OpenAIOpenRouter ではなし。OpenAI は独自のポリシーを適用
GPT-6.1 SolOpenAI匿名化OpenRouter、次に OpenAIOpenRouter ではなし。OpenAI は独自のポリシーを適用
GPT-6.1 TerraOpenAI匿名化OpenRouter、次に OpenAIデータを保持しない経路がありません。OpenAI は自社のポリシーに従いリクエストを保存する場合があります
Gemini 4 ArgonGoogle匿名化OpenRouter、次に GoogleOpenRouter ではなし。Google は不正利用の監視で検出されたリクエストを最長90日保管する場合があります
Grok 4.7xAI匿名化OpenRouter、次に xAIOpenRouter ではなし。xAI は独自のポリシーを適用

「自動」モードはプライベートモデルを使います。一部のやり取りは、マスキングのうえで匿名化モデルを通ります。「自動」のプライベートモデル:DeepSeek V4.1 Flash、DeepSeek V4.1 Flash、DeepSeek V4.1 Flash、DeepSeek V4.1 Flash、DeepSeek V4.1 Flash、DeepSeek V4.1 Flash、DeepSeek V4 Flash、DeepSeek V4 Pro、GLM 5.2、NeverNo Uncensored、Qwen 3.5 35B、Mistral Small 3.2。それ以外(下の政治的な質問を除く)では、匿名化モデルが答えるのは、自分でそのモデルを選んだとき、または回答の下に出る、そのモデルに聞いてみる提案をクリックしたときだけです。中国のモデルが回答を拒む一部の政治的な質問では、「自動」は DeepSeek、GLM、Kimi、Qwen の代わりに、マスキングのうえ、データを保持しないホスト上で、匿名化モデルの Claude(Anthropic)で回答します。

画像・動画・音声

スタジオは Runware を経由します。説明文は識別子なしでサーバーから送られます。この表もコードから生成されています。

モデル種類ホスト先備考
Z-Image TurboTongyi画像Runwareブラウザに直接返送
FLUX 3 KleinBlack Forest Labs画像Runwareブラウザに直接返送開発元によるフィルターあり匿名化
NeverNo UncensoredZ-Image画像Runwareブラウザに直接返送
Z-ImageTongyi画像Runwareブラウザに直接返送
Qwen Image 2.1 TurboAlibaba画像Runwareブラウザに直接返送開発元によるフィルターあり
Qwen Image 3.0 ProAlibaba画像Runwareブラウザに直接返送開発元によるフィルターあり
FLUX 3Black Forest Labs画像Runwareブラウザに直接返送開発元によるフィルターあり
Nano Banana 2.1Google画像Runwareブラウザに直接返送開発元によるフィルターあり匿名化
GPT Image 2.6OpenAI画像Runwareブラウザに直接返送開発元によるフィルターあり匿名化
GPT Image 2.6 FlareOpenAI画像Runwareブラウザに直接返送開発元によるフィルターあり匿名化
Muse ImageMeta画像Runwareブラウザに直接返送開発元によるフィルターあり匿名化
LTX 2.3 FastLightricks動画RunwareRunware の CDN に置かれ、そこからブラウザがダウンロード
P-Video 2 ProPruna AI動画RunwareRunware の CDN に置かれ、そこからブラウザがダウンロード開発元によるフィルターあり匿名化
MiniMax H3 MaxMiniMax動画RunwareRunware の CDN に置かれ、そこからブラウザがダウンロード開発元によるフィルターあり匿名化
HeyGen Video 1HeyGen動画RunwareRunware の CDN に置かれ、そこからブラウザがダウンロード開発元によるフィルターあり匿名化
Veo 3.1 FastGoogle動画RunwareRunware の CDN に置かれ、そこからブラウザがダウンロード開発元によるフィルターあり匿名化
Kling 4.0 FlashKuaishou動画RunwareRunware の CDN に置かれ、そこからブラウザがダウンロード開発元によるフィルターあり匿名化
Wan 3.0Alibaba動画RunwareRunware の CDN に置かれ、そこからブラウザがダウンロード開発元によるフィルターあり匿名化
Seedance 2.5ByteDance動画RunwareRunware の CDN に置かれ、そこからブラウザがダウンロード開発元によるフィルターあり匿名化
LTX 2.3Lightricks動画RunwareRunware の CDN に置かれ、そこからブラウザがダウンロード
P-Video 2 ProPruna AI動画RunwareRunware の CDN に置かれ、そこからブラウザがダウンロード開発元によるフィルターあり匿名化
Veo 3.1 LiteGoogle動画RunwareRunware の CDN に置かれ、そこからブラウザがダウンロード開発元によるフィルターあり匿名化
ACE-Step 1.5 TurboACE Studio音楽RunwareRunware の CDN に置かれ、そこからブラウザがダウンロード
ACE-Step 1.5ACE Studio音楽RunwareRunware の CDN に置かれ、そこからブラウザがダウンロード
MiniMax Music 2.6MiniMax音楽RunwareRunware の CDN に置かれ、そこからブラウザがダウンロード開発元によるフィルターあり
Seed Audio 1.0ByteDance効果音RunwareRunware の CDN に置かれ、そこからブラウザがダウンロード開発元によるフィルターあり
Mirelo SFX 1.5Mirelo効果音RunwareRunware の CDN に置かれ、そこからブラウザがダウンロード

ほかに、データの一部が通るサービス

ウェブ検索
サブスクリプションの利用者には、Exa が検索語(あなたのメッセージから作る短い検索語)を受け取って結果を返します。無料アカウントは Exa の検索が1日1回で、その後は Serper を通ります。アカウントがない場合は Serper です。Exa は検索語を保持し、サービスの改善やモデルの学習に使うことがあります。保持しないオプションは契約していません。内容によっては、Exa に送らない検索もあります。Serper は Google の結果を返し、Jina Reader は見つかったページ、またはあなたが貼り付けたアドレスを読み込みます。3社とも識別子もあなたの IP アドレスも受け取りません。ディープリサーチで「プレミアムの作成者」を選ぶと、GPT 6.1 Sol 自身がウェブを検索します(OpenAI の組み込み検索。OpenRouter 経由、Microsoft Azure 上で、ゼロ保持を指定しています)。あなたの質問は、匿名化モデルの場合と同じくマスクされた状態で渡されます。元のページが読めなくなっている場合、ディープリサーチはそのアドレスを Internet Archive に送り、保存されたコピーを読みます。リサーチを「すべての情報源」で実行した場合は、あなたの質問から作った検索語が arXiv、OpenAlex、米国証券取引委員会(SEC)の EDGAR データベースにも送られます。いずれも識別子やあなたの IP アドレスは受け取りません。
音声
音声入力とコンフェッショナルの文字起こしは、データを保持しない Groq の Whisper で行い、Groq が遅いときは DeepInfra が代わります。Kokoro、Inworld、Qwen の声は DeepInfra を、xAI と MiniMax の声は Runware を経由します。声は文字に起こされたあと、破棄されます。Pro+、Max では、回答の読み上げを ElevenLabs(声は Jessica)が行います。連絡先は送信前に伏せられ、読み上げのたびに私たちのアカウントの履歴からすぐに削除されます。一部の回答や、あなたが選んだ声は、ElevenLabs を通りません。
匿名化モデルの開発元
匿名化モデルは、データを保持しないオプションを付けた OpenRouter 経由で動きます。応答するホストは何も保管しないことを約束しています。データを保持しない経路がない少数のモデルは、上の表に印を付けています。その場合は開発元が自社のルールに従ってリクエストを保管します(Anthropic は最長30日、OpenAI は30日)。Gemini は Google が提供しており、不正利用の監視で検出されたリクエストを最長90日保管することがあります(モデルの学習には使いません)。
匿名化モデルへの中継
一部のリクエストでは、プライベートモデルが応答しない場合、データを保持しない経路で接続する、匿名化されたサードパーティモデル(Grok、xAI)が回答を書くことがあります。名前・メール・電話・住所などの個人情報は、モデルに渡る前にマスクされます。自分で選べるサードパーティモデルとまったく同じ扱いです。
コンフェッショナル
コンフェッショナルは、Anthropic の Claude Sonnet で回答します。ゼロ保持オプションを付けた OpenRouter 経由で Google Vertex または Amazon Bedrock が提供しており、ホスト側には何も残りません。Sonnet が応答しない場合は、同じ条件で Claude Haiku が引き継ぎ、最後の手段としてプライベートモデルの GLM 5.2が回答します。一部のやり取りでは、xAI の Grok 4.20(個人情報はマスクされ、ゼロ保持)が回答し、次に DeepInfra の DeepSeek V4 Pro、その次に OpenRouter 経由でデータを保持しない第三者のホストが提供する Dolphin が続きます。後の二つはプライベートモデルです。声については、すぐ下で説明します。
コンフェッショナルの声
コンフェッショナルで選んだ声は、私たちの委託を受けて(処理者として)動く ElevenLabs が生成します。ElevenLabs が受け取るのは読み上げる回答のテキストだけで、声やアカウントの情報は渡りません。送信の前に、文中のメールアドレス、電話番号、住所、口座情報、カード番号、IP アドレスは中立的な言葉(「あなたのメールアドレス」)に置き換えられます。名前と名字は声が呼べるようにそのまま残ります。ElevenLabs は各文を私たちのアカウントの履歴に保存しますが、私たちは読み上げの数秒後にそれを削除し、さらに5分ごとに、10分を過ぎても残っているものを削除します。ElevenLabs が自社の不正利用対策のために保持するものは、同社のルールに従います。一部の文は、また ElevenLabs が応答しないときはすべての文が、上に挙げた声のいずれかで読み上げられます。
メモリー
無料を含むすべてのアカウントで、プライベートモデル(DeepInfra 上の DeepSeek V4 Flash)が覚えておくべき事実を選び出し、そのベクトルを計算します。結果はブラウザに戻り、ブラウザが暗号化します。
安全
私たちの絶対的な制限は、カタログ内のプライベートモデルがチェックします。画像のリクエストや送信された画像を読み、そのあと破棄します。
ボット対策
アカウントのない訪問者は、Cloudflare Turnstile のチェックを一度通過します。Turnstile は訪問者の IP アドレスとブラウザの技術的な情報を受け取ります。
支払い
Stripe は支払いを紐づけるためにメールアドレスとアカウント ID を、そして私たちが一切見ることのないカード情報を受け取ります。
ホスティング
サイトは Vercel 上で動いており、Vercel にはリクエストの通過が見えます。データベース、アカウント、暗号化されたバックアップ、暗号化された同期用のコピーは Supabase にあり、Supabase はログインコードのメール送信も行います。
金庫
金庫の文書の各箇所と質問は、DeepInfra のプライベートモデル(Qwen3-Embedding-0.6B)でベクトルになります。ベクトルはブラウザに戻り、ブラウザが暗号化します。

暗号化の詳細

履歴

ブラウザが作成した書き出し不可の AES-256-GCM 鍵と、コンテンツごとのランダムな12バイトのベクトル。テキストは書き込む前に暗号化され、表示するときだけ復号されます。すべてブラウザの Web Crypto API で処理し、サードパーティのライブラリは使いません。

  • src/lib/db/crypto.ts
  • src/lib/db/schema.ts
コードを見る

バックアップ

パスフレーズは PBKDF2-SHA-256 で鍵に変換されます。反復回数は600,000回、ソルトはランダムな16バイトです。その後、ファイル全体が AES-256-GCM で暗号化されます。パスフレーズがブラウザの外に出ることはなく、ファイルは署名付きリンクでストレージに直接送られます。

パスフレーズがなければ、私たちを含め誰もファイルを開けません。間違ったパスフレーズは単に拒否されます。忘れてしまうと、バックアップは失われます。

  • src/lib/backup-crypto.ts
  • src/lib/backup.ts
コードを見る

共有

リンクごとに、ブラウザで作成された専用の AES-256-GCM 鍵があります。私たちが受け取るのは暗号化されたテキストだけです。鍵はリンクの # の後ろに書かれており、この部分をブラウザがサーバーに送ることはありません。完全なリンクを持つ人は読めますが、私たちには読めません。

リンクは1日、7日、30日後、または削除した時点で無効になります。

  • src/lib/share.ts
  • src/lib/share-format.ts
コードを見る

ソースコード

これは、ブラウザ内で暗号化を行うコードで、このページがビルドされた時点のリポジトリの内容そのままです。要約も書き換えもしていません。ファイルそのものを読み取り専用で表示しています。

/** * Local-only encryption for the Zero-Log store. * * One AES-256-GCM key per browser, generated on first use as a non-extractable * CryptoKey and kept in IndexedDB: it never leaves the device and cannot be read * back as raw bytes, even by our own scripts. */import { requestPersistentStorage } from "./storage";export type Sealed = { v: 1; iv: Uint8Array<ArrayBuffer>; ct: Uint8Array<ArrayBuffer> };const encoder = new TextEncoder();const decoder = new TextDecoder();export type KeyStore = {  load: () => Promise<CryptoKey | undefined>;  /** Stores the key unless one is already there (the first stored wins). */  save: (key: CryptoKey) => Promise<void>;};let keyPromise: Promise<CryptoKey> | null = null;let activeStore: KeyStore | null = null;/** Point the module at the table that holds the key. Called once by the database. */export function configureKeyStore(store: KeyStore) {  activeStore = store;  keyPromise = null;}
  • src/lib/db/crypto.ts (85行)
  • src/lib/backup-crypto.ts (51行)
  • src/lib/share.ts (165行)

リポジトリはまだ非公開です。今後公開リポジトリを用意し、このコードとブラウザが実行しているコードを比較できるようにします。

自分で確かめられること

私たちの言葉を信じる必要はありません。ブラウザの開発者ツールがあれば十分です(パソコンなら F12、または右クリックして「検証」)。

  1. 暗号化されたデータ

    「アプリケーション」タブ(Chrome、Edge)または「ストレージ」タブ(Firefox)を開き、IndexedDB › neverno › messages へ進みます。各メッセージの content フィールドは { v, iv, ct } オブジェクトで、読めないバイト列です。keys では、鍵に extractable: false と表示されます。

  2. 入力したときに送られるもの

    「ネットワーク」タブを開いてメッセージを送ると、chat リクエストが1つ送られます。中身は現在の会話とその時点の設定です。ほかの会話は送られません。

  3. そのあとに続く小さなリクエスト

    メモリーがオン:続いて2つの小さな memory リクエストが、覚えておく事実を選び出すためにこの直近のやり取りを送ります。新しい会話:タイトルを付けるために chat/title リクエストが最初の質問と回答の冒頭を一度だけ送ります。提案がオン(設定、コンテンツ):回答のあと、chat/follow-ups リクエストが最後の質問と回答の最初と最後を送り、続きを提案します。何も保存されません。同期がオン:sync/push と sync/pull リクエストが、ブラウザが暗号化した項目を運びます。その ct フィールドは読めません。セッション Cookie は、chat リクエストも含め、これらのどれにも一緒に送られます。ログインしているどのサイトとも同じです。

  4. 共有リンクの鍵

    「ネットワーク」タブを開いた状態で共有リンクを開いてください。shares/… リクエストに含まれるのはリンクの ID だけです。# の後ろの部分はどこにも現れません。

  5. ページが通信できる相手

    neverno.ai では、ページのContent-Security-Policyヘッダーに、ページが通信を許可されているアドレスだけが列挙されています。私たちのサーバー、Supabase、メディア用の Runware の CDN、ボット対策用の Cloudflare、そしてコンフェッショナルのリアルタイム音声会話のために確保した二つのアドレス(api.elevenlabs.ioと私たちのサーバーrt.neverno.ai)です。この二つはあらかじめ載せてあり、その機能が公開されるまで、ページがそこに接続することはありません。第三者によるアクセス解析も広告もありません。

私たちの限界を、正直に

NeverNo のプライバシー保護にできないこと、まだできていないこと:

  • NeverNo は匿名化ネットワークではありません。どのサイトとも同じく、ホスティング事業者はあなたの IP アドレスを見ています。私たちは自分たちのどのテーブルにも記録しませんが、事業者の技術ログには、その事業者のルールに従って痕跡が残る場合があります。また、アカウントのログインを処理する Supabase は、開いている各セッションの IP アドレスを保存します。IP アドレスを隠すには、VPN や Tor を使ってください。
  • モデルを選び、検索するかを決め、絶対的な制限を適用するために、サーバーは回答を作る間、メッセージをメモリ上で読みます。どこにも書き込みませんが、通過するところは見えています。
  • モデルは呼び出しの間で何も覚えていないため、メッセージのたびに現在の会話(直近のメッセージ)も一緒に送られます。
  • 「プライベート」ラベルは、DeepInfra の約束と OpenRouter のデータを保持しないオプションに基づいています。私たちが両社のサーバーを検査することはできません。
  • 「匿名化」モデルは、開発元の企業(Anthropic、OpenAI、Google、xAI)が読みます。企業は独自のルールに従い、リクエストを一定期間保存することがあります。メールアドレス、番号、印を付けた名前は、その前にマスクされます(上記参照)。それ以外のテキストはマスクされません。機密性の高い会話には、プライベートモデルを使ってください。
  • ローカル暗号化により、データベースをそのまま開いて会話を読むことはできず、どのスクリプトも鍵を取り出せません。ただし、デバイスやログイン中のセッションにアクセスできる人やプログラムからは守れません。デバイスにはロックをかけてください。
  • ブラウザ内では、いくつかの目印(日付、モデル、メディアの種類)が読める状態で残り、インターフェースの設定は平文で保存されています。
  • 作成した動画や音声は、ブラウザがダウンロードするまで Runware の CDN 上で待機します。そこにどれだけ残るかは Runware 次第です。クリップの場合は最長7日間です(2026年11月11日に測定。ファイルのアドレスが示す有効期限によります)。
  • 私たちのコードはまだ公開されていません。公開されたコードと、ブラウザが実行しているコードを自分で比較することはまだできません。
  • 同期では一部のメタデータが見えてしまいます。項目の数、丸めたサイズ、書き込みごとの時刻、つまり利用のリズムです。手放した承認済みのデバイスは、鍵を変更するまで鍵を持ち続けます。
  • バックアップのパスフレーズを忘れたり、バックアップも同期もなしでブラウザのデータを消去したりすると、データは失われます。私たちには復元する手段がありません。

変更履歴

プライバシーに関わる変更を、日付つきですべて記録しています。このページの事実の一部(モデル、提供元、期間、暗号化のパラメーター)は自動テストで確認しています。コードが変わると、ページが修正されるまでテストは失敗します。

  1. データベースが保存するものの表に、開いているセッションを確認して閉じる場所(設定 › セキュリティ)を書き加えました。
  2. 時間のかかる生成:動画について、取り込んだ画像をもとにしているかどうかをデータベースに記録するようになりました(単なる目印で、説明文も画像も含みません)。Runware がクリップを保管する期間を明記しました:最長7日間(測定値)。
  3. 訪問者のカウンターとコストの金額は、例外なく48時間後に消去されます。IP アドレスに紐づくトライアルのカウンターは月末に消去されます。管理ログに残る休眠アカウントの記録は、アカウントの ID を含まなくなりました。ミッションの結果は毎時の消去処理で消去されます。
  4. チャットの画像の下にある「スタジオで続ける」リンクは、画像の説明文をページのアドレスに入れなくなりました。この日付より前は、ホスティング事業者の技術ログに残る可能性がありました。
  5. アカウントを削除すると、トライアルのカウンターも消去され、Google、Notion、Slack、GitHub に与えた許可も取り消されるようになりました。ログにはアカウントを鍵付きのタグでしか記録しなくなり、匿名化モデルはこのページに挙げたホストだけを通ります。
  6. このページを一行ずつコードと照らし合わせ、修正しました。Supabase は開いている各セッションの IP アドレスとブラウザを保存します。データベースが保存する内容の表を、種類ごとに補いました。セキュリティヘッダーには、コンフェッショナルのリアルタイム音声のために確保した二つのアドレスも載っています(11月初めから)。ディープリサーチが接続するサービスと、コンフェッショナルの代替モデルを明記しました。
  7. アカウントの利用カウンターは、「マイプラン」の30日間カレンダーを欠けなく表示できるよう、31日間保持されるようになりました(数値のみで、内容は含みません)。訪問者のカウンターはこれまでどおり48時間後に消去されます。
  8. 「自動」:中国のモデルが回答を拒む一部の政治的な質問では、Mistral Small の代わりに、匿名化モデルの Claude(Anthropic)で回答するようになりました。個人情報は送信前に置き換えられ、回答で元に戻されます。データを保持しないホスト上で処理されます。自分で選んだモデルが置き換えられることはありません。
  9. 「自動」:中国のモデルが回答を拒む一部の政治的な質問では、DeepSeek、GLM、Kimi、Qwen の代わりに、別のプライベートモデル(Mistral Small、必要なら Dolphin)で回答します。自分で選んだモデルが置き換えられることはありません。
  10. ウェブ検索:Exa は有料プランの利用者に使われます(無料アカウントは1日1回、その後は Serper と Jina。アカウントがない場合は Serper と Jina)。Exa は検索語(識別子も IP アドレスもなし)を保持することがありますが、私たちのログはどれも保持しません。
  11. 同期:各200 KB までのプロジェクトのファイルはすでに同期されていたため、そのことを明記しました。使用量より容量の少ないプランでは、十分に削除するまで、テキストを含め新しい同期が止まります。
  12. コンフェッショナルの声を ElevenLabs が生成するようになりました。個人情報は送信前に置き換えられ、各文は読み上げの数秒後に私たちのアカウントの履歴から削除されます。
  13. 匿名化モデルとコンフェッショナルへのリクエストがどう扱われるか(保持なしと、印を付けた例外)を追記。
  14. 上限と無料トライアルに使う IP アドレスのフィンガープリントは、IPv6 アドレスでは/64ネットワーク全体(1つの接続のアドレスのまとまり)を対象にするようになりました。アドレスを切り替えても上限が増えることはありません。引き続き秘密鍵によるフィンガープリントで、アドレスそのものではありません。
  15. アカウント向けのエンドツーエンド暗号化同期。サーバーには読めないコピーだけが置かれ、開けるのはパスキー、リカバリーキー、承認済みのデバイスだけです。メディアは同期されません。
  16. ブラウザで測ったページの速さ(LCP、INP、CLS)を利用統計に追加。値は丸め、ページの種類ごとにだけ記録します。共有がオフのときは何も送りません。
  17. 会話をまたぐメモリーを、無料プランを含むすべてのアカウントで利用可能に。アカウントのない訪問者には引き続きありません。
  18. 内容を含まない利用統計:自社での集計、Cookie なし、日ごとのフィンガープリント、設定のスイッチ。
  19. プライベート金庫:文書をこのブラウザ内で暗号化して保管。質問に必要な箇所だけが、その質問と一緒に送られます。
  20. 一時チャット:タブのメモリの中だけに保たれ、このブラウザには書き込まれない会話。
  21. プランに含まれる利用のコスト金額を、35日後に自動で消去するようにしました。
  22. このページと、暗号化を行うコードを公開。
  23. ウェブ検索:検索語は識別子も IP アドレスもなしでサーバーから送られ、ログにも残りません。
  24. アクセントカラーをプロフィールに保存。アバターも前日から同様です(シード値で、写真ではありません)。
  25. 送られた画像はチェックされ、メタデータを除いて再エンコードされてから提供元に送られます。
  26. 毎時の自動消去:48時間を過ぎた利用カウンター、期限切れの共有リンク。
  27. 設定からのアカウント削除:サブスクリプション、Stripe のカスタマー、バックアップ、キー、カウンター、コストを消去。
  28. 回答への評価:アカウントもテキストも含まない、単純な匿名カウンター。
  29. パスフレーズで暗号化するバックアップ(PBKDF2、600,000回の反復、AES-256-GCM)。
  30. 暗号化された共有リンク。鍵はリンクの # に置かれ、中の画像も同じ鍵で暗号化されます。
  31. セキュリティヘッダー:ページが通信できるのは、私たちのサーバー、Supabase、メディアの CDN、Cloudflare だけです。
  32. API キー:SHA-256 フィンガープリントのみを保存。
  33. メールのコードによるログイン。アカウントなしの試用は IP アドレスのフィンガープリントに紐づき、アドレスそのものには紐づきません。
  34. ブラウザ内での履歴の暗号化(AES-256-GCM、ブラウザごとに書き出し不可の鍵を1つ)。
プライバシーポリシーを読む