We are currently building something exciting and will be launching soon. Registration is temporarily closed. Launching soon — registration temporarily closed.

CRISIS INTELLIGENCE

Generally available

Crisis indicators your analysts can act on before the news cycle catches up.

Conflict, displacement, and humanitarian signals across 650 labels and 21 languages - including Ukrainian, Russian, Hebrew, and Turkish, the languages crises actually unfold in.

650 labels · 21 languages · p95 target <500ms · Every result reproducible

field report
armed_conflict
shellingvery high
mass_displacementvery high
bombinghigh
LanguageUK
Configurationsqcfg_EMKKGD6F
Fingerprintfp_5e21…b7

Re-run with the same pinned version → identical result

What this analyzer does and doesn't do

  • Detect conflict, displacement, and humanitarian signals in text
  • Cover 21 languages - including Ukrainian, Russian, Hebrew, and Turkish
  • Return ranked, source-citable signals for analyst prioritization
  • ✕Verify whether a reported event actually happened
  • ✕Pinpoint incident locations or confirm casualty figures
  • ✕Access satellite, imagery, or signals intelligence
  • ✕Determine legal responsibility for violations

Sentiqra returns structured signals. Your policy, reviewers, and models make the decision. See the full boundary statement →

WHAT YOU'LL DETECT

The specific crisis signal - not a generic "bad news" score.

Threat & Security

shelling

“Artillery hit the market district overnight” → very high

Migration & Displacement

mass_displacement

“Thousands crossed the border this morning” → very high

Conflict & Violence

bombing

“The power station was struck again” → high

Humanitarian Crisis

humanitarian_access

Detected - example withheld

Action & Mobilisation

protest

Detected - example withheld

Looking for propaganda techniques? That's Disinformation Analysis.

86.7% – 96.7% Production Top-3 Hit Rate across 21 languages.

Benchmarks vary by language - the range above is the honest spread, not the best case. Top-3 Hit Rate means the expected label appears among the 3 highest-confidence signals returned; it measures ranking quality, not whether a thresholded accept/reject decision was right.

p95 latency target <500ms 21 production languages Every benchmark tied to a config ID
See per-language benchmarks and methodology

WHERE IT GETS USED

Three jobs this analyzer does well.

Border and displacement monitoring

A humanitarian coordination team monitors multilingual reporting around an active border. Displacement-movement and aid-access signals surface in near-real time, so field coordination decisions rest on structured events instead of whoever happened to be reading the feed.

Fit signals: multilingual sources · time-critical triage · NGO/humanitarian ops

OSINT feed filtering

An analyst team facing a hundred-thousand-item multilingual daily stream filters it to the signals worth a human's attention - shelling reports, infrastructure strikes, civil unrest - with the config ID stored so any prioritization decision can be replayed and defended later.

Fit signals: high-volume feeds · analyst scarcity · audit-grade filtering

Post-crisis program evaluation

A program office reproduces the exact signal history that drove resource decisions months earlier. The stored configuration ID replays identical results - the after-action report describes what the system actually saw, not what a newer model would see today.

Fit signals: donor reporting · after-action review · reproducibility obligations

Send field text. Get crisis signals + a receipt.

request
POST /v1/analyze
Authorization: Bearer sq_live_your_api_key_here

{
  "text": "Shelling hit the market district overnight; families are moving toward the border crossing.",
  "language": "uk",
  "analyzers": ["crisis-intelligence"]
}
response
{
  "language": "en",
  "signals": [
    { "analyzer": "crisis-intelligence", "code": "humanitarian_migration", "label": "Humanitarian Migration", "score": 0.9, "confidence": "very_high", "level": "category" },
    { "analyzer": "crisis-intelligence", "code": "humanitarian_access", "label": "Humanitarian Access", "score": 0.9, "confidence": "very_high", "level": "label", "parent": "humanitarian_migration" },
    { "analyzer": "crisis-intelligence", "code": "displacement", "label": "Displacement", "score": 0.9, "confidence": "very_high", "level": "label", "parent": "humanitarian_migration" }
  ],
  "meta": { "analyzers": [{ "name": "crisis-intelligence", "status": "completed", "signal_count": 3, "billed": true }], "partial": false },
  "usage": { "analyzer_runs": 1, "billed": true },
  "verification": {
    "configuration": "sqcfg_EMKKGD6F",
    "fingerprint": "fp_8a72...19f",
    "input_commitment": "ic_31bd...a42",
    "signature": "sig_ed25519_4c1f...e2a"
  }
}

READING THE OUTPUT

What a Crisis Intelligence result tells you - and what it doesn't.

Intended task

Classify crisis-related text - field reports, news copy, public posts - into documented analysis groups covering displacement, humanitarian need, governance, and information dynamics.

Input requirements

  • text - the only field analyzed; up to 4,096 Unicode code points. Over the limit is rejected with input_too_long, never truncated.
  • language - must be a language this analyzer supports. Unsupported codes are rejected with 400 unsupported_language, never analyzed as a different language.
  • analyzers - include "crisis-intelligence"; 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.
  • Single texts, not streams - correlation across sources is your pipeline's job.

Ordinary positive

“Roughly 400 families crossed the border overnight after shelling cut the bridge; the reception camp has run out of tents.”

migration_border very high
humanitarian_vulnerability high

Safe inference: The text describes displacement and humanitarian need in the documented language of those categories. Route it to the monitoring desk for that region.

Confusing negative · Reported speech

“Officials claimed 400 families crossed the border overnight, but journalists at the crossing reported no movement and no new arrivals.”

What happens: Migration and displacement signals can still fire: the text describes the event in the documented vocabulary even though it disputes it. The analyzer reads language - it does not adjudicate whether the event happened.

Why it's tricky: Text describing an event is not verification that the event occurred. Denials, debunks, and contested claims can match the same categories as genuine reports - use signals to triage reading volume, then verify through your sources.

What you can safely infer

  • Which documented analysis groups and indicators the text matched.
  • That a high band means the text strongly matches the documented language of the category - useful for triage order.

What you must not infer

  • ✕That the described event is verified, current, or correctly attributed.
  • ✕Casualty or displacement figures as facts - they are claims made in the text.
  • ✕That absent signals mean no crisis - coverage depends on the documented taxonomy and the language of the report.

Boundary: Signals describe text, not events. A displacement or conflict signal means the text uses the documented language of that event type - it is not independent verification that the event occurred, and it carries no validation of figures, dates, or attribution.

Crisis Intelligence 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.

Verify a receipt

Where it fits in your workflow

FIELD REPORTS / NEWS / SOCIAL ↓ CRISIS INTELLIGENCE ↓
Shellingvery high
Mass Displacementvery high
Bombinghigh
↓ YOUR POLICY ↓ Prioritize · Correlate · Brief · Escalate

Often paired with: Disinformation for manipulation techniques in crisis reporting, Cybersecurity for conflict-adjacent threat signals, Emotion Analysis for population-sentiment tracking.

Used in: Crisis & OSINT Intelligence

Point it at a live feed.

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. Crisis Intelligence is the migration & crisis indicator detection analyzer.

What does Crisis Intelligence detect?

Detect crisis, displacement, conflict, humanitarian, governance, and information-environment signals.

Which languages does it cover?

21 supported languages, each with a published per-language benchmark. Coverage is per-analyzer, not platform-wide - check the language list on this page before assuming parity with other analyzers.

How do I call it?

POST /v1/analyze with "analyzers": ["crisis-intelligence"]. 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.