DATING SAFETY
Generally availableCatch the romance scam before the money moves - not after the report.
200 dating-risk labels across 40 languages - romance scams, catfishing, coercion, minor safety - each returned with the configuration ID and receipt you need to reproduce the call. No generative model is used to produce classifications.
200 labels · 5 risk groups · 40 languages · p95 target <500ms · No generative model is used to produce classifications
Re-run with the same pinned version → identical result
What this analyzer does and doesn't do
- Detect 200 labeled dating-risk behaviors in member text
- Return confidence-ranked signals your safety engine can route on
- Cover 40 languages
- ✕Analyze photos, profiles, video, or audio
- ✕See match history, payment records, or account metadata
- ✕Determine whether a user is actually a scammer
- ✕Replace your moderation team or make the final call
Sentiqra returns structured signals. Your policy, reviewers, and models make the decision. See the full boundary statement →
WHAT YOU'LL DETECT
Not "suspicious: 0.91". The specific risk behavior - with the label your policy already knows.
Romance Scam & Financial Exploitation
scam_money_request
“The customs office is holding your gift - I need €400 for the release fee” → very high
Catfishing & False Identity
catfish_refuses_video
“My camera is broken, I can’t do video calls” → very high
Grooming & Psychological Manipulation
groom_isolation
“You don’t need to tell your friends about us” → very high
Minor Safety & Predatory Behavior
minor_age_deception
Detected - example withheld
Threats & Coercive Control
threat_revenge_porn
Detected - example withheld
200 indicators across 5 risk groups - covering 40 languages.
Same deterministic product contract as every Sentiqra analyzer: pinned configuration, signed receipt, replayable results. Per-language benchmark publication is pending for this analyzer - evaluate it on your own labeled workload; the published methodology applies when results ship.
WHERE IT GETS USED
Three jobs this analyzer does well.
Romance-scam triage before the money moves
A dating platform runs member conversations through Dating Safety and routes scam_money_request, scam_emergency_medical, and traffick_job_offer hits to a specialized queue - so financial lures get reviewed before a victim sends funds, not after the chargeback.
Fit signals: financial-exploitation losses · specialist review queues · multilingual member base
Minor safety and age-deception escalation
minor_age_deception and minor_meetup_request signals bypass the normal queue entirely and escalate to your highest-severity lane. The receipt attached to each hit gives investigators an exact, replayable record of what was flagged and why.
Fit signals: regulatory exposure · zero-tolerance category · audit trail required
Off-platform and unsafe-contact warnings
When abuse_off_platform or privacy_phone_demand fires alongside scam indicators, the platform shows the member an in-context warning - "this match is asking to move off-platform fast" - instead of silently banning and teaching the scammer nothing.
Fit signals: in-product warnings · member education · risk-friction UX
Send text. Get ranked labels + a receipt you can replay.
POST /v1/analyze
Authorization: Bearer sq_live_your_api_key_here
{
"text": "My love, the customs office is holding your package. I need €400 for the release fee - can you send it today?",
"language": "en",
"analyzers": ["dating-safety"]
}
{
"language": "en",
"signals": [
{ "analyzer": "dating-safety", "code": "deception_manipulation", "label": "Deception & Manipulation", "score": 0.9, "confidence": "very_high", "level": "category" },
{ "analyzer": "dating-safety", "code": "scam_money_request", "label": "Direct request for money or financial help", "score": 0.9, "confidence": "very_high", "level": "label", "parent": "deception_manipulation" },
{ "analyzer": "dating-safety", "code": "scam_emergency_medical", "label": "Fabricated medical emergency needing funds", "score": 0.9, "confidence": "very_high", "level": "label", "parent": "deception_manipulation" }
],
"meta": { "analyzers": [{ "name": "dating-safety", "status": "completed", "signal_count": 3, "billed": true }], "partial": false },
"usage": { "analyzer_runs": 1, "billed": true },
"verification": {
"configuration": "sqcfg_SNEEC9V3",
"fingerprint": "fp_8a72...19f",
"input_commitment": "ic_31bd...a42",
"signature": "sig_ed25519_4c1f...e2a"
}
}
READING THE OUTPUT
What a Dating Safety result tells you - and what it doesn't.
Intended task
Flag documented dating-risk patterns - scam lures, coercion, unsafe-contact escalation - in member text for review and warning flows.
Input requirements
text- the only field analyzed; up to 4,096 Unicode code points. Over the limit is rejected withinput_too_long, never truncated.language- must be a language this analyzer supports. Unsupported codes are rejected with400 unsupported_language, never analyzed as a different language.analyzers- include"dating-safety"; up to 2 analyzers per request, one billed run each.- No context beyond
text- no user IDs, history, profiles, or attachments are read or inferred. - Analyzes the submitted message only - profiles, photos, match history, and payment records are not inputs.
Ordinary positive
“My love, the customs office is holding your package. I need EUR 400 for the release fee - can you send it today?”
Safe inference: The message matches documented romance-scam and money-request patterns - route it to the specialized queue before money moves.
Confusing negative · Quotation
“He wrote "the customs office is holding your gift - I need EUR 400 for the release fee" - is this a scam?”
What happens: Scam signals can still fire: the member is quoting the lure to report it, but the analyzer scores the submitted text as written. The signal means the text contains documented scam language - not that the sender of this message is a scammer.
Why it's tricky: Reports, safety warnings, and appeals all quote the messages they describe. Combine the signal with who sent the text and your own context - and remember that a bare "can you send me money?" may be too thin to match strongly. Absence is "not detected," never clearance.
What you can safely infer
- Which documented risk behaviors the text matched, and at what signal-match strength.
- That the receipt ties each flag to the configuration that produced it - a replayable record for investigators.
What you must not infer
- ✕That the sender is actually a scammer - the signal describes the text, not the person.
- ✕That the recipient is a victim or that a reported incident occurred.
- ✕That unflagged conversations are safe - a missing signal means "not detected," never "cleared."
- ✕Anything outside the submitted text - no photos, profiles, or account metadata are analyzed.
Boundary: Dating Safety signals flag risk language in a message - they do not determine that a user is a scammer, and a clean result is not clearance. Enforcement stays with your moderation team.
Dating Safety is on every plan. Even Free.
Free
5,000 runs/mo
Build
$149/mo · 50,000 runs/mo
Growth
$349/mo · 150,000 runs/mo
Production
$799/mo · 500,000 runs/mo
Scale
$2,999/mo · 2,500,000 runs/mo
Enterprise
By agreement · SOC 2 Type II in progress
Deterministic by construction, provable by receipt.
A signed verification receipt - configuration ID (sqcfg_...), result fingerprint (fp2_...), input commitment (ic3_...), and Ed25519 signature (sig_ed25519_...) - ships with every successful analysis result. Pin it to the stored decision and a later replay under the same supported configuration and output profile yields the identical canonical result - the difference between "the model said so" and evidence.
Where it fits in your pipeline
Often paired with: Fraud & Scam for payment and investment lures, Trust & Safety for general platform abuse, Emotion Analysis for manipulation and distress scoring.
Used in: Marketplace & Messaging Safety and Content Moderation
Try it on your hardest scam conversations.
5,000 analyzer runs/month · No card required
Analyzer FAQ
New to Sentiqra? It's a deterministic text-analysis API - you send text, you get labeled, confidence-scored signals plus a replayable receipt. Dating Safety is the romance scam & unsafe contact detection analyzer.
What does Dating Safety detect?
Detect romance scams, coercion, unsafe contact escalation, and dating-platform risk signals in multilingual text.
Which languages does it cover?
40 supported languages. Per-language benchmark publication is pending for this analyzer - evaluate it on your own labeled workload before relying on a specific language. Coverage is per-analyzer, not platform-wide.
How do I call it?
POST /v1/analyze with "analyzers": ["dating-safety"]. Same endpoint, auth, and response shape as every other analyzer - you can pair it with one more analyzer in the same request.
What does a call cost?
One analyzer run per call, billed against your plan's included runs (overage per plan). All GA analyzers are on every plan, including Free - see pricing.
How do I evaluate it on my data?
Label a few hundred of your own examples, run them through the free tier, and compare our signals to your labels. The evaluation playbook walks through building that test set - it's the same method we use internally.