How the TikTok side works
Every safety rail, with its config key
Coordinated attention is detectable by its shape, not by any single action: forty identical actions in four minutes, saves arriving with no watch time, the same two accounts trading every day. None of the actions is fake — the distribution is. These are the limits that keep the distribution plausible, published with the configuration key that sets each one.
Every limit, and the key that sets it
| Limit | Value | Configuration key | Enforced by |
|---|---|---|---|
|
Total TikTok engagements one account may give in a day, across all four exchanges. Volume is the cheapest thing to detect. A member who could give three hundred engagements a day would produce a pattern with no organic analogue within a week. |
40 |
exchanges.tiktok.daily_action_cap
|
blockedReason()
|
|
Comments one account may give in a day. Comments carry the most detection risk of the four, so they are capped tightest — well below the overall ceiling. |
15 |
exchanges.tiktok.daily_exchange_caps.tt_comment
|
blockedReason()
|
|
Saves one account may give in a day. A save is one tap, so the cap is looser than comments and still well under the daily total. |
25 |
exchanges.tiktok.daily_exchange_caps.tt_save
|
blockedReason()
|
|
The gap between one engagement and the next, drawn fresh at random each time. A fixed gap is itself a fingerprint. Forty actions spaced exactly ninety seconds apart is more obviously coordinated than forty actions in four minutes, not less. |
45–210 seconds |
exchanges.tiktok.cooldown_min_seconds
exchanges.tiktok.cooldown_max_seconds
|
cooldownRemaining()
|
|
How long a new account must exist before it can bank points. A new account may give engagements from the start — that is how anyone tries the product. What it cannot do is earn. Earning is what a throwaway-account farm is actually after. |
14 days |
exchanges.tiktok.quarantine_days
|
isQuarantined()
|
|
Videos an account must have posted before it can bank points. Paired with the fourteen days, it means a farm has to run a plausible account for two weeks before it earns anything at all. |
5 |
exchanges.tiktok.quarantine_min_posts
|
isQuarantined()
|
|
The most a video may receive from matched delivery, as a share of the reach it earned on its own. Delivery that dwarfs a video's real audience is the clearest possible signal that the audience is not real. A video with two hundred organic views may receive sixty matched ones, not six hundred. |
30% |
exchanges.tiktok.velocity_ceiling
|
applyVelocityCeiling()
|
|
Ceiling on saves as a share of a video's views before it stops being offered for saves. Real audiences overwhelmingly only watch. A video whose saves match its views one-for-one is not a video anyone found. |
25% |
exchanges.tiktok.save_share
|
applyActionMixCeiling()
|
|
The same ceiling for comments. Commenting is rarer than saving, so the ceiling is lower. The two together keep the action mix inside the range real videos occupy. |
8% |
exchanges.tiktok.comment_share
|
applyActionMixCeiling()
|
|
Engagements always permitted regardless of the two ceilings above. Without a floor, a freshly-posted video with no reach of its own would be unmatchable — the ratio rails would divide by almost nothing and reject everything. |
2 |
exchanges.tiktok.action_mix_floor
|
applyActionMixCeiling()
|
Every method above lives on App\Services\Tiktok\TiktokSafetyRails in the product application, which
is where the numbers are read and applied. They sit in configuration rather than in constants because they are
exactly the values most likely to need tuning against real behaviour, and a constant means a deploy to change one.
Why publish the keys
A number in marketing copy is a claim. A number with the configuration key beside it is something you can hold the software to, and something an engineer can find in about four seconds.
Publishing them also constrains us. Once a limit is on a public page with its key, loosening it quietly means the page is wrong, and the page is generated from the same constants the software reads.
The three that matter most
Randomised pacing. Actions are spaced 45 to 210 seconds apart, drawn fresh each time rather than fixed. A constant gap is itself a fingerprint — forty actions exactly ninety seconds apart is more obviously coordinated than forty in four minutes, not less.
The delivery ceiling. A video may receive at most 30% of the reach it earned on its own. This is the rail that prevents the service from becoming your audience, and it is the one that costs the most in perceived value.
Quarantine. A new account may give engagements immediately — that is how anyone tries the product — but cannot bank points until it is 14 days old and has posted 5 videos. Earning is what a throwaway-account farm is actually after, so earning is what is gated.
What the rails cannot do
They cannot make a restricted account unrestricted, and they cannot make attention from a link behave like attention from the For You feed. Whether it does is genuinely unknown — every source in this category assumes it and none demonstrates it, which is why the promise here is matched distribution and measurement rather than reach.
They also cannot compensate for content nobody wants to watch. A ceiling relative to your own reach means a video that earned nothing receives close to nothing.
Common questions
Can I raise my own caps?
No. They are platform-wide configuration, not per-account settings, and a member who could raise them would be the first one detected.
Is any of this automated?
No. Nothing is ever automated, proxied, credentialed or performed on your behalf. Every action is a person opening the TikTok app and watching a video. No password is ever requested and no account is ever accessed on anyone's behalf.
What happens if I hit a cap?
You are told which cap and when it resets. A silent empty queue reads as a broken product, so every limit states itself in plain words.
Read next
What was deliberately not built
A feature list read backwards. Nine mechanisms that exist on the Instagram side, or that any competitor would...
Rooms and the headcount thresholds
Rooms are closed by default and open two ways: on a headcount, or at an announced time. In a room of N creator...
Verification, and what is read
Ownership is proved by putting a short code in your TikTok bio and having the system read it back from your pu...