What we remove, how it works technically, and what this system does not have yet. Without numbers we do not measure.
Public surfaces — channels, supergroups, sticker sets, bots — must not carry calls to violence, child abuse material, or trade in prohibited goods. This applies to the public part: one-to-one conversations and secret chats are not reviewed, and technically cannot be — in a secret chat the server has no key.
messages.report and
its counterparts for channels and profiles. A report enters the queue with
the object and the reason attached.api_id issued through
my.ansible.su. A banned
flag disconnects it from the network within half a minute, and it is a
lever separate from accounts: an abusive client is switched off without
touching its users.We do not read private conversations and do not scan their contents. In secret chats that property is mathematical rather than a promise: the server relays bytes without holding the key. For cloud chats access is technically possible, and saying so plainly matters more than claiming otherwise — but it is not used for moderation, because what moderation is about is the public part.
What the server sees either way is metadata: who exchanged messages with whom and when, and how large they were. That is a property of any delivery network.
We have no public dashboard of numbers yet. The layout and the charts on this page are ready, but there is no data source behind them — we do not publish counts of removed and blocked material until we are confident they are counted the same way from one month to the next. Putting arbitrary numbers here would be worse than having none.
From the app — "Report" in the menu of a message, a chat or a profile. For anything a report does not solve, see the FAQ.