Provisa / New or changing sources

Now there's a new source to bring in, or one you depend on just changed, and everything built on it has to be redone.

A new source is registered once and joined to yours with no ETL and no pipeline. Public data is the common case, such as NOAA weather by county, CISA's exploited-vulnerability catalog by CVE, Wikidata's ownership graph by LEI, or FDA recalls by NDC. When a source moves or its schema changes, you remap it once in the model, and every API, dashboard and agent keeps working.

Bring in a new source and join it to yours, in five minutes

1. Install and start Provisa

Download the installer for your machine from the download section and run it. The first launch finishes a one-time setup with no internet needed. Then start the services and open the UI.

provisa start   # every service, on your machine
provisa open    # the UI, in your browser

2. Connect the sources

In the UI, open Sources and add your database and the new source; here, a public one (a REST API, a SPARQL endpoint or a published file). Provisa reads each source's catalog; pick the tables to register. Nothing is copied. Queries go to the data where it lives.

3. Relate the new source to your data

Relate your table to the public one on the shared key: county, CVE, LEI or NDC. The relationship is a governed join like any other.

4. Query across both

Use any interface. In SQL:

SELECT a.hostname, k.cve_id, k.due_date
FROM assets a
JOIN installed_software s ON s.asset_id = a.id
JOIN known_exploited k ON k.cve_id = s.cve_id
WHERE k.due_date < CURRENT_DATE;

5. When a source changes, remap it once

When a source moves, point its registration at the new location. When a column is renamed, map the new column to the name the model already publishes. Queries, APIs, dashboards and agents read the model's names, so none of them changes.

6. Or start from a demo

The new and changing source demos come ready to run, each with a guided tour.

What stays true

  • A new source is registered once and governed like your own data.
  • A source that moves or changes is remapped in one place; what is built on the model keeps its names.
  • Freshness is declared on the source, so a slow public API is cached or replicated for you.
  • Results that join a new source carry the same row rules and masks as any other.