ポイント不正防止の統合
Flash は、凍結後判定 モデルでポイント台帳を保護します。ハードコードされた検出機能が毎晩実行され、疑わしいポイントが見つかった瞬間にそのポイントを凍結し(メンバーの記録には残りますが、使用不可で期限切れになるため一時停止されます)、その後、SoClaw が各保留を確認して、無効、解除、またはウィンバックと同じ管理された MCP ワークリストを通じて、それをエスカレーションします。
このガイドは、エージェントを実行するオペレーター/インテグレーターを対象としています。ビジネスの概要については、SoClaw 製品ページをご覧ください。ワークリスト ツールは、MCP 統合ガイド の管理対象 MCP サーバー上に構築され、エージェント タスク ワークリストを win-back ガイド と共有します。
検出時に凍結、レビューを決定
獲得してからクローバックするより安全な代替手段: ルールが発動した瞬間にポイントが保持されるため、レビュー中に何もキャッシュアウトされることはありません。凍結されたバッチは台帳に残りますが、使用可能残高、償還、有効期限からは除外されます。評決だけがポイントを動かす。
# Nightly, server-side (no agent involved):
for detector in enabled_detectors(team): # master switch + per-detector checkbox
for hold in detector.detect(team): # each hold = one entity, e.g. a referral or order
freeze(hold.targets) # FREEZE suspect points (idempotent, reversible)
enqueue(kind="fraud_points_hold", subject_key=hold.subject_key) # one review task
# Agent side (self-hosted OpenClaw + SoClaw decisions skill):
task = claim_agent_task(kind="fraud_points_hold") # NO_TASKS_AVAILABLE / AGENT_TASKS_DISABLED → STOP
facts = get_agent_task(task.id) # ids + signal + evidence (no PII)
complete_agent_task(task.id,
decision="block" | "allow" | "escalate", # block=void, allow=release, escalate=leave frozen
reason="<why>")単一のシグナルは自動確認されません。検出器はレビューを一時停止して開始するだけで、block/allow/escalateの判定はエージェント(または人間)が行います。機械で判定可能な不正行為(自己紹介、紹介サイクル、招待レート制限、重複受信ハッシュ)は他の場所で同期的にブロックされ、このキューには到達しません。
検出器
それぞれは 1 つのマスター スイッチの下にあるオプトイン チェックボックスです。実際の、クエリ可能な根拠を持つシグナルのみが存在します。アカウントの乗っ取り、ポイントの転売、純粋なウォッシュトレードは意図的に存在しません(それらを正直に検出する取引相手、支払い手段、またはデバイスのシグナルはありません)。
same_household_referral紹介者と参照先が確認済み (≧0.9) 世帯である変換された紹介。これは自己紹介である可能性があります。
フリーズ: 双方の紹介ボーナス。
refunded_order_unclawed_points全額返金またはキャンセルされ、付与された購入ポイントがまだ残っている (まだ取り戻されていない) 注文。
フリーズ: その注文に対する購入者の購入ポイント。
household_welcome_farming2 人以上のメンバーがそれぞれまだウェルカム ボーナスを保有している確認済みの世帯 - マルチアカウント ファーミングの可能性。
フリーズ: フラグを立てた各メンバーのウェルカムボーナス。
zombie_referral30 日以上前に報酬が与えられた紹介で、招待されたメンバーはそれ以来一度も注文をしていません。これはおそらく捏造されたサインアップです。
フリーズ: 双方の紹介ボーナス。
order_velocity_burstポイントがまだ消費されていない状態で、短い期間に異常に多くの注文を出したメンバー、つまりウォッシュトレードのプロキシです。
フリーズ: バーストからのまだ存在する購入ポイント。
behavior_outlier30 日間のポイント アクティビティ (トランザクション数の獲得、獲得ポイント、引き換え数) が、チーム自身のメンバー分布に対して極端な統計的外れ値 (確実な Z スコア ≥ 6) であるメンバーのメンバー。
フリーズ: 外れ値ウィンドウからのメンバーのまだ存在するポイント。
behavior_outlier 内 — 統計検出器
5 つのルール検出機能とは異なり、behavior_outlier は、チーム独自の分布 に対して各メンバーの 30 日間のポイント アクティビティをスコア付けします。メンバーごとに、トランザクション数の獲得、獲得ポイント、引き換え数の 3 つの機能があります。堅牢な Z スコア (中央値 + MAD のため、少数のクジラがベースラインをシフトすることはありません) を使用します。
z = (x − median) / (MAD × 1.4826) # per feature, vs the team's own members
flag when z ≥ 6- 何かが発生する前のフロア。 メンバーはウィンドウ内で 10 件以上の収益トランザクションが必要で、チームはベースラインに 50 人以上のアクティブなメンバーが必要です。どちらか未満の場合、検出器はまったく何も出力しません。
- 同じ凍結→レビュー パイプライン。 凍結は、レビュー タスクがキューに入れられる前に実行されます。凍結されたバッチは台帳に残ります(使用不可、期限切れになるために一時停止されます)。評決 (釈放 / 無効 / エスカレーション) は SoClaw または人間によって行われます。決して自動的に処罰されることはありません。
- メンバーごとに月に最大 1 件のレビュー。 件名キーは
behavior_outlier:{memberId}:{YYYYMM}で、すでに凍結バッチを持っているメンバーはスキップされます。パイルオンはありません。 - 他のものと同様にオプトアウトします。 検出者ごとのチェックボックス。チームに対して不正タスクの種類が有効になっている場合はデフォルトでオンになります。
- ガラス箱の証拠。 理由ペイロード内のすべてのフラグ付き特徴には、
{value, teamMedian, robustZ, flagged}と適用された下限が含まれます。レビュー担当者は、スコアではなく、メンバーにフラグが付けられた理由を正確に確認します。
判定セマンティクス
| 決断 | 効果 |
|---|---|
block | 不正行為の確認 — 凍結されたポイントは無効になります (永久に削除され、使用可能なポイントには戻されません)。 |
allow | 誤報 — ポイントは解放されて使用可能に戻ります。失効した有効期限は猶予期間によって延長されるため、メンバーは保留に関してペナルティを受けません。 |
escalate | 不明瞭 — ポイントは凍結されたままで、事件は人間に委ねられます。単一の信号だけでは判断できない場合に推奨されます。 |
すべてのエフェクトは既存の冪等書き込みによって実行されます — フリーズ、ボイド、リリースは (action, hold, member) ごとにキー設定され、エフェクトはタスクが完了する前に適用されるため、リースが失われても半分適用された変更が残ることはありません。エージェントにとって新たなお金の道はありません。
管理者制御とフェイルセーフ
- マスタースイッチ — 組織のオーナー/管理者がチームのポイント保留ジョブを有効にし、プラットフォームのキルスイッチでグローバルにゲートするまで、不正検出は無効になっています。検出を実行するには、両方の設定が有効になっている必要があります。
- 検出器ごとのチェックリスト — 各検出器はチェックボックスです (保存された設定なし = マスターがオンの場合はオン)。 1 つを無効にすると、そのチェックだけが停止されます。
- 古い保留のエスカレーション — 2 週間経過しても判定が得られない保留は、人間に自動的にエスカレーションされます。ポイントは凍結されたままです。ポイントは自動的に解放されることはなく (詐欺行為は時間外に待ちきれません)、自動的に無効になることもありません (メンバーは無実である可能性があります)。
- 完全な監査 - 凍結、無効、リリース、エスカレーションはすべて、その理由とともにワークリストに書き込まれます。何も静かに動きません。