# Anti-fraud scoring: how SaTT flags fake engagement

> How SaTT scores every post from 0 to 100 for fraud: the signals it checks, the review and reject thresholds, and what happens to a flagged post.

Published by SaTT · Last updated 2026-10-29 · Features · https://satt.com/guides/features/anti-fraud-scoring

## In short

Every post submitted to an AdPool gets a [risk score](https://satt.com/guides/glossary#risk-score) from 0 to 100, built from signals such as impossible ratios, sudden spikes, duplicate captions, shared devices or a very new account. From 30 the pool owner decides; from 70, or with a blocking flag, rejection is recommended. Nothing is paid before the 48-hour maturation, so the checks run before money moves.

## What is the anti-fraud score?

The anti-fraud score is a number from 0 (looks organic) to 100 (almost certainly fake) that SaTT computes for every post submitted to an [AdPool](https://satt.com/guides/glossary#adpool), in both the dollar and the crypto edition.

It combines independent signals, each with a weight. The score is recomputed at every new measurement of the post, so a post that looked clean at submission can still be flagged later if its numbers jump or collapse.

The score never pays or refuses on its own: it decides whether a post is paid normally, waits for the owner’s decision, or is blocked.

## Which signals does SaTT check?

The flags are shown to the pool owner in plain language. They fall into five families:

| Family | Examples of flags |
| --- | --- |
| Impossible or unusual ratios | More likes than views; many views but almost no likes; [engagement rate](https://satt.com/guides/glossary#engagement-rate) too high or too low for the audience size |
| Sudden changes | Jump in views vs the post’s usual pace; followers jumped in a few days; numbers fell or collapsed vs their peak |
| Account age | Social account under 30 days old; under 7 days old |
| Duplicates | Same post already submitted by another creator; identical or near-identical caption (see [duplicate detection](https://satt.com/guides/features/duplicate-detection)) |
| One person, many identities | One creator controls more than 3 (or more than 6) handles on a network; several creators submit from the same network or device |

IP addresses and device identifiers are only stored as salted hashes, never in raw form.

## What happens at each risk level?

| Risk score | Verdict | Effect |
| --- | --- | --- |
| Below 30 | Looks organic | Paid normally after maturation |
| 30 to 69 | Needs your decision | Held for the pool owner to approve or reject |
| 70 or more | Recommended: reject | Held; the owner sees a reject recommendation |
| Blocking flag | Blocked | Nothing more is ever paid for that post |

Three flags are blocking and permanent: the post was deleted or made private, its numbers collapsed vs their peak (engagement purged), or the same post URL was already submitted by another creator.

> **Warning:** A blocked post stays blocked. In performance pools its [holdback](https://satt.com/guides/glossary#holdback) is forfeited.

## How does the pool owner review a flagged post?

Flagged posts appear in the owner’s review queue in the [Dashboard](https://satt.com/dashboard) with the risk score, the verdict, each flag explained in plain English or French, the maturation date and the measurement history (views, likes, shares and followers over time).

The owner approves or rejects. Step-by-step instructions: [Review flagged posts](https://satt.com/guides/how-to/review-flagged-posts).

## What are the limits of the scoring?

- The score relies on public numbers read by the [oracle](https://satt.com/guides/glossary#oracle). A network that cannot be measured cannot be scored; such posts go to manual review.
- Signals are statistical: a viral organic post can trip a spike flag. That is why mid-range scores go to a human, not to automatic rejection.
- A temporary data outage never counts as removal: only a confirmed “not found” from the network marks a post as deleted.

## Key takeaways

- Every post gets a risk score from 0 to 100, recomputed at each measurement.
- Score 30+ waits for the owner; 70+ comes with a reject recommendation.
- Deleted posts, collapsed numbers and posts already submitted by another creator are blocked for good.
- Owners see every flag in plain language with the measurement history.

## Frequently asked questions

### Can a creator see their own risk score?

The detailed score and flags are shown to the pool owner in the review queue. A creator sees the status of their post: paid, maturing, under review or rejected.

### Does a high score mean the creator cheated?

Not necessarily. Scores of 30 to 69 mean “needs a human decision”. Only blocking flags, such as a deleted post, stop payment automatically.

### Are flagged posts paid while they wait?

No. A flagged post’s reward is reserved, not paid, until the owner approves it. If the owner rejects it, the reserved amount returns to the pool budget.

### How do I avoid being flagged as a creator?

Post original content from your own verified account, never buy engagement and keep the post online until the pool ends. See [how to avoid fraud flags](https://satt.com/guides/tips/avoid-fraud-flags).

## Related guides

- [Maturation and holdback: when creators get paid](https://satt.com/guides/features/maturation-holdback)
- [Duplicate detection: one post, one creator, one payout](https://satt.com/guides/features/duplicate-detection)
- [How to review flagged posts in your AdPool](https://satt.com/guides/how-to/review-flagged-posts)
- [How creators avoid fraud flags on SaTT](https://satt.com/guides/tips/avoid-fraud-flags)

## Official pages

- [How SaTT works](https://satt.com/how-it-works)
- [Verifiable payouts](https://satt.com/attestations)

Glossary: https://satt.com/guides/glossary
