# Categorized OSINT research

Omnius ships a local, searchable snapshot of the
[OSINT4ALL Start.me page](https://start.me/p/L1rEYQ/osint4all). It uses the
same compact discovery pattern as AIWG skills:

1. `osint_search` ranks a small candidate set from local metadata.
2. `osint_show` expands one exact resource.
3. The agent explicitly selects `web_fetch`, `web_crawl`,
   `playwright_browser`, or another appropriate tool.
4. Research findings keep their fetched-source provenance and are
   corroborated independently.

The full catalog is never injected into the model prompt.

## Catalog coverage

The bundled snapshot contains:

- 77 Start.me bookmark categories
- 1,456 source placements
- 1,446 normalized canonical resources
- every original Start.me bookmark item ID, category, position, title, and URL
- duplicate placements retained as provenance on the canonical resource
- Start.me's archived HTTP result code for each resource

Transient RSS stories and the world-clock widget are not bookmarks and are not
part of the tool catalog.

The generated data records the source hash and a placement hash. Tests assert
the exact counts, contiguous source ordinals, unique bookmark IDs, duplicate
mapping, category totals, and deterministic search behavior.

## Agent usage

Search by need, entity type, service, category, family, domain, or URL
fragment:

```json
{
  "query": "reverse image face search",
  "family": "media",
  "health": "live",
  "limit": 5
}
```

`osint_search` returns compact IDs such as `osint.268396782`. Expand only the
candidate you intend to use:

```json
{
  "id": "osint.268396782"
}
```

`osint_show` returns the resource URL, aliases, category placements, access
mode, interaction/risk guidance, and a recommended next-tool route. Both
catalog tools are local read-only operations and make no network requests.

## Health and safety semantics

Catalog health is an archived Start.me link-check result. It is useful for
routing, but it is not proof that a resource works now:

- `live`: archived 2xx/3xx response
- `restricted`: archived authentication, bot-protection, rate-limit, or
  method-friction response
- `dead`: archived 404/410 response
- `unknown`: timeout, server error, nonstandard failure, or missing result

The index contains public links to sensitive and dual-use resources. Discovery
does not authorize target interaction. Active or sensitive records are labeled
so the agent can require a legitimate purpose, applicable authorization, and
terms/legal review before choosing a network or browser tool.

## Rebuilding the snapshot

Fetch or restore the Start.me page-data JSON. The bundled provenance points to
the exact
[2026-07-21 archived page-data snapshot](https://web.archive.org/web/20260721182214id_/https://start.me/p/L1rEYQ.json?xpv=1)
used for this build. Then run:

```bash
node scripts/build-osint-catalog.mjs --source /path/to/L1rEYQ.json
```

The source must contain exactly 77 URL-list categories and all 1,456 source
placements. The generator refuses partial or structurally changed inputs
instead of silently publishing an incomplete index.
