尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗貼り付けたメールの文字情報から、詐欺・フィッシングによく見られる特徴を指摘する静的サイトです。差出人はメールアドレスだけを見ます。SMS、SNS、電話番号の送信元は判定しません。 判定の区分はブラウザ内の JavaScript で行います。画面のコードは、入力した本文やURLを送信も保存もしません。判定のあと、差出人アドレスの登録ドメインだけを当サイトへ送り、公開の登録情報から取得日を調べます。取得から30日以内、31日以上1年未満、1年以上で、結果に足す文章を変えます。どれも詐欺や安全の断定にはしません。取得日が分からないときは文章を足しません。同じ登録ドメインの再照会を避けるため、正規化したドメインと取得日(YYYY-MM-DD)だけを、動いているサーバのメモリに最大7日残します。RDAP の生データや登録者情報は残しません。この取得日は統計・履歴・公開一覧・週間ランキングには使いません。ページを開いた時刻やブラウザの種類などの一般的なアクセス記録は配信会社に残りますが、入力した本文は含めません。
0.9-jp-email)。台帳の中身は 2026-11-06 の凍結版を基にし、SMS送信元の規則は外しています。メールに記載された名前は、お使いの端末の中の判定だけに使い、保存も公開もしません。週間ランキングには、登録ドメインと選択したジャンル・内容だけを、直近7日・10回以上・最大10件で出します。本文内のリンク先ドメインは集めません。本文やURLは統計に使いません。リンク先を別に入力する欄はありません。解説ページの出典は、機関名とページ名、および公式ページへのリンクで示します。route_enabled=false(新規 P16/P17 の S は内部 shadow とし、画面では「要確認」)。本番の判定経路として承認されたものではありません。肌色の背景は使わず、白地+太い紺の枠。黄色の背景は薄い水色。
| 項目 | 必須 | 内容 |
|---|---|---|
| display_name メールに記載された名前 | 任意 | 判定エンジンへ渡す。送信・保存・公開・URLには出さない |
| subject メールの件名 | 任意 | 判定ルールには使わない。保存も送信もしない。結果と履歴に文字として出すことがある |
| from_email メールに記載されたアドレス | 解析できる@アドレス。電話番号や短い名前は送信元として扱いません。差出人ドメインは、この@より後ろだけ(小文字、末尾ドットなし) | |
| body 本文 | 必須(非空) | 本文中のURLと文面は、これまでどおり文字列として見ます |
| sender_genre 送信元のジャンル | 画面では判定前に一つ | 宅配便・配送業者 / 銀行・カード会社 / 通販サイト / 通信キャリア / 官公庁・税務署 / その他・不明。判定の危険度は上げない |
| mail_content メールの内容 | 画面では判定前に一つ | 不在通知・再配達 / アカウント停止・ロック / 未払い料金の請求 / 当選・給付金の案内 / その他・不明。判定の危険度は上げない |
| 本文内のリンク先ドメイン | 本文URLのホストだけ。1通につき同じホストは1回。userinfo・パス・クエリ・フラグメントは出さない。リンクにはしない | |
| context_answer | 必須 | 「このメールに心当たりはありますか?」はい/いいえ/わからない。画面では選ぶまで判定しない。わからないを選ぶと、これまでどおり unknown として判定する |
strong_suspicion(詐欺メールの疑いが強いです)/needs_review(注意が必要です・要確認)/no_clear_signal(このツールでは判断できませんでした…+必須バナー「安全ではありません…」、グレー表示)/insufficient(情報が足りず判定できません)。
「本物」「安全」「正規」「問題ありません」という判定は存在しません。safety_guarantees は常に false。結果中のURLはクリックできない文字列として表示します。
index.html … 画面(インラインのscript/styleなし)css/app.css … 共有スタイル。肌色の背景は使わず、白地+太い紺の枠。黄色の背景は薄い水色。fonts/ … サイト名用の Zen Kaku Gothic New(SIL Open Font License 1.1)。Google Fonts などの外部配信は使わないjs/protocol-data.js … §7 台帳(比較アンカー、送信台帳、短縮URL一覧など)js/judge.js … 判定エンジン(ネットワークアクセスなし)js/domain-age.js … 登録ドメインの取り出しと、取得日の注意文(ブラウザ)js/ui.js … フォームと結果表示api/domain-created.mjs … 取得日の照会(POST・同一オリジン・RDAP。登録者情報は返さない)。結果はプロセス内メモリに最大7日。Vercel ではインスタンスごとのメモリで、Redis などは使わない。永続のデータベースは後の Xserver / MySQL 向けjs/judge.test.mjs … §10の一部を予約ドメインで実行する合成テスト(node js/judge.test.mjs)。全件合格を意味しませんjs/stage1.test.mjs … 第1段階の追加テスト(node js/stage1.test.mjs)tools/browser-audit.mjs … ローカル Chrome の通信・保存・色・消去後の戻る操作(node tools/browser-audit.mjs)。本番ログは見ませんtools/fixtures/synthetic.json … 監査用の合成入力(予約ドメインのみ)vercel.json … セキュリティヘッダー(CSP: script-src 'self'; style-src 'self'; font-src 'self'; connect-src 'self'; form-action 'none')robots.txtこのフォルダをリポジトリに push し、Vercel の Add New → Project でインポート。Framework Preset は「Other」、Build Command / Output Directory は空欄。CLI の場合は vercel --prod。
独自ドメイン「詐欺メール判定.com」は Punycode xn--4dkua4c743s94juzwux3c.com として Domains に追加します。
画面に、差出人(From)の入れ方、見えるURL文字列の特徴、操作要求に基づく目的候補、「入力を消す」を足しています。危険度・4 verdict・重複排除・ゲートは v0.8 のままです。
statistics は null です。0件や「この端末のみ」とは表示しません。Node 22 以降と Google Chrome が必要です。追加の npm パッケージは使いません。
node js/judge.test.mjs
node js/domain-age.test.mjs
node js/stage1.test.mjs
node js/stage2.test.mjs
node tools/browser-audit.mjs --out /tmp/mail-check-audit
node tools/stage2-browser-audit.mjs --out /tmp/mail-check-stage2
監査はローカルの静的サーバに、vercel.json と同じ応答ヘッダーを付けてページを開きます。記録するのは Chrome の Network イベント(文書、CSS、JS に加え、画像・フォーム・失敗した要求があればそれも)です。ソースを見て POST が無いことだけでは、非送信の証明にしません。画面の結果と、ページ内で作る結果JSONについて、6桁・英数字の認証コードと和文に直結したURLのパスが残らないこと、ZIPの閲覧依頼と実行要求の主表示の違いも見ます。
この監査は本番 URL もプレビュー URL も見ていません。配信事業者が残す接続記録(IP アドレス、ブラウザの種類、時刻)は、入力した本文を送っていないこととは別です。拡張機能、メモリの物理消去、自動入力の候補、元に戻す履歴の中身は、ページからは確認しきれません。
判定見出しの文字は黒です。強い疑いは赤い枠、要確認は黄の枠、判断できない・情報不足はグレーの枠です。色だけが手がかりにならないよう、見出しの文言で区分を示します。検知規則の変更ではありません。
実装しているのは、画面、送る項目の契約、初期状態で無効のアダプタ、合成データだけの投影テストです。実サーバ、外部API、収集、公開、課金、鍵の作成はしていません。productionReady と privacyVerified は false のままです。
設定がない画面では、履歴も一覧も「現在取得できません」です。件数の 0 や架空の帯は出しません。入力、照会ボタン、同意のない送信、同意を入れた送信のいずれも、このアダプタは通信しません。ブラウザの保存領域へ統計を書く代替もしません。
一覧の並びと少数の除外は js/stage2-projection.mjs の契約テストです。このファイルは HTML から読みません。合成の元台帳はテストの中だけにあり、公開ページのスクリプトには入れていません。js/*.test.mjs と tools/ は .vercelignore と vercel.json の 404 ルートで配信対象から外します。この設定はローカルの再現サーバで確認し、本番やプレビューへは出していません。一覧ページの noindex は検索結果に出さない方針であり、ページを開くことを止める制御ではありません。利用規約の下書きには noindex を付けていません。
画面側の名前フィルタは、掲載してよいかの安全保証ではありません。掲載前の確認はサーバ側の審査です。
受付の保存(S-STORE)、受付API(S-API)、法務の確定(S-LEGAL)は記録だけです。実装も、外部サービスの選定もしていません。冪等キーのサーバ側再送、保持期限、削除、レート制限(R10–R13)と、統計の本番化(O1)、版表示の整理(O3)は保留です。
累計を主とし、24時間・7日・30日は累計として表示しません。期間を出す場合は、累計ではないと分かるラベルが必要です。数値の閾値、保持期限、鍵、主体IDは、実データ向けに承認された値ではありません。
不足している運用は、受付の保存場所、掲載権限の審査と即時停止、削除とバックアップ、レート制限、配信ログと統計の分離です。外部の収集サービスは選んでいません。
注意度の%は表示しません。結果は4つの判定区分です。
利用規約は terms.html の下書きとして公開している。先頭に、弁護士の確認前である旨を残している。運営者名、連絡先、責任の上限額、管轄、適用開始日は「未定」とだけ書き、金額や住所は置いていない。
node js/v09.test.mjs
node js/stage3.test.mjs
node tools/stage3-browser-audit.mjs --out /tmp/mail-check-stage3
本結果は入力された文字情報だけに基づく補助的な判定で、安全性や正当性を保証するものではありません。これは参考情報です。最終的な判断はご自身でお願いします。