Pre-launch Compliance Checklist (JP payment + consumer law gate)¶
最終更新: 2026-04-23 / Launch target: 2026-05-06
本書は Stripe live mode を ON にし、DNS を本番 machine へ切り替える前に通す最後のゲートである。各項目に [ ] を付け、what / how / owner の 3 カラムで進める。autonomath.ai は商標リブランド決着後に確定する (project_jpintel_trademark_intel_risk.md 参照、現在コード中に autonomath.ai がハードコードされているのは全て要置換)。
凡例: you = 梅田 / ops = 同上 operator hat / lawyer = 弁護士レビュー / 外注 = 外部委託。
1. Stripe live account readiness¶
- Business profile — 事業者名・所在地・業種 (SaaS)。個人事業主なら Sole proprietor 選択。
dashboard.stripe.com/settings/account/ owner: you - Bank account (JPY payout + prenote) — 円口座登録、Stripe が ¥1 prenote 送信し 2-3 営業日で確認。Settings → Payouts / owner: you
- Identity verification — マイナンバーカード / 運転免許証 / パスポートのいずれかを KYC に提出。Settings → Verifications / owner: you
- Tax ID (インボイス T-号) — 取得後 Settings → Tax → Tax IDs に
jp_trnで追加。未取得なら国税庁 e-Taxhttps://www.nta.go.jp/taxes/shiraberu/zeimokubetsu/shohi/keigenzeiritsu/invoice.htmから申請、通常 2 週間リード。未取得なら §3 フォールバック参照 / owner: you - Products & prices — 1 metered price —
AutonoMath per-requestproduct 配下に ¥0.5/req,tax_behavior=exclusive,recurring.usage_type=metered,aggregate_usage=sum,lookup_key=per_request_v1で作成。price ID をSTRIPE_PRICE_PER_REQUESTenv に投入 (config.py)。旧 3-tier (plus/pro/business) Price は archive 済 / owner: you - Customer Portal — subscription update / cancel / payment method update / invoice history 全 ON。TOS・Privacy URL を Business info に登録し config ID を
STRIPE_BILLING_PORTAL_CONFIG_IDへ (config.py:34)。Settings → Billing → Customer portal / owner: you - Webhook endpoint —
https://autonomath.ai/v1/billing/webhookに 5 event (customer.subscription.created/invoice.paid/invoice.payment_failed/customer.subscription.updated/customer.subscription.deleted) を購読。signing secret をSTRIPE_WEBHOOK_SECRETに投入。stripe-signature検証はapi/billing.py実装済 / owner: you - Radar baseline — CVC / 住所 / 3DS2 既定ルールが有効かを確認、変更しない / owner: you
- Stripe CLI test — test mode で
stripe listen --forward-to http://localhost:8000/v1/billing/webhook→ 別 shell でstripe trigger invoice.paid→api_keysに 1 行発行されるか目視 / owner: you
2. 特商法 32 条 — site/tokushoho.html disclosure¶
現状 site/tokushoho.html は DRAFT バナー + [要確定] が 6 箇所残存。live mode 前に全て埋める。all owner: you unless noted.
- 事業者名 (line 54), 代表者氏名 (58), 運営責任者 (62) の 3
[要確定] - 適格請求書発行事業者登録番号 (line 65) → §1 / §3 完了後に T + 13 桁記入
- 所在地 (line 69) — 「請求あり次第、遅滞なく開示」特例は個人事業主で可。ただし Stripe live account 登録住所と整合必須。バーチャルオフィス採用なら実受取テストを 1 回。
- 電話番号 (line 73) — 同開示特例可。請求から 3 営業日以内の応答運用を整える。
- DRAFT バナー (line 44) 撤去
- 販売価格整合性 (line 80-88) — §1 の metered ¥0.5/req と完全一致していること (税別明記)
- tos.html
[管轄裁判所 — 要確定](tos.html:104) — 個人事業主なら住所所在地裁判所を記載 - lawyer レビュー — 32 条必須 8 項目 (事業者名 / 住所 / 電話 / 販売価格 / 支払方法 / 引渡時期 / 返品特約 / 連絡先メール) テンプレは全部存在。launch 前 1 時間の法律相談を通す / owner: lawyer
3. インボイス制度 (適格請求書) — 2023-10 施行済、2026-04 時点必須¶
詳細は research/stripe_jct_setup.md (canonical)。以下は実行チェックのみ。all owner: you unless noted.
- T-号 登録 (§1 と同項)
-
jp_trntype でPOST /v1/tax_ids→invoice_settings.default_account_tax_idsに attach -
INVOICE_FOOTER_JAenv に"適格請求書発行事業者登録番号: T__________"(config.py:33)、PDF の top + footer 両印字を test カード 1 件で目視 - 消費税法 57-4 の 5 項目 (登録番号 / 取引年月日 / 適用税率 / 税率ごと消費税額 / 交付事業者名) を test mode PDF で目視確認。
STRIPE_TAX_ENABLED=trueで税額は自動 - フォールバック (T-号 launch 間に合わず時) —
tokushoho.htmlに「発行事業者登録申請中」明示、経過措置 (2026-09 まで 80% / 2029-09 まで 50% 控除) を B2B に通知 / owner: you + lawyer
4. 消契法 8 条 / 8 条の 2 — 免責条項の有効性¶
- tos.html 8 条 免責 (
tos.html:87-92) — 現行文言は第 4 項で「消費者 (消契法 2 条 1 項) の場合は 8 条・8 条の 2 に反する限度で適用しない」とガードレール済。文言維持。NG パターン (全部免責) を Grep 残存 0 件で最終確認 / owner: you - sla.md "best effort" (
sla.md:58) — 和文には全部免責表現無し (99.0% target + 除外 6 項目のみ)。消契法 8 条 2 項抵触なし、維持可 / owner: you - Checkout 前 TOS 同意 —
api/billing.py:65-74にconsent_collection={"terms_of_service": "required"}追加、Dashboard → Settings → Checkout に TOS URLhttps://autonomath.ai/tos.html登録 / owner: you - pricing.html の導線 — footer に 3 legal リンクあり、checkout ボタン近傍にも 1 回明示 / owner: you
- lawyer レビュー (免責条項の実効性) / owner: lawyer
5. APPI 17-18 / 28 条 — 個人情報取扱¶
- 3rd-party 提供 (17-18 条) —
privacy.html:76-82に Stripe / Fly.io / Sentry 記載済。Cloudflare Pages (fallback DNS + 静的配信、fallback_plan.md実装あり) を追記 / owner: you - 保存期間整合 — 2026-04-23 reconciliation: 顧客面の公約は
privacy.html第 6 条「API 利用ログ 90 日」で確定 (既存のconversion_funnel.md:64, 223とも一致)。code 側のusage_eventscleanup cron は W6POST_DEPLOY_PLAN_W5_W8.mdでこの 90 日を実装する。旧 spec の "30 日" 記述は本書から削除、privacy.html 90 日が唯一の canonical / owner: you - 28 条 外国移転 —
privacy.html:84-91第 4 条の 2 の包括同意 + PPC 一覧リンクはテンプレ適合。相当措置の具体名 (Stripe Japan K.K. 国内 entity、Fly / Sentry / Cloudflare SCC) を 1 行追記推奨 / owner: you + lawyer - 開示・削除請求 SLA —
privacy.html第 7 条の窓口hello@autonomath.aiの応答 SLA (最大 2 週間) を internal runbook に明記 / owner: you
6. DNS / domain / TLS final checks¶
autonomath.ai は商標レビュー待ち (project_jpintel_trademark_intel_risk.md)。以下は placeholder、確定値で .github/workflows/tls-check.yml:27 を置換。all owner: you.
- Primary CNAME → Fly —
autonomath.aiapex を Fly A/AAAA or proxied CNAME、flip 48h 前に TTL 30-60s 短縮 - Backup (Cloudflare Pages) —
autonomath.ai-fallback.pages.devwarm 確認、.github/workflows/pages-preview.ymlActions グリーン - MX / SPF / DKIM / DMARC —
hello@autonomath.ai送受信。dig MX/TXT、_dmarcにv=DMARC1; p=quarantine、Gmail / Outlook に test 送信し 3 Pass - TLS auto-renew —
.github/workflows/tls-check.ymlで日次、<10 日 Slack alert。現DOMAIN_PLACEHOLDERのため skip 中。rebrand 後に確定値置換 +workflow_dispatchで green 確認
7. Kill-switch rehearsal (docs/fallback_plan.md)¶
owner: you, target 全工程 10 min 以内。
- Dry-run 6 step: (1)
flyctl status(2) staging でflyctl scale count 0で擬似障害 (3) Cloudflare DNS@をautonomath.ai-fallback.pages.devCNAME に差し替え (4)site/status.htmlのactiveclass を.state.downに移動→push→Pages redeploy (5)curl -I https://autonomath.ai/で Cloudflarecf-rayheader 確認 (6)fallback_plan.mdRecovery § 逆順で復旧 - 各 step の所要秒数を
docs/launch_war_room.mdに時刻付きで追記 -
flyctl scale count 1で本番復帰、status.htmlを.state.okに戻す
Summary — scheduling¶
| Deadline | Item |
|---|---|
| TODO by 2026-05-01 | §1 Bank verification / Identity / T-号 申請 (2 週間リード) / Webhook endpoint / Radar baseline / Products&Prices / §2 tokushoho.html 5 [要確定] / §2 tos.html 管轄 / §3 T-号 登録 or フォールバック文言 / §4 Stripe Checkout の consent_collection 追加 / §5 privacy.html 90 日 canonical 維持 + code 側 cleanup cron / §6 rebrand 決着後の DOMAIN 置換 / lawyer 1h レビュー予約 |
| TODO by 2026-05-05 | §1 Stripe CLI test / §3 PDF 実サンプル目視 / §4 tos.html grep 全部免責 0 件 / §5 Cloudflare 追記 / §6 MX/SPF/DKIM/DMARC 送信テスト / §6 tls-check.yml DOMAIN 置換 / §7 kill-switch dry-run |
| Can defer post-launch | §5 外国移転 相当措置 1 行追記 (推奨) / §3 custom PDF generator (Stripe PDF に未採用時) / §6 Backup domain 二次ドメイン化 / SLA クレジット制度 (beta 明け) |
Top 3 launch blockers (2026-04-23 時点で未解決なら 5/6 に間に合わない)¶
- 商標リブランド (DOMAIN 未決定) —
autonomath.aiは Intel 著名商標衝突懸念 (project_jpintel_trademark_intel_risk.md)。AutonoMath へのリネームを採用済だが、site/*.html、tls-check.yml、mailto、meta og:url の一括置換が残存する可能性あり。2026-04-23 時点でautonomath.aiへ大部分移行済、grep でautonomath.ai参照が残っていないか最終確認。 - T-号 (適格請求書) 確認 — Bookyou 株式会社 T8010001213708 (令和7年5月12日登録済) を使用。残タスクは Stripe Dashboard に登録 +
tokushoho.html/privacy.html/ invoice footer への記載反映のみ。 - Pivot 後の pricing 整合性 — 2026-04-23 pivot: 3-tier (
plus/pro/business) → pure metered (¥0.5/req 税別) へ。site/pricing.html/tokushoho.html/docs/pricing.md更新済。Stripe 側はSTRIPE_PRICE_PER_REQUEST(lookup_key=per_request_v1,tax_behavior=exclusive, metered) 1 本のみ live 登録、旧 Price は archive。