# IG Harness Lab: full evidence index > Instagram公式APIによるコメント・DM自動化を、実装と観測データから検証するメディア。 Canonical catalog: https://ig-harness.jp/research/ Machine-readable catalog: https://ig-harness.jp/research/catalog.json Publisher: AIエージェント株式会社 Developer and editor: 野田修一 Conflict disclosure: This publication is operated by the product developer. It is not an independent review site. ## Instagram Webhook署名はraw bodyで検証する――JSON再生成との境界 URL: https://ig-harness.jp/articles/webhook-signature-byte-boundary/ Type: 公開コードに基づく一次資料分析 Published: 2026-08-19 Updated: 2026-08-19 Description: IG HarnessのWebhook署名テストから、受信byte列、JSON parse、イベント処理の順序を読み解きます。 Disclosure: 本稿はIG Harnessの開発元が、公開リポジトリの固定コミットを一次資料として分析した技術研究ノートです。第三者による独立評価ではありません。 同じJSON内容でも空白やkey順が変わるとbyte列が変わる条件で、署名検証前にbodyを再生成していないか。 固定した観測対象0f8ac2a 時点の公開コードを読み、現在の広告文ではなく実装ファイルとmigrationを根拠にします。 コードから観測できること - Webhook routeと署名専用テストが公開され、署名検査が独立した検証対象になっている。 - 署名は意味的に同じJSONかではなく受信したraw bodyに対して計算する必要があり、parse後の再stringifyを使うと正規イベントを拒否する可能性がある。 - 不正署名時は返信や友だち更新などの副作用へ到達しないことをD1件数と合わせて確認する。 再現・追加測定の手順 - 同じobjectを異なる空白・key順でserializeする - 各raw bodyに対応する署名を作る - 正しい組合せと入替えた組合せを送る - 応答とD1副作用を比較する この資料だけでは証明できないこと - ローカルテストはCloudflareがheader/bodyを渡す実環境差を完全には再現しない。 - 署名成功はMeta App権限や対象accountの正当性まで保証しない。 このページは新しいcommit、実測ログ、API仕様変更が得られた時点で更新します。古い観測条件と現在仕様を混同しないため、固定commitへのリンクを残します。 Sources: - ig-harness-oss: apps/worker/src/routes/webhook.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/routes/webhook.ts - ig-harness-oss: apps/worker/src/routes/__tests__/webhook-signature.test.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/routes/__tests__/webhook-signature.test.ts - ig-harness-oss: packages/ig-sdk/src/webhook.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/packages/ig-sdk/src/webhook.ts - ig-harness-oss: packages/ig-sdk/src/webhook.test.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/packages/ig-sdk/src/webhook.test.ts - IG Harness 取得時刻付きGit分析: https://ig-harness.jp/git/ --- ## Instagram tokenの寿命を監視する――期限・更新・実API probeを分離する URL: https://ig-harness.jp/articles/token-lifecycle-health-probe/ Type: 公開コードに基づく一次資料分析 Published: 2026-08-19 Updated: 2026-08-19 Description: IG token state、health集計、account単位の生存確認をコードとmigrationから整理します。 Disclosure: 本稿はIG Harnessの開発元が、公開リポジトリの固定コミットを一次資料として分析した技術研究ノートです。第三者による独立評価ではありません。 保存された期限が未来であることと、実際にAPIが利用可能であることを同じ健康状態として扱っていないか。 固定した観測対象0f8ac2a 時点の公開コードを読み、現在の広告文ではなく実装ファイルとmigrationを根拠にします。 コードから観測できること - token処理、health lib、health route、aggregate test、token state migrationが分かれており、期限情報と実API確認を別信号として扱える。 - tokenは有効期限内でも権限取消、password変更、App設定変更で無効になり得る。残日数だけの監視では停止を早期検出できない。 - probe自体もAPI利用量とrate limitを消費するため、頻度、timeout、最後の成功時刻を保存して監視負荷を制御する必要がある。 再現・追加測定の手順 - 正常・期限間近・取消済みtokenを用意する - 保存期限と実probe結果を別列で記録する - 一時timeoutと恒久的認証失敗を区別する - account別と全体healthの集約規則を確認する この資料だけでは証明できないこと - 意図的なtoken取消は検証accountだけで行う。 - 単一endpointのprobe成功が全権限・全機能の成功を意味しない。 このページは新しいcommit、実測ログ、API仕様変更が得られた時点で更新します。古い観測条件と現在仕様を混同しないため、固定commitへのリンクを残します。 Sources: - ig-harness-oss: apps/worker/src/lib/ig-token.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/lib/ig-token.ts - ig-harness-oss: apps/worker/src/lib/health.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/lib/health.ts - ig-harness-oss: apps/worker/src/routes/health.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/routes/health.ts - ig-harness-oss: apps/worker/src/routes/__tests__/health-aggregate.test.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/routes/__tests__/health-aggregate.test.ts - ig-harness-oss: packages/db/migrations/0003_ig_token_state.sql: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/packages/db/migrations/0003_ig_token_state.sql - IG Harness 取得時刻付きGit分析: https://ig-harness.jp/git/ --- ## Instagram engagement gateの状態遷移――コメントからDMまでの分母を固定する URL: https://ig-harness.jp/articles/engagement-gate-state-transitions/ Type: 公開コードに基づく一次資料分析 Published: 2026-08-19 Updated: 2026-08-19 Description: 対象投稿、match条件、フォロー確認、DM、再参加を一つの成功率へ混ぜずに測定します。 Disclosure: 本稿はIG Harnessの開発元が、公開リポジトリの固定コミットを一次資料として分析した技術研究ノートです。第三者による独立評価ではありません。 コメントイベント受信からDM完了までの各段階で、対象外・重複・フォロー未確認・送信失敗をどの状態として残すか。 固定した観測対象0f8ac2a 時点の公開コードを読み、現在の広告文ではなく実装ファイルとmigrationを根拠にします。 コードから観測できること - engagement gateはroute、service、DB module、service testを持ち、単純な自動返信より多段の状態を扱う。 - migration履歴にはtarget posts、followup DM、clicks、LINE tracked link、allow repeatが追加され、測定対象が段階的に拡張されている。 - 成果率の分母は総コメントではなく、対象投稿・match済み・重複除外後など複数定義があり、記事では採用した分母を固定する必要がある。 再現・追加測定の手順 - 対象・対象外投稿へ同じコメントを送る - 同一利用者の繰返しをallow repeat別に試す - Webhook、判定、DM、clickをevent時刻で結ぶ - 欠測とAPI失敗を成功母集団から除外せず併記する この資料だけでは証明できないこと - テストコメントの行動は自然流入の利用者行動を代表しない。 - Metaが提供しない観測は推測値に置き換えない。 このページは新しいcommit、実測ログ、API仕様変更が得られた時点で更新します。古い観測条件と現在仕様を混同しないため、固定commitへのリンクを残します。 Sources: - ig-harness-oss: apps/worker/src/routes/engagement-gates.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/routes/engagement-gates.ts - ig-harness-oss: apps/worker/src/services/engagement-gate.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/services/engagement-gate.ts - ig-harness-oss: apps/worker/src/services/__tests__/engagement-gate.test.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/services/__tests__/engagement-gate.test.ts - ig-harness-oss: packages/db/src/engagement-gates.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/packages/db/src/engagement-gates.ts - ig-harness-oss: packages/db/migrations/0013_gate_allow_repeat.sql: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/packages/db/migrations/0013_gate_allow_repeat.sql - IG Harness 取得時刻付きGit分析: https://ig-harness.jp/git/ --- ## DM follow-up dripの時間設計――初回反応・遅延・停止条件を検証する URL: https://ig-harness.jp/articles/followup-drip-scheduling/ Type: 公開コードに基づく一次資料分析 Published: 2026-08-19 Updated: 2026-08-19 Description: IG Harnessのfollow-up DMを、登録、実行予定、送信、停止、再試行という時系列で検証します。 Disclosure: 本稿はIG Harnessの開発元が、公開リポジトリの固定コミットを一次資料として分析した技術研究ノートです。第三者による独立評価ではありません。 最初のengagement後に予約されたfollow-upが、返信やブロック、設定変更後にも不適切に送られないか。 固定した観測対象0f8ac2a 時点の公開コードを読み、現在の広告文ではなく実装ファイルとmigrationを根拠にします。 コードから観測できること - followup dripには専用テストがあり、engagement gate migrationにもfollowup DM項目が追加されている。 - 予定作成時の条件と実行時の条件は時間差で変わる。送信直前に停止・権限・account状態を再評価する必要がある。 - 遅延処理では同一対象への再試行と次のstepを区別し、API timeoutによる不明状態を成功・失敗へ即断しない設計が必要になる。 再現・追加測定の手順 - 短い遅延の2段follow-upを作る - 待機中に返信・設定停止・token取消を発生させる - Cronを重複実行して送信件数を見る - 予定・試行・API結果・実受信を時系列化する この資料だけでは証明できないこと - 短縮時間テストでは日跨ぎやtimezone変更を十分再現できない。 - DM受信後の利用者感情や迷惑度はAPIログだけでは測れない。 このページは新しいcommit、実測ログ、API仕様変更が得られた時点で更新します。古い観測条件と現在仕様を混同しないため、固定commitへのリンクを残します。 Sources: - ig-harness-oss: apps/worker/src/services/engagement-gate.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/services/engagement-gate.ts - ig-harness-oss: apps/worker/src/services/__tests__/followup-drip.test.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/services/__tests__/followup-drip.test.ts - ig-harness-oss: packages/db/migrations/0008_gate_followup_dm.sql: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/packages/db/migrations/0008_gate_followup_dm.sql - ig-harness-oss: packages/db/src/messages-log.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/packages/db/src/messages-log.ts - IG Harness 取得時刻付きGit分析: https://ig-harness.jp/git/ --- ## コメント条件一致の意味論――完全一致・任意コメント・対象投稿を分ける URL: https://ig-harness.jp/articles/comment-rule-match-semantics/ Type: 公開コードに基づく一次資料分析 Published: 2026-08-19 Updated: 2026-08-19 Description: コメント自動化で文字列一致だけを見ず、対象投稿、match type、重複、返信文を含む判定順序を整理します。 Disclosure: 本稿はIG Harnessの開発元が、公開リポジトリの固定コミットを一次資料として分析した技術研究ノートです。第三者による独立評価ではありません。 同じkeywordでも大文字小文字、空白、絵文字、複数言語、投稿scopeが違う場合に何を一致として扱うか。 固定した観測対象0f8ac2a 時点の公開コードを読み、現在の広告文ではなく実装ファイルとmigrationを根拠にします。 コードから観測できること - comment rules routeとengagement gate serviceが分かれ、設定CRUDと実イベント判定を別に監査できる。 - migrationにはany comment match typeとcomment reply textがあり、keyword一致以外の規則と公開返信が後から追加された履歴を確認できる。 - 正規化を強くしすぎると意図しないコメントを対象にし、弱すぎると表記揺れを落とす。採用規則を実例付きで公開する必要がある。 再現・追加測定の手順 - 完全一致・部分一致・任意コメントを別ruleで作る - 空白・大小・全半角・絵文字を変える - 対象投稿と対象外投稿へ同じ文字列を送る - 一致理由と実行actionをログへ残す この資料だけでは証明できないこと - 言語ごとのUnicode正規化は単一のlowercase処理では扱えない。 - 公開返信とDMではMeta側の制限・失敗条件が異なる。 このページは新しいcommit、実測ログ、API仕様変更が得られた時点で更新します。古い観測条件と現在仕様を混同しないため、固定commitへのリンクを残します。 Sources: - ig-harness-oss: apps/worker/src/routes/comment-rules.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/routes/comment-rules.ts - ig-harness-oss: apps/worker/src/services/engagement-gate.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/services/engagement-gate.ts - ig-harness-oss: packages/db/migrations/0005_any_comment_match_type.sql: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/packages/db/migrations/0005_any_comment_match_type.sql - ig-harness-oss: packages/db/migrations/0006_comment_reply_text.sql: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/packages/db/migrations/0006_comment_reply_text.sql - IG Harness 取得時刻付きGit分析: https://ig-harness.jp/git/ --- ## Instagram DMからリンククリックまで――tracked link帰属の検証鎖 URL: https://ig-harness.jp/articles/tracked-link-attribution-chain/ Type: 公開コードに基づく一次資料分析 Published: 2026-08-19 Updated: 2026-08-19 Description: DM送信、短縮URL、redirect、click保存を一つのコンバージョンと誤認せず段階別に測ります。 Disclosure: 本稿はIG Harnessの開発元が、公開リポジトリの固定コミットを一次資料として分析した技術研究ノートです。第三者による独立評価ではありません。 リンク発行、DM表示、クリック、最終ページ到達のどこまでをIG Harness自身が観測できるか。 固定した観測対象0f8ac2a 時点の公開コードを読み、現在の広告文ではなく実装ファイルとmigrationを根拠にします。 コードから観測できること - tracked linksにはroute、DB module、authz test、redirect testがあり、管理操作と公開redirectを別経路として扱う。 - redirectで記録できるのはURL要求であり、最終ページの読了や購入ではない。bot previewや重複clickを人間の成果と混ぜない補助条件が必要になる。 - gate clicks migrationによりengagement gateとclickの接続を保存できるが、本人同一性をどのidentifierで結ぶかを明示しなければならない。 再現・追加測定の手順 - gateごとに異なるtracked linkを発行する - bot・同一利用者・別端末からrequestする - redirect statusとLocationを保存する - DM送信数、click request、最終CVを別の指標にする この資料だけでは証明できないこと - ブラウザのprivacy機能やlink previewでclick件数が変わる。 - redirectログだけでは購入者本人との同一性を証明しない。 このページは新しいcommit、実測ログ、API仕様変更が得られた時点で更新します。古い観測条件と現在仕様を混同しないため、固定commitへのリンクを残します。 Sources: - ig-harness-oss: apps/worker/src/routes/tracked-links.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/routes/tracked-links.ts - ig-harness-oss: apps/worker/src/routes/tracked-links.test.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/routes/tracked-links.test.ts - ig-harness-oss: apps/worker/src/routes/__tests__/click-redirect.test.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/routes/__tests__/click-redirect.test.ts - ig-harness-oss: packages/db/src/tracked-links.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/packages/db/src/tracked-links.ts - ig-harness-oss: packages/db/migrations/0009_gate_clicks.sql: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/packages/db/migrations/0009_gate_clicks.sql - IG Harness 取得時刻付きGit分析: https://ig-harness.jp/git/ --- ## IGからL Harnessへ同一人物をつなぐ――UUID cross-linkの境界 URL: https://ig-harness.jp/articles/line-cross-link-identity/ Type: 公開コードに基づく一次資料分析 Published: 2026-08-19 Updated: 2026-08-19 Description: Instagram利用者とLINE友だちを、直接ID共有ではなく一時的なcross-link経路で関連付ける設計を検証します。 Disclosure: 本稿はIG Harnessの開発元が、公開リポジトリの固定コミットを一次資料として分析した技術研究ノートです。第三者による独立評価ではありません。 異なるプラットフォームIDを、誤結合・第三者によるtoken利用・期限切れから守りながら関連付けられるか。 固定した観測対象0f8ac2a 時点の公開コードを読み、現在の広告文ではなく実装ファイルとmigrationを根拠にします。 コードから観測できること - cross-link route、service、LINE専用service、複数のテストがあり、単なるURLパラメータ保存ではなく独立した連携処理として実装される。 - DB migrationにはline_harness_connectionsとgate line tracked linkがあり、接続設定と実際のgate導線を別データとして保持する。 - 同一人物という表現は、利用者が両方の導線を完了したことに基づく関連付けであり、法的本人確認や現実世界の同一性を証明するものではない。 再現・追加測定の手順 - テストIG利用者からcross-linkを発行する - 正常・改変・期限切れ・再利用tokenを試す - 別LINE利用者による利用を発生させる - 両DBのidentifierと同意導線を確認する この資料だけでは証明できないこと - 端末共有やURL転送による誤結合を完全には排除できない。 - 連携目的、保存期間、解除方法をプライバシー説明へ含める必要がある。 このページは新しいcommit、実測ログ、API仕様変更が得られた時点で更新します。古い観測条件と現在仕様を混同しないため、固定commitへのリンクを残します。 Sources: - ig-harness-oss: apps/worker/src/routes/cross-link.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/routes/cross-link.ts - ig-harness-oss: apps/worker/src/services/cross-link.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/services/cross-link.ts - ig-harness-oss: apps/worker/src/services/line-cross-link.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/services/line-cross-link.ts - ig-harness-oss: apps/worker/src/services/__tests__/line-cross-link.test.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/services/__tests__/line-cross-link.test.ts - ig-harness-oss: packages/db/migrations/0011_line_harness_connections.sql: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/packages/db/migrations/0011_line_harness_connections.sql - IG Harness 取得時刻付きGit分析: https://ig-harness.jp/git/ --- ## Instagramメディア公開の二段階処理――R2保存・Range配信・publish状態 URL: https://ig-harness.jp/articles/media-publish-r2-range/ Type: 公開コードに基づく一次資料分析 Published: 2026-08-19 Updated: 2026-08-19 Description: 画像・動画をR2へ保存してからInstagramへ公開する経路を、validation、Range、publish状態に分解します。 Disclosure: 本稿はIG Harnessの開発元が、公開リポジトリの固定コミットを一次資料として分析した技術研究ノートです。第三者による独立評価ではありません。 大きな動画の配信とMetaへのpublishが失敗したとき、素材保存成功と投稿公開成功をどう区別するか。 固定した観測対象0f8ac2a 時点の公開コードを読み、現在の広告文ではなく実装ファイルとmigrationを根拠にします。 コードから観測できること - media posts route、publish service、DB module、validation/publish testsが存在し、素材管理と公開処理を別状態として扱う。 - images routeにはRange testがあり、大きなmediaを部分応答できることが検証対象になっている。HTTP Range成功とInstagram公開成功は別の結果である。 - media posts migrationは投稿状態を永続化する。再試行時に新しい投稿を重複作成しないため、Meta側container IDや公開結果との対応が必要になる。 再現・追加測定の手順 - 正常画像・不正形式・大きな動画を登録する - Range requestの境界値を試す - container作成後・publish前後で失敗を注入する - R2 object、D1状態、Instagram投稿を照合する この資料だけでは証明できないこと - media encoding要件はMeta側変更の影響を受ける。 - R2から取得できることは著作権・投稿権限を保証しない。 このページは新しいcommit、実測ログ、API仕様変更が得られた時点で更新します。古い観測条件と現在仕様を混同しないため、固定commitへのリンクを残します。 Sources: - ig-harness-oss: apps/worker/src/routes/media-posts.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/routes/media-posts.ts - ig-harness-oss: apps/worker/src/services/media-publish.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/services/media-publish.ts - ig-harness-oss: apps/worker/src/routes/__tests__/media-posts-validation.test.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/routes/__tests__/media-posts-validation.test.ts - ig-harness-oss: apps/worker/src/routes/__tests__/images-range.test.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/routes/__tests__/images-range.test.ts - ig-harness-oss: packages/db/migrations/0017_media_posts.sql: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/packages/db/migrations/0017_media_posts.sql - IG Harness 取得時刻付きGit分析: https://ig-harness.jp/git/ --- ## Instagram複数アカウント対応のindex設計――account scopeと検索コスト URL: https://ig-harness.jp/articles/multi-account-index-design/ Type: 公開コードに基づく一次資料分析 Published: 2026-08-19 Updated: 2026-08-19 Description: ig_accounts追加とaccount index migrationから、既存データを複数アカウントへ分離した変更を読みます。 Disclosure: 本稿はIG Harnessの開発元が、公開リポジトリの固定コミットを一次資料として分析した技術研究ノートです。第三者による独立評価ではありません。 単一アカウント前提のテーブルへaccount scopeを追加するとき、既存行、unique制約、query indexをどう移行するか。 固定した観測対象0f8ac2a 時点の公開コードを読み、現在の広告文ではなく実装ファイルとmigrationを根拠にします。 コードから観測できること - ig accounts migrationの次にaccount indexesが追加され、データモデル変更とquery性能対策が別migrationとして残る。 - account helperとaccounts authz testがあり、DB schemaだけでなくAPI権限で別accountを参照できないことも検証対象になる。 - indexは読取を速くする一方、書込・storageを増やす。実データ件数とquery planを記録せず『高速化した』と断定しない。 再現・追加測定の手順 - 旧schemaに複数account相当データを作る - migration後のaccount割当を確認する - 代表queryへEXPLAINを実行する - 別account IDのauthz要求と書込負荷を測る この資料だけでは証明できないこと - 小規模fixtureではindex効果を測れない。 - D1の実行環境とローカルSQLiteの性能値を同一視しない。 このページは新しいcommit、実測ログ、API仕様変更が得られた時点で更新します。古い観測条件と現在仕様を混同しないため、固定commitへのリンクを残します。 Sources: - ig-harness-oss: packages/db/migrations/0014_ig_accounts.sql: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/packages/db/migrations/0014_ig_accounts.sql - ig-harness-oss: packages/db/migrations/0015_account_indexes.sql: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/packages/db/migrations/0015_account_indexes.sql - ig-harness-oss: apps/worker/src/lib/accounts.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/lib/accounts.ts - ig-harness-oss: apps/worker/src/routes/__tests__/accounts-authz.test.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/routes/__tests__/accounts-authz.test.ts - IG Harness 取得時刻付きGit分析: https://ig-harness.jp/git/ --- ## IG Harness管理操作の権限境界――role guardとrate limitを別々に試験する URL: https://ig-harness.jp/articles/role-and-rate-limit-boundary/ Type: 公開コードに基づく一次資料分析 Published: 2026-08-19 Updated: 2026-08-19 Description: account認可、staff role、rate limitを分け、正しい認証情報でも拒否すべき操作を整理します。 Disclosure: 本稿はIG Harnessの開発元が、公開リポジトリの固定コミットを一次資料として分析した技術研究ノートです。第三者による独立評価ではありません。 ログイン済み利用者が別accountのfriendやtracked linkへアクセスする経路と、高頻度操作をどの層で止めるか。 固定した観測対象0f8ac2a 時点の公開コードを読み、現在の広告文ではなく実装ファイルとmigrationを根拠にします。 コードから観測できること - auth、role guard、rate limitが独立middlewareで、accounts/friends/tracked linksにはauthz testがある。 - resource IDを知っていることと閲覧権限は別である。URLのaccount指定だけでなく、DB取得後の所有関係を照合する必要がある。 - rate limitは権限の代替ではなく、認可済み操作の頻度制御である。先に頻度制限しても低頻度の越権要求は防げない。 再現・追加測定の手順 - 2 accountと複数roleを用意する - 一覧・詳細・更新に他account IDを指定する - 同じ操作を並列・連続実行する - 403/404/429とDB副作用を表へする この資料だけでは証明できないこと - status codeを隠しても応答時間差がresource存在を漏らす場合がある。 - Cloudflare edge分散下のrate limitは単一processテストと異なる。 このページは新しいcommit、実測ログ、API仕様変更が得られた時点で更新します。古い観測条件と現在仕様を混同しないため、固定commitへのリンクを残します。 Sources: - ig-harness-oss: apps/worker/src/middleware/auth.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/middleware/auth.ts - ig-harness-oss: apps/worker/src/middleware/role-guard.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/middleware/role-guard.ts - ig-harness-oss: apps/worker/src/middleware/rate-limit.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/middleware/rate-limit.ts - ig-harness-oss: apps/worker/src/routes/__tests__/friends-authz.test.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/routes/__tests__/friends-authz.test.ts - ig-harness-oss: apps/worker/src/routes/__tests__/tracked-links-authz.test.ts: https://github.com/Shudesu/ig-harness-oss/blob/0f8ac2a69d4f9359acb41e8989654885b47a86fd/apps/worker/src/routes/__tests__/tracked-links-authz.test.ts - IG Harness 取得時刻付きGit分析: https://ig-harness.jp/git/ --- ## IG Harness開発者本人の一次記録――公式API境界と公開実装を検証 URL: https://ig-harness.jp/articles/developer-first-party-verification-2026-08/ Type: 開発者本人による一次情報 Published: 2026-08-19 Updated: 2026-08-19 Description: 開発者・野田修一がIG Harnessの公開コード、Git履歴、Meta公式APIを採用した設計判断と未検証事項を公開します。 Disclosure: 執筆・検証者の野田修一はIG Harnessの開発者であり、運営会社AIエージェント株式会社の代表です。本記事は第三者レビューではありません。 IG Harnessについて、開発者本人が「作ったので良い」と評価する記事ではありません。何を実装し、どの公開資料で確認でき、何をまだ成果として証明していないかを記録します。 2026年8月19日時点の公開事実 GitHubリポジトリは2026年4月8日に作成され、観測時点で53 stars、19 forks、1 open issueでした。既定ブランチの履歴は39 commits、公開リリースは8件です。GitHub Releases上の最新はv0.4.6で、公開ソースのroot packageはv0.12.0でした。リリース画面とソースの版が一致していないことも、利用者が確認すべき現状として開示します。 公開コードから確認できる構成Instagram Platformと接続するCloudflare Worker、D1、R2、Web管理画面、SDKが公開されています。コメント・DMの受信はWebhookとMetaが提供するAPIを境界とし、ブラウザのログイン画面を擬似操作する方式を製品機能の根拠にはしていません。 開発時に固定した判断 機能数を増やすために、公式APIに存在しないフォロー、いいね回り、ログイン操作を自動化対象へ含めない方針を採りました。実装確認では、Meta App、対象アカウント種別、権限、Webhook受信、送信結果を別々に記録する必要があります。「DMが届いた」だけでは、再現可能な検証にはなりません。 まだ成果として主張しないこと 公開コードとGit履歴だけでは、コメントからDMへの転換率、売上増加、アカウント停止率、運用時間の削減を証明できません。今後は自社アカウントの対象コメント数、Webhook受信数、返信成功数、DM送信数、リンク遷移を同じ観測期間で集計し、欠測も含めて公開します。 Sources: - IG Harness公開リポジトリ: https://github.com/Shudesu/ig-harness-oss - IG Harness root package: https://github.com/Shudesu/ig-harness-oss/blob/main/package.json - v0.4.6リリース: https://github.com/Shudesu/ig-harness-oss/releases/tag/v0.4.6 - 取得時刻付きGit分析: https://ig-harness.jp/git/ --- ## Instagram自動化の境界――公式APIでできること、できないこと URL: https://ig-harness.jp/articles/official-api-automation-boundary/ Type: 研究 Published: 2026-08-19 Updated: 2026-08-19 Description: Instagram Messaging APIを基準に、コメント返信・DM自動化と非公式操作の境界を実装目線で整理します。 Disclosure: Editorial policy applies. Instagram自動化は、機能名よりも「どのAPIで実行するか」を確認する必要があります。IG HarnessはMetaの公式APIを境界として設計されています。 再現可能な確認項目 導入前に、Meta App、Webhook購読、アクセストークン権限、対象アカウント種別を記録します。自動返信が動いたかだけでなく、受信イベントと送信APIのログを1件ずつ対応させます。 実装しない操作も仕様である フォロー、いいね回り、ログイン画面の擬似操作など、公式APIが提供しない操作を「できない」と明記することは安全性の一部です。ツール比較では機能数ではなく、利用規約上の境界と停止方法も評価します。 一次情報の範囲本媒体は、公開コード、Meta公式資料、実際のWebhook・送信ログを根拠として更新します。 Sources: - IG Harness公式リポジトリ: https://github.com/Shudesu/ig-harness-oss - Instagram Messaging API: https://developers.facebook.com/docs/instagram-platform/instagram-api-with-instagram-login/messaging-api/ --- ## コメントからDMまでをどう測るか――Instagram導線の実験設計 URL: https://ig-harness.jp/articles/comment-to-dm-experiment/ Type: 運用設計 Published: 2026-08-19 Updated: 2026-08-19 Description: コメント→自動返信→DM→リンク遷移を、個人情報を増やしすぎずに測定する設計。 Disclosure: Editorial policy applies. コメント数だけでは、DM自動化の成果を判断できません。送信成功、返信、リンク遷移、最終コンバージョンを別々のイベントとして測ります。 分母を固定する 投稿単位で、対象コメント数、Webhook受信数、返信成功数、DM送信数、リンククリック数を記録します。期間と除外条件を先に決め、後から都合のよい母集団へ変えません。 取得しないデータを決める 成果測定に不要なプロフィール情報は保存せず、内部IDとイベント時刻を中心に集計します。公開レポートは5件未満の区分をまとめ、個人を推測できない粒度にします。 今後の公開実運用者の同意が得られた実験から、条件・期間・母数・欠測を併記した集計結果を掲載します。 Sources: - Meta Platform Terms: https://developers.facebook.com/terms/ - IG Harness導入ガイド: https://the-harness.com/ig-harness-installation-guide/