Changelog

Product Updates

Building intelligence in public.

v0.4.0-beta

JUL 4, 2026

Compare, weekly reports, and an editorial floor you can cite

Eight weeks since v0.3.0. The pipeline held at 200+ sources while the work moved up the stack: from collecting events to tracking how the story changes, day over day and week over week. The daily brief got a hard editorial floor. Delivery got more reliable.

What's new

Compare: a day-over-day view of what changed since yesterday. New developments, what dropped off, and how the framing shifted, side by side.

Weekly reports every Sunday. The week's arc in one read: what intensified, what faded, what stayed contested.

Daily email digest. The day's key developments in your inbox at dispatch, linking straight to the full brief.

Contradiction handling in the brief. When Russian and Ukrainian sources disagree on a fact, the brief shows both with attribution instead of picking one or averaging them out.

Under the hood

Editorial floor enforcement. Every brief runs through machine checks before it ships: civilian-harm attribution, who-did-what-to-whom clarity, and no false equivalence between a claim and a confirmed fact. Unverified single-source claims get marked as claims, not stated as fact.

Data isolation hardened. Row-level security audited and tightened across the app. Your data stays yours, verified end to end.

Cron reliability. The daily run self-monitors with early-warning thresholds, and dispatch retries on failure so the brief goes out even when a step stalls.

Delivery discipline. Email now ships a clean titles-only digest, and social posts go out on a fixed schedule across all four channels.

Why it matters

A single day's brief is a snapshot. Compare and the weekly turn it into a timeline: you see when a narrative starts moving, not just where it landed. That is the difference between reading the news and reading the shift.

The editorial floor is the quieter change, and the more important one. An OSINT brief lives or dies on whether you can cite it. Marking claims as claims, attributing civilian harm to the source that reported it, and refusing false balance is what makes the brief something you can put in front of someone else.

Try it: app.osnt.in/brief/latest
See the pipeline live: app.osnt.in/feed

v0.4.0-beta

JUL 4, 2026

Compare, weekly reports, and an editorial floor you can cite

Eight weeks since v0.3.0. The pipeline held at 200+ sources while the work moved up the stack: from collecting events to tracking how the story changes, day over day and week over week. The daily brief got a hard editorial floor. Delivery got more reliable.

What's new

Compare: a day-over-day view of what changed since yesterday. New developments, what dropped off, and how the framing shifted, side by side.

Weekly reports every Sunday. The week's arc in one read: what intensified, what faded, what stayed contested.

Daily email digest. The day's key developments in your inbox at dispatch, linking straight to the full brief.

Contradiction handling in the brief. When Russian and Ukrainian sources disagree on a fact, the brief shows both with attribution instead of picking one or averaging them out.

Under the hood

Editorial floor enforcement. Every brief runs through machine checks before it ships: civilian-harm attribution, who-did-what-to-whom clarity, and no false equivalence between a claim and a confirmed fact. Unverified single-source claims get marked as claims, not stated as fact.

Data isolation hardened. Row-level security audited and tightened across the app. Your data stays yours, verified end to end.

Cron reliability. The daily run self-monitors with early-warning thresholds, and dispatch retries on failure so the brief goes out even when a step stalls.

Delivery discipline. Email now ships a clean titles-only digest, and social posts go out on a fixed schedule across all four channels.

Why it matters

A single day's brief is a snapshot. Compare and the weekly turn it into a timeline: you see when a narrative starts moving, not just where it landed. That is the difference between reading the news and reading the shift.

The editorial floor is the quieter change, and the more important one. An OSINT brief lives or dies on whether you can cite it. Marking claims as claims, attributing civilian harm to the source that reported it, and refusing false balance is what makes the brief something you can put in front of someone else.

Try it: app.osnt.in/brief/latest
See the pipeline live: app.osnt.in/feed

v0.4.0-beta

JUL 4, 2026

Compare, weekly reports, and an editorial floor you can cite

Eight weeks since v0.3.0. The pipeline held at 200+ sources while the work moved up the stack: from collecting events to tracking how the story changes, day over day and week over week. The daily brief got a hard editorial floor. Delivery got more reliable.

What's new

Compare: a day-over-day view of what changed since yesterday. New developments, what dropped off, and how the framing shifted, side by side.

Weekly reports every Sunday. The week's arc in one read: what intensified, what faded, what stayed contested.

Daily email digest. The day's key developments in your inbox at dispatch, linking straight to the full brief.

Contradiction handling in the brief. When Russian and Ukrainian sources disagree on a fact, the brief shows both with attribution instead of picking one or averaging them out.

Under the hood

Editorial floor enforcement. Every brief runs through machine checks before it ships: civilian-harm attribution, who-did-what-to-whom clarity, and no false equivalence between a claim and a confirmed fact. Unverified single-source claims get marked as claims, not stated as fact.

Data isolation hardened. Row-level security audited and tightened across the app. Your data stays yours, verified end to end.

Cron reliability. The daily run self-monitors with early-warning thresholds, and dispatch retries on failure so the brief goes out even when a step stalls.

Delivery discipline. Email now ships a clean titles-only digest, and social posts go out on a fixed schedule across all four channels.

Why it matters

A single day's brief is a snapshot. Compare and the weekly turn it into a timeline: you see when a narrative starts moving, not just where it landed. That is the difference between reading the news and reading the shift.

The editorial floor is the quieter change, and the more important one. An OSINT brief lives or dies on whether you can cite it. Marking claims as claims, attributing civilian harm to the source that reported it, and refusing false balance is what makes the brief something you can put in front of someone else.

Try it: app.osnt.in/brief/latest
See the pipeline live: app.osnt.in/feed

v0.3.0-beta

MAY 11, 2026

Pipeline reaches 200+ sources, brief scope locked to RU-UA

Five weeks since v0.2.0. The pipeline grew from 145 to 200+ open sources. Brief scope got tightened after Middle East noise started creeping in. Feed got rebuilt with cursor pagination and timezone-aware timestamps. Social pipeline rewired to attach images natively across all four channels. Cron infrastructure now self-monitors.

What's new

— 200+ open sources across 3 languages, ingested every 30 minutes

— Feed rebuilt: cursor pagination, infinite scroll, date dividers, daily brief card inline at 05:00 UTC

— Timezone setting in /settings. All dashboard timestamps respect your local time now

— Source classification with reliability badges, visible everywhere events appear

— Brief scope locked strictly to Russia-Ukraine. No more Middle East or Iran content slipping through

Under the hood

— Pre-ingestion filter chain v2.1 (keyword filter plus source-specific classifier). Drops scope-irrelevant content before it hits the analyzer, keeping costs predictable

— Cron heartbeat infrastructure. Every cron run logs itself. Watchdog alerts when expected runs don't happen

— Social image attachment architecturally rewired. Native uploads to Twitter, Bluesky, Telegram, Discord instead of relying on OG previews

— Admin dashboard now has unified Sources tab showing every source with live health status

— Welcome email reliability fix. New users now consistently get the welcome message

— Supabase upgraded to Pro tier for compute headroom after a May 9 capacity incident

Why it matters

200+ sources isn't bragging rights. It's the floor where contradiction detection starts to actually work. With three or four sources on a single event, you can spot when Russian milbloggers and Western agencies disagree on facts, not framing. Below that, you're mostly looking at echoes.

The scope lock matters more than the count. A brief that quietly drifts into Iran or Gaza loses the reader fast. Defense in depth (classifier and generator both enforce RU-UA only) means the brief stays the brief.

Try it: app.osnt.in/brief/latest
See the pipeline live: app.osnt.in/feed

v0.3.0-beta

MAY 11, 2026

Pipeline reaches 200+ sources, brief scope locked to RU-UA

Five weeks since v0.2.0. The pipeline grew from 145 to 200+ open sources. Brief scope got tightened after Middle East noise started creeping in. Feed got rebuilt with cursor pagination and timezone-aware timestamps. Social pipeline rewired to attach images natively across all four channels. Cron infrastructure now self-monitors.

What's new

— 200+ open sources across 3 languages, ingested every 30 minutes

— Feed rebuilt: cursor pagination, infinite scroll, date dividers, daily brief card inline at 05:00 UTC

— Timezone setting in /settings. All dashboard timestamps respect your local time now

— Source classification with reliability badges, visible everywhere events appear

— Brief scope locked strictly to Russia-Ukraine. No more Middle East or Iran content slipping through

Under the hood

— Pre-ingestion filter chain v2.1 (keyword filter plus source-specific classifier). Drops scope-irrelevant content before it hits the analyzer, keeping costs predictable

— Cron heartbeat infrastructure. Every cron run logs itself. Watchdog alerts when expected runs don't happen

— Social image attachment architecturally rewired. Native uploads to Twitter, Bluesky, Telegram, Discord instead of relying on OG previews

— Admin dashboard now has unified Sources tab showing every source with live health status

— Welcome email reliability fix. New users now consistently get the welcome message

— Supabase upgraded to Pro tier for compute headroom after a May 9 capacity incident

Why it matters

200+ sources isn't bragging rights. It's the floor where contradiction detection starts to actually work. With three or four sources on a single event, you can spot when Russian milbloggers and Western agencies disagree on facts, not framing. Below that, you're mostly looking at echoes.

The scope lock matters more than the count. A brief that quietly drifts into Iran or Gaza loses the reader fast. Defense in depth (classifier and generator both enforce RU-UA only) means the brief stays the brief.

Try it: app.osnt.in/brief/latest
See the pipeline live: app.osnt.in/feed

v0.3.0-beta

MAY 11, 2026

Pipeline reaches 200+ sources, brief scope locked to RU-UA

Five weeks since v0.2.0. The pipeline grew from 145 to 200+ open sources. Brief scope got tightened after Middle East noise started creeping in. Feed got rebuilt with cursor pagination and timezone-aware timestamps. Social pipeline rewired to attach images natively across all four channels. Cron infrastructure now self-monitors.

What's new

— 200+ open sources across 3 languages, ingested every 30 minutes

— Feed rebuilt: cursor pagination, infinite scroll, date dividers, daily brief card inline at 05:00 UTC

— Timezone setting in /settings. All dashboard timestamps respect your local time now

— Source classification with reliability badges, visible everywhere events appear

— Brief scope locked strictly to Russia-Ukraine. No more Middle East or Iran content slipping through

Under the hood

— Pre-ingestion filter chain v2.1 (keyword filter plus source-specific classifier). Drops scope-irrelevant content before it hits the analyzer, keeping costs predictable

— Cron heartbeat infrastructure. Every cron run logs itself. Watchdog alerts when expected runs don't happen

— Social image attachment architecturally rewired. Native uploads to Twitter, Bluesky, Telegram, Discord instead of relying on OG previews

— Admin dashboard now has unified Sources tab showing every source with live health status

— Welcome email reliability fix. New users now consistently get the welcome message

— Supabase upgraded to Pro tier for compute headroom after a May 9 capacity incident

Why it matters

200+ sources isn't bragging rights. It's the floor where contradiction detection starts to actually work. With three or four sources on a single event, you can spot when Russian milbloggers and Western agencies disagree on facts, not framing. Below that, you're mostly looking at echoes.

The scope lock matters more than the count. A brief that quietly drifts into Iran or Gaza loses the reader fast. Defense in depth (classifier and generator both enforce RU-UA only) means the brief stays the brief.

Try it: app.osnt.in/brief/latest
See the pipeline live: app.osnt.in/feed

v0.2.0-beta

APR 8, 2026

Pipeline 4x Expansion — 145+ Open Sources

Major pipeline expansion week. The intelligence pipeline grew from ~35 to 145+ open sources, with new metrics display, click-through to original sources, and infrastructure improvements throughout the brief generator.

What's new

— 145+ open sources now monitored across the pipeline

— 100+ Telegram channels added across three languages — including Russian milbloggers (6 channels spanning Kremlin-aligned and independent operators), Ukrainian military and combat correspondents (4 channels covering strategic communications and frontline journalism), Ukrainian media (4 mainstream outlets), and Russian independent voices (1 exile-affiliated channel).

— 45+ RSS feeds expanded with Western defense and policy outlets

— Hybrid pipeline metrics in brief footer — shows both pipeline configuration (145+) and active sources this week (real count from the last 7 days)

— Click any event in the live feed to open its original source in a new tab

— Daily brief continues to ship at 05:00 UTC with executive summary, key developments, narrative shifts, and signals to watch

Under the hood

— Postgres RPC function for accurate active sources counting

— Counter logic now correctly combines event sources with distinct Telegram channels (previous version undercounted by excluding Telegram entirely)

— Display logic updated across brief footer, OG image, and all social posts

— Build pipeline hardened with deployment checklists and pre-deploy audits

— Critical payment regression caught and fixed during pre-deploy review

Why it matters

More sources means fewer blind spots and stronger cross-language framing analysis. The metrics display change is something we're particularly happy with — most platforms either overstate ("145+ sources!") or hide details ("X events processed today"). Showing both pipeline size and active-this-week count is the honest middle ground.

Try it — app.osnt.in/brief/latest
See the pipeline live — app.osnt.in/feed

v0.2.0-beta

APR 8, 2026

Pipeline 4x Expansion — 145+ Open Sources

Major pipeline expansion week. The intelligence pipeline grew from ~35 to 145+ open sources, with new metrics display, click-through to original sources, and infrastructure improvements throughout the brief generator.

What's new

— 145+ open sources now monitored across the pipeline

— 100+ Telegram channels added across three languages — including Russian milbloggers (6 channels spanning Kremlin-aligned and independent operators), Ukrainian military and combat correspondents (4 channels covering strategic communications and frontline journalism), Ukrainian media (4 mainstream outlets), and Russian independent voices (1 exile-affiliated channel).

— 45+ RSS feeds expanded with Western defense and policy outlets

— Hybrid pipeline metrics in brief footer — shows both pipeline configuration (145+) and active sources this week (real count from the last 7 days)

— Click any event in the live feed to open its original source in a new tab

— Daily brief continues to ship at 05:00 UTC with executive summary, key developments, narrative shifts, and signals to watch

Under the hood

— Postgres RPC function for accurate active sources counting

— Counter logic now correctly combines event sources with distinct Telegram channels (previous version undercounted by excluding Telegram entirely)

— Display logic updated across brief footer, OG image, and all social posts

— Build pipeline hardened with deployment checklists and pre-deploy audits

— Critical payment regression caught and fixed during pre-deploy review

Why it matters

More sources means fewer blind spots and stronger cross-language framing analysis. The metrics display change is something we're particularly happy with — most platforms either overstate ("145+ sources!") or hide details ("X events processed today"). Showing both pipeline size and active-this-week count is the honest middle ground.

Try it — app.osnt.in/brief/latest
See the pipeline live — app.osnt.in/feed

v0.2.0-beta

APR 8, 2026

Pipeline 4x Expansion — 145+ Open Sources

Major pipeline expansion week. The intelligence pipeline grew from ~35 to 145+ open sources, with new metrics display, click-through to original sources, and infrastructure improvements throughout the brief generator.

What's new

— 145+ open sources now monitored across the pipeline

— 100+ Telegram channels added across three languages — including Russian milbloggers (6 channels spanning Kremlin-aligned and independent operators), Ukrainian military and combat correspondents (4 channels covering strategic communications and frontline journalism), Ukrainian media (4 mainstream outlets), and Russian independent voices (1 exile-affiliated channel).

— 45+ RSS feeds expanded with Western defense and policy outlets

— Hybrid pipeline metrics in brief footer — shows both pipeline configuration (145+) and active sources this week (real count from the last 7 days)

— Click any event in the live feed to open its original source in a new tab

— Daily brief continues to ship at 05:00 UTC with executive summary, key developments, narrative shifts, and signals to watch

Under the hood

— Postgres RPC function for accurate active sources counting

— Counter logic now correctly combines event sources with distinct Telegram channels (previous version undercounted by excluding Telegram entirely)

— Display logic updated across brief footer, OG image, and all social posts

— Build pipeline hardened with deployment checklists and pre-deploy audits

— Critical payment regression caught and fixed during pre-deploy review

Why it matters

More sources means fewer blind spots and stronger cross-language framing analysis. The metrics display change is something we're particularly happy with — most platforms either overstate ("145+ sources!") or hide details ("X events processed today"). Showing both pipeline size and active-this-week count is the honest middle ground.

Try it — app.osnt.in/brief/latest
See the pipeline live — app.osnt.in/feed

v0.1.0-beta

APR 1, 2026

Initial Beta

OSNT.IN beta is live. The first release ships the core promise — structured daily intelligence on the Russia-Ukraine conflict, generated from open sources, delivered every morning at 05:00 UTC.

What's in this release

— Daily intelligence brief generated automatically every morning

— Multi-source ingestion: ~35 sources across Telegram channels, RSS feeds, conflict event databases (GDELT), satellite thermal data (NASA FIRMS), and sanctions tracking (OpenSanctions)

— Cross-language coverage across Western, Russian, and Ukrainian media

— Source classification system with reliability badges

— Live event feed with severity filtering

— Public brief sharing via /brief/[date] URLs with auto-generated OG images

— Daily auto-posting to Twitter, Bluesky, Telegram, and Discord at 05:00 UTC

— Pro tier ($29/month) with 7-day free trial

— Crypto payment support (USDT TRC-20)

Why it matters

Most people monitoring this conflict spend hours scrolling Telegram and news sites trying to piece together what actually happened. OSNT.IN compresses that into a single morning read, with sources attributed and credibility tagged.

This is beta, which means: the product works, you get real value daily, but expect rapid iteration as we expand the pipeline and add depth features in the coming weeks.

Try it — app.osnt.in/brief/latest

v0.1.0-beta

APR 1, 2026

Initial Beta

OSNT.IN beta is live. The first release ships the core promise — structured daily intelligence on the Russia-Ukraine conflict, generated from open sources, delivered every morning at 05:00 UTC.

What's in this release

— Daily intelligence brief generated automatically every morning

— Multi-source ingestion: ~35 sources across Telegram channels, RSS feeds, conflict event databases (GDELT), satellite thermal data (NASA FIRMS), and sanctions tracking (OpenSanctions)

— Cross-language coverage across Western, Russian, and Ukrainian media

— Source classification system with reliability badges

— Live event feed with severity filtering

— Public brief sharing via /brief/[date] URLs with auto-generated OG images

— Daily auto-posting to Twitter, Bluesky, Telegram, and Discord at 05:00 UTC

— Pro tier ($29/month) with 7-day free trial

— Crypto payment support (USDT TRC-20)

Why it matters

Most people monitoring this conflict spend hours scrolling Telegram and news sites trying to piece together what actually happened. OSNT.IN compresses that into a single morning read, with sources attributed and credibility tagged.

This is beta, which means: the product works, you get real value daily, but expect rapid iteration as we expand the pipeline and add depth features in the coming weeks.

Try it — app.osnt.in/brief/latest

v0.1.0-beta

APR 1, 2026

Initial Beta

OSNT.IN beta is live. The first release ships the core promise — structured daily intelligence on the Russia-Ukraine conflict, generated from open sources, delivered every morning at 05:00 UTC.

What's in this release

— Daily intelligence brief generated automatically every morning

— Multi-source ingestion: ~35 sources across Telegram channels, RSS feeds, conflict event databases (GDELT), satellite thermal data (NASA FIRMS), and sanctions tracking (OpenSanctions)

— Cross-language coverage across Western, Russian, and Ukrainian media

— Source classification system with reliability badges

— Live event feed with severity filtering

— Public brief sharing via /brief/[date] URLs with auto-generated OG images

— Daily auto-posting to Twitter, Bluesky, Telegram, and Discord at 05:00 UTC

— Pro tier ($29/month) with 7-day free trial

— Crypto payment support (USDT TRC-20)

Why it matters

Most people monitoring this conflict spend hours scrolling Telegram and news sites trying to piece together what actually happened. OSNT.IN compresses that into a single morning read, with sources attributed and credibility tagged.

This is beta, which means: the product works, you get real value daily, but expect rapid iteration as we expand the pipeline and add depth features in the coming weeks.

Try it — app.osnt.in/brief/latest

Get Started

Stop Guessing. Start Knowing.

Join analysts and researchers who get structured intelligence on the Russia-Ukraine conflict every morning.

app.osnt.in

200+

OPEN SOURCES

100+

TELEGRAM CHANNELS

100+

RSS FEED

3

LANGUAGES TRACKED

Event activity

Task overview

CRITICAL

HIGH

MEDIUM

Get Started

Stop Guessing. Start Knowing.

Join analysts and researchers who get structured intelligence on the Russia-Ukraine conflict every morning.

app.osnt.in

200+

OPEN SOURCES

100+

TELEGRAM CHANNELS

100+

RSS FEED

3

LANGUAGES TRACKED

Event activity

Start your 7-day free trial. Full access, no credit card required.START FREE TRIAL