Provisa / Sources
Seventy-six connectors, and one of them finds the rest of your data.
Seventy-five of them connect to a system you already know you have. The seventy-sixth is a crawler, and it tends to find the half of your estate nobody put on the inventory.
Enterprise
- SharePoint
- Salesforce
- ServiceNow
- Jira
- QuickBooks Online
- Cloud Inventory
- Google Workspace
- Microsoft 365
- GitHub
- GitLab
- Shopify
- Stripe
- Splunk
Subscriptions
- AskAmerica
- Kaggle
RDBMS
- PostgreSQL
- RDS
- Aurora
- Cloud SQL
- AlloyDB
- Azure
- Supabase
- Neon
- MySQL
- SingleStore
- MariaDB
- SQL Server
- Oracle
- DuckDB
- Exasol
- SAP HANA
- CockroachDB
- YugabyteDB
- Greenplum
- TiDB
- Firebird
- HiveServer2
- JDBC
Cloud DW
- Snowflake
- BigQuery
- Amazon Athena
- Databricks
- Redshift
- Microsoft Fabric Warehouse
- Azure Synapse SQL
- MotherDuck
Analytics
- ClickHouse
- Elasticsearch
- Apache Pinot
- Apache Druid
- Trino / Presto
Data Lake
- Delta Lake
- Apache Iceberg
- Hive Metastore
- Hive on S3
NoSQL
- MongoDB
- Azure Cosmos DB
- Qdrant
- Cassandra
- Redis
Code Resolvers
- Node.js
- Python
Graph
- Neo4j
- SPARQL
File
- SQLite
- CSV File
- Parquet File
- File Crawler
- CSV
- TSV
- JSON
- YAML
- Excel (XLS, XLSX)
- Parquet
- Arrow
- HTML
- Markdown
- DOCX
- PPTX
- Log files
- Wikipedia
Other
- Google Sheets
- Prometheus
- Airport
API
- REST API
- GraphQL
- gRPC
Streaming
- Kafka
- WebSocket Feed
- RSS / Atom Feed
- Ingest
Data Quality
- Soda
- Great Expectations
- Data Profiler
The file crawler
It is one source type, and the only one where you register a location rather than a system. Point it at a folder, a bucket, an FTP or SFTP host, or a SharePoint site and it walks the tree recursively, looking for database files and for files with tabular data embedded in them. What it finds gets cataloged as an available table; registering it is still your call, the same as for any other source.
A CSV or Parquet file is a table. In an Excel workbook it looks through each sheet, finds the regions that look like tables, and extracts each one. In HTML, Markdown, Word and PowerPoint documents it extracts the tables the document marks as tables. In documents with links it follows them too, from each start URL down to a configurable depth, so it works well over websites and documentation portals.
Where it crawls
- Local & network folders
- S3
- SharePoint
- HDFS
- HTTP(S)
- FTP · FTPS
- SFTP
- Iceberg
What it reads directly
- CSV
- TSV
.gzof either- JSON
- Parquet
- Arrow
- YAML
- SQLite ·
.db
What it converts to tables
- Excel ·
.xlsx·.xls - Word ·
.docx - PowerPoint ·
.pptx - HTML
- XML
- Markdown
The data that runs a department often sits in a share drive and has never been near a governance program. Finding it used to be a project. Once found, what you register lands under the same row-level security, masking and relationship rules as the databases.
Systems that aren't databases
Connect SharePoint and its lists enumerate as schemas you can query. Run a Splunk search and the results come back as a table you can JOIN to your business data. A live Google Sheet is a table, and so is a REST, GraphQL, gRPC, WebSocket or RSS endpoint, registered as a governed table that cross-source joins reach like any other.
Shaping takes a declaration instead of a program
Non-relational data is where pipelines are born: the response is nested, the document has an array inside it, the location is a pile of files, so somebody writes code to flatten it and a procedure enters the path permanently. The variety is smaller than it looks. There's a modest set of structure types, each with a short declarative rule for projecting it into rows and columns: the path to the collection and the fields to lift from it, a sampled document schema with the steward's explicit types overriding what was inferred, or a crawled location that catalogs what it finds. Once it's flat, everything after it is SQL, which a machine can read back.
Why that removes the downstream painGraph and RDF are first-class
Neo4j and SPARQL sources take part in the same model, the same relationship registry and the same access-control layers as the relational ones. So a Cypher traversal across a relational source and a graph source is one legal query, not two queries and a join in application code.
The 76
Every registrable source type, grouped by what it is. Each one registers the same way and lands under the same governance; the per-type connection fields are in the source reference.
Enterprise SaaS
- Salesforce
- ServiceNow
- Jira
- Stripe
- GitHub
- GitLab
- SharePoint
- Splunk
Relational
- PostgreSQL
- MySQL
- MariaDB
- SingleStore
- SQL Server
- Oracle
- Firebird
- SQLite
- CockroachDB
- YugabyteDB
- Greenplum
- TiDB
- SAP HANA
Warehouses & lakehouses
- Snowflake
- BigQuery
- Databricks
- Microsoft Fabric
- Synapse
- Redshift
- Trino
- Delta Lake
- Iceberg
- Hive
- Hive on S3
- HiveServer2
Analytics & OLAP
- ClickHouse
- DuckDB
- Elasticsearch
- Apache Pinot
- Apache Druid
- Exasol
Graph & semantic
- Neo4j
- SPARQL / RDF
NoSQL, cache & streaming
- MongoDB
- Cassandra
- Redis
- Kafka
- WebSocket
- RSS
Files & documents
- CSV
- Parquet
- Google Sheets
- File crawler
- Kaggle datasets
APIs & remote schemas
- REST / OpenAPI
- GraphQL remote
- gRPC remote
- Airport (DuckDB)
Observability & other
- Prometheus
- Splunk
- Soda
- Great Expectations
- Ingest
- Data profiler
- Cloud inventory (Azure · AWS · GCP)
- Government data
Observability as data
Traces, metrics, and logs are collected via OpenTelemetry, compacted into Iceberg, and registered as queryable tables, so the audit trail is a source like any other, joinable to the business data it describes.