Skip to content

Data Sources

SentriKat reads public vulnerability data and keeps it up to date on a schedule. This page is about running that: what syncs, when, how to check it, and what to do when something is stale.

The list of sources, who publishes each one and the credit each is owed is at sentrikat.com/third-party-data.

What syncs, and when

Task Frequency What it does
Exploited vulnerabilities Daily Downloads the full catalogue and matches it against your inventory
European database Daily EU exploited vulnerabilities and severity scores
Vendor advisories Daily Package advisories plus the Red Hat, Microsoft and Debian feeds
Exploit probability Daily Probability predictions per CVE
Software identity catalogue Weekly Vendor and product names used for matching
License heartbeat (licensed installations) Every 12h License check and config updates

The license heartbeat is non-blocking. Air-gapped installations run normally without it, because the license is signed offline and valid for its full term.

Checking source health

Settings → Sync & Updates, in the Data Status block. One row per dataset, and each row answers the only two questions worth asking.

Sync & Updates Sync & Updates

A row reads like this:

last: 9/15/2026, 10:29:08 AM · ok · 0 matches in 61s

the piece the question it answers
last: and the time did the job run, and how long ago
ok did it finish without an error
the counts (matches, scored, entries, coverage) did anything actually arrive
History the same two answers for the previous runs
Sync now run it immediately instead of waiting for the schedule

Those first and third rows are not the same question, and this is the part worth reading twice: a row can say ok and still bring nothing new.

%%{init: {"flowchart": {"curve": "basis", "nodeSpacing": 45, "rankSpacing": 65, "wrappingWidth": 420}}}%%
flowchart TB
    riga["<b>last: 9/15/2026, 10:29:08 AM · ok · 0 matches in 61s</b>"]

    riga --> q1{"is <b>last:</b> recent,<br/>and does it say <b>ok</b>?"}
    q1 -->|no| j1["<b>The job is not running</b><br/>or it is failing.<br/>Use Sync now, then History"]
    q1 -->|yes| q2{"are the counts<br/>moving, run after run?"}
    q2 -->|yes| fine["<b>Nothing to do</b>"]
    q2 -->|no| q3{"has it been longer than<br/>you would expect for that dataset?"}
    q3 -->|no| normale["<b>Normal</b><br/>a quiet day upstream<br/>is not a fault"]
    q3 -->|yes| guarda["<b>This is the one to look at.</b><br/>The job runs and finishes, and nothing<br/>new is being written, so the fault sits<br/>between the two."]

    classDef act stroke:#3e6b8a,stroke-width:2.5px
    class guarda act

If a row's last: never moves, click Sync now and look at History. If it still does not move, contact support@sentrikat.com.

The four-state card is a different screen

If you have read about sources being Healthy, Degraded, Down, Not measured or Probe off, that is the operator console we run on our side, watching the upstream feeds for everybody. Your instance does not have those states: it has the rows above.

Air-gapped installations

Air-gapped installations do not reach these feeds. Import the signed offline bundle instead, from Settings → Sync & Updates. The bundle carries the same data and is verified against its signature before anything is written.

See Air-Gapped Installations.