本文へ移動
ZFILMS©
ASIA/TOKYO00:00:00
XDEAL

{ 4S / XDEAL }

Web · 2026

View live ↗

XDEAL

M&A イベントの LP から、4S チケット購入と連携するバイヤーページ自動生成・参加者おつなぎ仲介・属性配信メールまで一気通貫の商談インフラ。

Services
DesignFrontendPlatform
Client
4S / XDEAL
Production
ZFILMS
Year
2026
COMMITS1,069
LINES+310,755
DB TABLES66
匿名化段階3
認証方式5

裏側の仕組み — 商談を成立させるデータフロー

XDEAL は「LP」ではなく商談インフラだ。4S のチケット購入 CSV が入口になり、バイヤーページ自動生成 → 匿名化公開 → マッチング → おつなぎ仲介 → 属性配信までを 66 テーブルの Neon 上で一気通貫に走らせる。以下の 4 本のデモは絵ではない — 元リポの純関数エンジン (normCompany / mergeRange / maskPortfolioItem / scoreBuyerForSeller / computeLehmanFee / assessKAnonymity) を zfilms-lp へ verbatim 移植し、ブラウザ上で本物を実行して、その戻り値をそのまま描画している。

実装の現物 — CSV 取込パイプライン (表記ゆれ収斂 → LP 自動生成 → 匿名化 → 公開判定)

参加者CSVから公開バイヤーLPを自動生成し、匿名化・公開判定まで本番の実関数で走らせるデモ。

  1. 01 — CSV取込 → 表記ゆれ収斂
    青葉物産株式会社(あおば)青葉物産 · slug なし
    青葉物産株式会社青葉物産 · slug なし
    株式会社オリオン・ラボオリオン・ラボ · slug なし
    北山新聞社/Kitayama Press Inc.北山新聞社 · slug なし
    4 行 → 3に集約 (括弧の読み仮名・別表記を除去)。 破線の行は既存社と同じキーに収斂し、差分だけが足される。
  2. 02 — 買い手ページ自動生成 → 匿名化
    /b/raccoon●●●●事業会社(上場)
    対象売上3,000万 〜 100億投資予算1億 〜 100億
    masked は社名だけでなく logo / url / 自由記述も落とす (識別情報 3 件)。 レンジは enum band を mergeRange が組み上げた出力。
  3. 03 — B14. 公開意向 → status
    一般公開してよい限定公開 (審査待ち)
    相談したい限定公開 (審査待ち)
    公開しない非公開
    一般公開でも auto-publish しない — 未審査の org を公開面に出さない (運営が published へ昇格)。

// WORKFLOW 参加者CSVの表記ゆれを実関数で収斂→LP自動生成→匿名化→公開判定。

実装の現物 — マッチングエンジン (売り手の条件を変えると実在バイヤー3社のスコアが再計算される)

匿名の売り手の属性を変えると、実在バイヤー 3 社の公開マンデートに対して 本番の scoreBuyerForSeller() がその場で再実行され、順位が入れ替わる。

SELLER — 匿名 teaser / 自由文で入力する#S-087
業種 — 複数可+20
→ 正規化: SaaS・クラウド→ 公開マンデートに業種を書いているバイヤーは 0 / 3 社。 どれを選んでも +20 は誰にも当たらない
売上+30
5.6億円10.4億円
想定譲渡+25
8億円15億円
営業利益+10
8,400万円1.56億円
BUYER — 公開中の買収マンデート (xdeal.4s.link/b/…) / 実データ・変更なし
1ラクーンホールディングス事業会社(上場)/b/raccoonSCORE0
対象売上+303,000万 〜 100億加点想定譲渡 × 予算+251億 〜 100億加点対象業種+20記載なしバイヤーが未記載 → 判定不能営業利益+10赤字 〜 30億加点
2カオナビ事業会社(非上場)/b/kaonaviSCORE0
対象売上+30〜30億加点想定譲渡 × 予算+25〜50億加点対象業種+20記載なしバイヤーが未記載 → 判定不能営業利益+10記載なしバイヤーが未記載 → 判定不能
3ガイアックス事業会社(上場)/b/gaiaxSCORE0
対象売上+30〜3億レンジが交差しない想定譲渡 × 予算+25〜3億レンジが交差しない対象業種+20記載なしバイヤーが未記載 → 判定不能営業利益+10赤字 〜 1億加点
配点 — 売上 +30 / 譲渡レンジ +25 / 業種 +20 / 営業利益 +10。 どれも当たらないバイヤーには「投資予算あり」の +3 だけが残る (候補から消さないため)。データの無い基準は、動いて見えて永久に効かない — 業種 +20 は 3 社とも記載なしで死んでおり、 カオナビの営業利益 +10 も同じ。営業利益に「赤字」と打つと、 「赤字でも可」と公開しているバイヤーにすら加点されない (自由文がパースできない基準は評価されない)。実名・連絡先は電子同意の後にしか出ない。

// DEMO 業種・売上・想定譲渡・営業利益を変えると scoreBuyerForSeller() が3社ぶん走り直し、順位が組み替わる。業種を11個すべて選んでも +20 が誰にも入らない (公開しているバイヤーが 0/3 社) ことも、営業利益に「赤字」と打つとパースが落ちて +10 が消えることも、触れば分かる。

実装の現物 — k-匿名性ガード — 匿名なのに特定できてしまう (自分で触る版)

匿名でも特定されうる — 公開属性を増やすほど「同条件の売り手」が痩せる再識別リスクを、本番の判定関数で触れるデモ。放置すると準識別子が 1 つずつ公開され、cohort が痩せて k を割る様子が自動で流れる。触れば手動に切り替わる。

SELLER TEASER — 匿名で公開する属性を選ぶ#S-087
同条件の匿名売り手 (cohort)15 / 推奨 k ≥ 5
公開キー → saas||

匿名性 OK同条件の匿名売り手が 15 件あり、匿名性は十分です。

母集団 22 件の匿名売り手。業種は共通カテゴリへ正規化してから突き合わせる (「SaaS」と「クラウド」は同じコホート)。

// DEMO 属性を増やすほど同条件の売り手が痩せ、k=5割れで再識別警告が出る。

本番サイト — 商談インフラを全部触る

表玄関の LP を1本だけ live で埋め込み、そこから分岐する各機能はスクショと要点で紹介する(カードにマウスを重ねると中身が展開/自動スクロールする)。匿名化の挙動は上の CSV 取込パイプラインの「匿名化」ステップと k-匿名性ガードで、パスワード関門の奥の参加者リストは下の実演で触れる。

XDEAL LP — 実ページ liveOPEN ↗
XDEAL LP — 実ページ live

// LIVE 13セクションの本番ランディング。クリックで操作モードに入り触れる。

分岐先の機能ページ (スクショ + 中身)

xdeal.4s.link/b/gaiax
バイヤーページ (公開例 /b/gaiax)▲▼ auto-scroll
バイヤーページ (公開例 /b/gaiax)OPEN LIVE ↗

認証不要で公開されている実在バイヤーの買収マンデート。ガイアックスは事業会社(上場) / 対象売上 〜3億 / 投資予算 〜3億 / 検討期限 2027年3月以内 を実名で開示している。上のマッチングデモはこのページの enum band をそのまま入力に使っている。

xdeal.4s.link/buyers
買い手一覧 /buyers▲▼ auto-scroll
買い手一覧 /buyersOPEN LIVE ↗

公開済みバイヤー LP をキーワード・業種・地域で絞り込む一覧 (閲覧はログイン後)。個別ページ /b/[slug] は認証不要で、実在する買い手が「何を買うか」を実名で宣言している。

xdeal.4s.link/search
横断検索 /search▲▼ auto-scroll
横断検索 /searchOPEN LIVE ↗

組織・買い手 LP・売り手 LP を ILIKE で並行検索。stealth 案件は匿名 1 行で返し、ログイン中はウォッチリスト★を出す。

xdeal.4s.link/trust
トラストセンター /trust▲▼ auto-scroll
トラストセンター /trustOPEN LIVE ↗

大手バイヤーの vendor risk assessment を通すためのセキュリティ posture 開示。passkey/2FA/監査ログ/APPI 対応を明文化する。

xdeal.4s.link/press
プレスキット /press▲▼ auto-scroll
プレスキット /pressOPEN LIVE ↗

報道向けのロゴ・ファクトシート配布ページ。クリエイティブ・スタジオが書き出す公式ビジュアルと同一の真実源を共有する。

xdeal.4s.link/sellers
売り手一覧 /sellers▲▼ auto-scroll
売り手一覧 /sellersOPEN LIVE ↗

売り手は匿名のまま並ぶ。業種・規模・想定譲渡レンジだけを teaser として出し、実名・連絡先は電子同意が揃うまで一切出さない。買い手は実名・売り手は匿名という非対称がプラットフォームの前提。

xdeal.4s.link/apply
セルフサーブ申込 /apply▲▼ auto-scroll
セルフサーブ申込 /applyOPEN LIVE ↗

自前の 6 桁 OTP で本人確認してから申込を受け付ける。CSV 一括取込と同じく審査ゲートを通り、未審査の org が公開面に出ることはない。

xdeal.4s.link/participants
匿名参加者リスト /participants▲▼ auto-scroll
匿名参加者リスト /participantsOPEN LIVE ↗

共有パスワードの関門の奥。参加者は役割・業種・規模のカテゴリ値だけで並び、氏名・会社・メールはサーバ境界で物理的に落ちる。opt-out 行は fail-closed で最初から出ない。

xdeal.4s.link/workshop
密室ワークショップ /workshop▲▼ auto-scroll
密室ワークショップ /workshopOPEN LIVE ↗

East / West 各 20 名の定員を Neon で管理し、満席は自動でキャンセル待ちへ回す。受付停止は単一フラグで公開フォームと server action を同時に閉じる (直叩きバックストップつき)。

実演 — 固有機能をそのまま動かす

// LIVE DEMO — 実挙動の再現

属性一斉配信 (Mailchimp 的)

参加者を属性ファセットで絞り、BCC でなく 1 通ずつ個別 To で一斉送信。opt-out fail-closed、打診→仲介のステータスも追跡。上の実演は「1通ずつ」の送信カスケードまで再現。

// LIVE DEMO — 実挙動の再現

おつなぎ仲介 + 電子同意

/r/[token] のログイン不要同意ページ。相手方の実名は同意まで一切出さず、レーマン方式の手数料開示を提示してから運営が個別接続する。同意の瞬間に実名がリビールされる流れを実演。

// LIVE DEMO — 実挙動の再現

匿名参加者リスト — 関門の奥をサンプルで実演

共有パスワードの関門の奥にある実画面をサンプルデータで再演。解錠すると参加者が役割・業種・規模のカテゴリ値だけで並び、氏名・会社・メールはサーバ境界で物理的に落ちる。opt-out 行は fail-closed で最初から出ない。

WHAT'S INSIDE

01

バイヤーページ自動生成 (CSV冪等)

4S チケット購入 CSV 1 枚から organization/buyer LP を冪等生成。表記ゆれ正規化で重複防止、既存社は保護して差分だけ足す。

02

匿名化 3 段階の公開ページ

open / masked / stealth で社名〜担当者を段階マスク。SSR + インライン編集で、露出度を案件ごとに絞れる。

03

PII サーバ再導出

共有は行 index だけを受け渡し、氏名・会社は毎回サーバで再導出。なりすまし不能で、APPI 監査ログを同時記録する。

04

御見積書ツール (A4/PDF)

4S 名義の見積書を Neon 保存で作成し、画面プレビュー・印刷・PDF を単一ソースで共有。取引先名・金額は git 履歴に残さない。

05

News AI ファースト・ワークフロー

API でなくプロンプトコピペ式。担当者へ Resend 通知 → claude.ai で記事化 → 貼付・適用・公開。手元の Pro/Max プランで処理する。

06

クリエイティブ・スタジオ

登壇者一覧・セッション告知・密室WS・バイヤー陣容・ディール用語などを A4/SNS/会場サイズで書き出し。data URI 化で重複 fetch を回避。

07

Program 3層マージ

4S 実 API × Neon × ローカル mock を freshness 判定つき union fallback で統合し、タイムテーブル全消失を防ぐ。

08

パスワードレス認証 5 方式

passkey(WebAuthn)/magic link/email OTP/Google OAuth を標準装備、password は bcrypt fallback。管理者は 2FA 必須、新端末ログインを検知通知。

09

ウォッチリスト + セラー閲覧監査

買い手は気になる案件を★保存。seller LP は per-request で view log を取り、機微情報アクセスを監査する force-dynamic 描画。

10

M&A ディールルーム

NDA 締結 → 資料開示 (アクセスログ付) → Q&A → 承認フローまでを deal / deal_document / deal_document_access_log / nda_acceptance / approval_request で実装。機微資料の閲覧は 1 リクエストずつ監査に残る。

11

Referral Desk — 実名開示が唯一の課金ゲート

匿名情報は無料。実名開示の手前で電子同意 (成功報酬合意 / 開示同意) を必須化し、成約時に累進レーマンで請求する。最低報酬 300万円 / テール条項 24ヶ月 / 算定基準の事前明示は経産省 中小M&Aガイドライン第3版に準拠。

12

Stripe 課金基盤

subscription / plan_tier / usage_event / stripe_webhook_event / org_webhook で従量課金とプラン制御。webhook は冪等キーで二重計上を防ぐ。

13

66 テーブルの自前 DB

Neon(Postgres) + Drizzle ORM で organization/buyer_lp/seller_lp/deal/nda_acceptance/subscription/estimate ほか 66 テーブル。migration は CREATE/ALTER IF NOT EXISTS で冪等・非破壊。

START A PROJECT

この作品のような企画を、
次の事業課題へ。

閲覧中の作品情報を引き継いだ状態で、目的・媒体・ご予算から制作範囲を整理できます。

この作品をもとに相談する
Next projectIVS Event Frontend4S · 2026