How to moderate a dating app without killing the conversation
Call the API before a profile goes live and before a message is delivered, and act on one of three answers: deliver it, hold it for a person, or refuse it. Almost every message on a dating app is somebody saying hello, and the free checks settle that in about a millisecond, so nobody waits for a reply because of moderation. The model only reads what they leave open, and pictures. What lands in review waits in a queue, in your dashboard or through the API, and a signed webhook tells your app when somebody approves it.
How to detect romance scams on a dating app
A romance scam is never one message. It starts as affection, moves to WhatsApp or Telegram, adds a story nobody can check (an oil rig, a military mission) and ends in money: a ticket, a customs fee, a hospital bill, or a trading platform. Send the thread to /v1/conversation and ToxicFilter reads the same person across it. Affection and a move to another app are not a romance scam on their own, because that is how people who like each other talk: the dating template only holds the move for a look, as it holds any invitation to leave the app. Money or an investment pitch beside them is refused under the dating template, and the reason names what was found.
Phone numbers and chat handles in profiles
A bio that says "add me on WhatsApp" with a number is a profile working for another app. ToxicFilter reports the number as personal_data and the pointer to a chat app as spam. The dating template holds a number alone for review and refuses the pair. If you would rather publish the bio without the number, ask for redact and the answer carries the same text with it masked.
Keeping minors off an adult app
Somebody under eighteen saying their age is not a violation by them, and ToxicFilter never treats it as one. What it reads is the other participant: secrecy, a move to another app, photos, gifts, isolation. After a stated age under eighteen, any of those is refused under minor_safety with a reason that says what happened, never what anybody is. Without a stated age, two of them together are held for review on the dating template. The instant checks read these shapes in eight languages, a hit is a person's job immediately, and with effort: high the model reads the whole conversation for what the wording leaves to context.
Nudity and explicit photos
Sexual content in pictures is judged by the model, which reads the image and any text written in it in the same call. The dating template holds sexual content for a look at 0.60 and refuses it at 0.85: higher than a forum's lines, because flirting is what the app is for. Repeat uploads of a picture already refused are recognised by their fingerprint, and if a file declares that it was generated by AI, that comes back as a fact for you to use as you see fit.
Choosing the thresholds for your dating app
Start from the dating template, which lowers the lines for scams, spam, disguised text and approaches to minors, and raises them for sexual content. Then try any change as a second policy running in parallel with the one in force: both verdicts are computed on your own traffic, only one acts, and the dashboard shows where they disagree before you switch.