Milestone 0 Procedure
Sociofy M0 詳細手順書
実装前に開発判断を止める未決定事項をなくし、TikTok、Instagram、YouTubeのAPI申請で後戻りしない状態を作るための手順書。
1. 目的
M0は、対象プロダクト、編集切り口、言語、SNSアカウント、開発者アプリ、申請scope、ポリシーURLを先に揃えるフェーズ。 特にTikTokは、初回審査でSandbox上の実アプリ操作動画が必要になるため、M0時点でM3/M5に必要な画面と申請内容を逆算する。
| 区分 | 意味 |
|---|---|
| Codex対応可 | Codexがファイル作成、調査、整理、ドラフト作成、静的サイト更新まで実行できる。 |
| Codex支援 + 手作業 | Codexが文案、表、チェックリスト、申請文面を作れるが、最終判断、ログイン、承認、外部画面操作は人間が行う。 |
| 手作業必須 | 認証、MFA、外部アカウント作成、法務承認、SNSアカウント所有確認など、人間または社内担当者が実行する。 |
2. M0の完了条件
- 初期対象プロダクトが1つ決まっている。
- 初期編集切り口が人間により決定されている。SmartScout初期は既存4切り口を採用する。
- MVP対象言語が決まっている。最低対応は英語、スペイン語、韓国語、中国語。
- 初期運用するSNSアカウント候補が、言語別に整理されている。
- TikTok Developer account、Organization、Sandbox appの準備状況が確認されている。
- TikTok申請動画で示すべきUI、products、scopes、ドメインが仮決めされている。
- Instagram/Meta、YouTube/Googleの開発者アカウント準備方針が決まっている。
- Privacy Policy、Terms、問い合わせ先、アプリ名、アプリアイコンの暫定版が用意されている。
- M1で作るモノレポ、AWS、DB、CI/CDの前提が確定している。
3. M0成果物
| 成果物 | 管理先 | 実行区分 | 説明 |
|---|---|---|---|
| M0 Decision Log | docsまたは社内Wiki | Codex支援 + 手作業 | 決定事項、未決事項、担当、期限を記録する。 |
| Product Brief | docsまたは社内Wiki | Codex支援 + 手作業 | 初期対象プロダクト、価値提案、禁止表現、訴求軸を整理する。 |
| Editorial Angle定義 | docsまたは社内Wiki | Codex支援 + 手作業 | 人間が切り口を作り、Codexは台帳整形と不足項目チェックを支援する。SmartScout初期は既存4切り口を取り込む。 |
| Account Inventory | spreadsheetまたは社内台帳 | 手作業必須 | SNSアカウント、メール、MFA、管理者、復旧手段を管理する。 |
| Developer App Inventory | spreadsheetまたは社内台帳 | 手作業必須 | TikTok、Meta、Googleのapp ID、owner、mode、callback URLを管理する。 |
| Scope Matrix | docsまたは社内Wiki | Codex支援 + 手作業 | SNS別に必要scope、用途、UI上の利用箇所、申請タイミングを整理する。 |
| Policy URL Matrix | docsまたは社内Wiki | Codex支援 + 手作業 | Privacy Policy、Terms、support、data deletion等のURLを整理する。 |
| TikTok Review Video Plan | docsまたは社内Wiki | Codex対応可 | M3/M5で撮る動画の画面順、説明文、映すscopeを定義する。 |
| M0 Go/No-Go checklist | docsまたは社内Wiki | Codex対応可 | M1へ進む前の確認リスト。 |
4. 推奨実行順
M0-01: キックオフと責任者決定 手作業必須
- M0責任者、SNSアカウント担当、法務/ポリシー担当、開発代表、デザイン担当を決める。
- M0 Decision Logの置き場所と完了予定日を決める。目安は1週間。
- Codexは議事録テンプレート、決定ログ、チェックリストを作成できる。
M0-02: 初期対象プロダクトの決定 Codex支援 + 手作業
- 初期対象プロダクトを1つ選ぶ。
- プロダクトURL、LP、既存資料、ターゲット顧客、競合、強み、避けたい表現をまとめる。
- CodexにProduct Brief、訴求軸、禁止表現候補を整理させる。切り口の新規提案は行わない。
Sociofyの初期対象として以下のプロダクトを分析して。
ターゲット、主要価値、避けるべき表現、SNS投稿で使える訴求軸を整理して。
編集切り口は人間が別途定義するため、新規の切り口提案はしないで。
M0-03: 人間による編集切り口の仮決定 手作業必須
- Product owner / Social opsが、人間の判断でMVPに使う編集切り口を作る。SmartScout初期は既存4切り口を採用する。
- 対象読者、投稿トーン、避ける話題、主なCTAを整理する。
- Codexに、切り口の不足項目、重複、表記ゆれをチェックさせる。
- 人間が最終確認し、MVP対象として確定する。
- 選ばなかった切り口はバックログへ残す。
M0-04: 言語とアカウント設計の確定 Codex支援 + 手作業
- MVP対象言語を確定する。最低対応は英語、スペイン語、韓国語、中国語。
- 言語ごとに別アカウント運用する前提を確認する。
- SmartScout初期は4切り口 x 4 active locale = 16 logical feedsをMVP基準にする。切り口数と言語数はプロダクトごとに変更可能にする。
- SmartScoutの中国語初期運用は繁体字
zh-Hantにし、簡体字zh-Hansはcandidateとして残す。 - Codexはアカウント名候補、プロフィール文、投稿トーンを提案できる。
M0-05: SNS内部検証アカウントの準備 手作業必須
- TikTok、Instagram、YouTubeの内部検証用アカウントを用意する。
- 所有メール、MFA、復旧方法、管理者を台帳に記録する。
- Instagramはprofessional accountとFacebook Pageの紐づきを確認する。
- YouTubeは投稿先channelとGoogle accountの管理者を確認する。
- SNSアカウント作成やログイン情報はCodexに入力しない。
M0-06: TikTok Developer account / Organization / Sandbox appの準備 手作業必須
- TikTok developer accountを作成し、可能であれば会社/チームのOrganizationを作成または参加する。
- TikTok Developer PortalでSociofy用appを作り、Sandbox modeを有効にする。
- Content Posting API productを追加し、Direct Post configurationを有効にする。
- Photo Mode前提でも、Direct Postでは
video.publishscopeの承認とユーザー認可が必要になる前提でscope matrixに記録する。 - Web URL、Privacy Policy URL、Terms URL、media URL prefix/domainの検証要否を記録する。
- App ID、Client key、Client secretはSecrets Managerへ入れる前提で、台帳にはsecret本体を書かない。
初回App ReviewではSandbox環境で統合を示す必要がある。動画は最新のend-to-end flowを示し、選択したproducts/scopesと実際のUI操作が一致している必要がある。
M0-07: Meta / Instagram開発者準備 手作業必須
- Meta for Developersの管理者を決める。
- Meta appを作るか、既存appを使うかを決める。
- Instagram professional accountとFacebook Pageの紐づきを確認する。
- MVPで必要な権限候補をscope matrixに記録する。
- 候補:
instagram_basic、instagram_content_publish、pages_read_engagement、必要に応じてpages_show_list。 - M0ではproduction App Review提出までは必須にしない。内部検証に必要なapp role/test userで進める。
M0-08: Google / YouTube開発者準備 手作業必須
- Google Cloud projectを作るか、既存projectを使うか決める。
- YouTube Data API v3を有効化する。
- OAuth consent screenのapp name、support email、developer contact、Privacy Policy URL、Terms URLを準備する。
- OAuth clientはserver-side web app前提で準備する。
https://www.googleapis.com/auth/youtube.uploadをscope候補に入れる。- YouTube Data APIはservice account flowを使えないため、人間が管理するYouTube channelのOAuth認可を前提にする。
- 未検証API projectでは
videos.insertの公開範囲制限があるため、本格公開前にYouTube API Services auditが必要になる。
M0-09: Policy URLと公開ページの準備 Codex支援 + 手作業
- Sociofyのofficial website URLを決める。
- Privacy Policy、Terms、support/contact、data deletion requestのURLを用意する。
- Codexに暫定文面を作らせ、法務または責任者がレビューする。
- Developer Portalに入力するURLと実際の公開URLが一致していることを確認する。
M0-10: アプリ名、説明文、アイコンの準備 Codex支援 + 手作業
- App nameを決める。初期案は
Sociofy。 - App descriptionを100-300文字程度で作る。
- TikTok認可画面などに出る説明文として、誤解がないか確認する。
- App iconを作る。TikTokでは1024 x 1024 px、JPEG/JPG/PNG、5MB以下の要件がある。
- 生成AIでアイコンを作る場合も、人間がブランド確認し、商標や既存ブランドとの混同がないか確認する。
M0-11: Scope Matrixの作成 Codex対応可
| Platform | Product/API | Scope/Permission | MVPで使う理由 | UIで見せる場所 | M0判断 |
|---|---|---|---|---|---|
| TikTok | Content Posting API Direct Post | video.publish | Photo Mode Direct Postに必要 | TikTok接続、投稿確認、PublishJob | M5申請対象 |
| Instagram Graph API | instagram_content_publish | Carousel/Reels投稿 | Instagram投稿設定、承認画面 | M6検証対象 | |
| Instagram Graph API | instagram_basic | IG professional account識別 | account connection | M6検証対象 | |
| Instagram Graph API | pages_read_engagement | Page/IG連携確認 | account readiness | M6検証対象 | |
| YouTube | YouTube Data API | youtube.upload | Shorts MP4アップロード | YouTube投稿設定 | M6検証対象 |
M0-12: TikTok申請動画の構成仮決め Codex対応可
- SociofyのWeb appを開く。
- ログインする。
- Productを選択する。
- ContentPackageを作る。
- 4枚のAI生成画像 + 固定CTA画像を確認する。
- TikTok Photo Modeを選択する。
- caption、AI生成/ブランド投稿ラベル、公開設定を確認する。
- TikTok OAuth接続と必要scopeを確認する。
- Human approvalを実行する。
- PublishJobを作成し、Sandboxで
content/initを実行する。 - PublishJob statusとplatform responseを確認する。
M0-13: M1着手前Go/No-Go 手作業必須
Go条件
- 初期product、4切り口、4 active locale、16 logical feedsが決まっている。
- SNS検証アカウントの作成担当と期限が決まっている。
- TikTok app/Sandboxの作成担当と期限が決まっている。
- Policy URLsの公開担当と期限が決まっている。
- Scope Matrixが作成済み。
- M3/M5のTikTok申請動画で必要な画面一覧が決まっている。
- M1で作るモノレポ構成が確定している。
No-Go条件
- 初期productが決まっていない。
- SNSアカウント管理者が不明。
- TikTok Developer Portalの責任者が不明。
- Privacy Policy/Termsの公開見込みがない。
- 申請scopeがUIや実装予定と結びついていない。
5. Codexで対応できる作業一覧
| 作業 | Codex対応 |
|---|---|
| M0 Decision Logテンプレート作成 | 対応可 |
| Product Brief整理 | 対応可 |
| 人間が作った切り口定義の台帳整形、不足項目チェック | 支援可 |
| アカウント名候補とプロフィール文作成 | 対応可 |
| Scope Matrix作成 | 対応可 |
| TikTok申請動画の台本作成 | 対応可 |
| Privacy Policy / Terms初稿作成 | 支援可 |
| App Review説明文作成 | 支援可 |
| Cloudflare Pagesへのドキュメント反映 | 対応可 |
| TikTok/Meta/Googleへのログイン | 手作業必須 |
| Developer app作成、MFA、OAuth secret取得 | 手作業必須 |
| SNSアカウント作成、電話番号認証、MFA設定 | 手作業必須 |
| 法務承認、最終公開判断 | 手作業必須 |
6. テンプレート
M0 Decision Log
| ID | 論点 | 決定内容 | 担当 | 期限 | 状態 |
|---|---|---|---|---|---|
| D-001 | 初期対象product | Product owner | Open | ||
| D-002 | MVP対象言語 | SmartScout初期は en-US, es-US, ko-KR, zh-Hant。zh-Hansはcandidate | Product owner | Draft | |
| D-003 | 編集切り口 | Social ops | Open | ||
| D-004 | TikTok Developer owner | Engineering lead | Open | ||
| D-005 | Privacy Policy / Terms URL | Legal | Open | ||
| D-006 | TikTok申請scope | video.publish予定 | Engineering lead | Draft | |
| D-007 | M1モノレポ構成 | apps/web, apps/api, apps/worker, packages/shared, packages/ui, packages/config | Engineering lead | Draft |
Account Inventory
| Platform | Language | Angle | Account handle | Owner | Email owner | MFA status | Recovery owner | Status |
|---|---|---|---|---|---|---|---|---|
| TikTok | en | 未設定 | Draft | |||||
| en | 未設定 | Draft | ||||||
| YouTube | en | 未設定 | Draft |
パスワード、refresh token、client secretは台帳に書かず、AWS Secrets Managerへ入れる前提にする。CodexにsecretやMFA codeを入力しない。
7. 参照資料
公式資料確認日: 2026-05-26