A Test Data Management (TDM) system for humans, CI/CD pipelines, and autonomous AI agents.

DataNivra — Realistic test data for humans, CI/CD pipelines, and autonomous AI agents. Production data stays home.

Discover, subset, mask, synthesize, certify and provision test data inside your environment. Use the console—or let authorized developers, CI/CD workflows and autonomous QA agents request repeatable datasets through APIs, TypeScript/Python SDKs and declarative configurations, with policy-governed approvals.

One customer-resident TDM engine: the DataNivra agent discovers, subsets, masks, synthesizes and certifies inside your network, and DataNivra Cloud coordinates with metadata only.

  • Console for TDM teams: available
  • Test Data API, CLI, SDKs and YAML: available
  • Customer-resident processing, outbound-only agent
Production data stays in your environmentInside your environment, the DataNivra agent reads the production database and delivers masked, subsetted or synthetic copies to DEV, QA and UAT environments. Only metadata and evidence cross the boundary to DataNivra Cloud; rows never do.rows & test data — stay insidemetadata & evidence onlyDataNivra Cloudmetadata & evidence onlyYOUR ENVIRONMENT · rows stay heremetadata & evidenceProductionstays hereDataNivra agentmask · subset · certifyDEVsyntheticQAmasked subsetUATmasked subset
Test Data Management (TDM) System

Safe, connected, realistic, ready — and production data stays home

  • Safe data

    Sensitive values are masked or synthesized before any test system sees them.

  • Connected

    Keys and business relationships stay intact across tables and systems.

  • Realistic

    Scenarios and edge cases that behave like production: denials, chargebacks, failures.

  • Ready

    Datasets that passed your configured policy gates, delivered into DEV, QA and CI.

  • Stays home

    Row-level work runs in your network; only metadata and evidence leave it.

What Test Data Management (TDM) is — and what DataNivra already does

Test Data Management prepares the data that development, QA, SIT, UAT, performance and compliance testing run on. DataNivra is a full, human-operated TDM system: data discovery and classification, subsetting with referential integrity, consistent masking, synthetic generation, certification against your policy gates, provisioning, refresh, industry scenarios, audit, security and governance — with every row-level step inside your environment.

  • Available

    Manage test data in the console

    Discovery, classification, subsetting, masking, synthesis, certification, provisioning, refresh, approvals and audit — run by your TDM team.

    Explore TDM Platform
  • Available · works with GitHub Actions

    Automate with the Test Data API

    Approved profiles that developers, CI/CD pipelines and AI agents invoke through REST, the CLI, YAML/JSON manifests and Python/TypeScript helpers.

    Build with Test Data API
  • Synthetic data only

    Explore runnable examples

    Synthetic scenarios across healthcare, banking, insurance, retail, SaaS and manufacturing, with CI recipes and expected output.

    View runnable examples

From production to a policy-certified test dataset

Teams copy production into DEV, QA and UAT because tests need realistic, connected data — and every copy spreads sensitive records into places they were never meant to be. DataNivra replaces those copies with right-sized, masked or synthetic datasets that keep relationships intact, are certified against your configured policy gates before use and refresh on a schedule.

  1. Connect

    Register sources by secret reference. The agent resolves credentials from your own secret store and connects out — never in.

  2. Discover

    Profile schemas and classify sensitive columns locally. Findings are column names, classes and counts — never sample values.

  3. Subset

    Choose business entities; DataNivra follows relationships across tables and systems so no key dangles.

  4. Mask / Synthesize

    Deterministic, keyed masking keeps joins working. Synthesize the records and edge cases production does not have.

  5. Certify

    Gates check policy coverage, masking, referential integrity, schema and provenance. A failed dataset is never provisioned.

  6. Provision

    Deliver to DEV, QA, SIT, UAT and performance targets, refresh on schedule and expire by retention policy.

All six steps run in your environment DataNivra Cloud coordinates: approvals, requests, job state and evidence references

A programmable test data layer on the same engine

In addition to the console, DataNivra can act as Test Data Infrastructure that authorized software consumes automatically. Administrators approve versioned test-data profiles; developers, CI/CD pipelines and AI agents then request repeatable datasets from those profiles through REST, the CLI, YAML/JSON manifests and Python/TypeScript helpers. It is not a replacement for your QA tools — they execute tests; DataNivra prepares and governs the data and the approved targets those tests use. It is not tied to any one CI vendor or runner.

Test Data API overview · Profiles and manifests · CI workload identity · Automatic approval · CI recipes · MCP adapter · Troubleshooting

One engine, two ways in: the architecture

1. How DataNivra protects and processes data

Control plane and customer-resident data planeTwo zones. The top zone is DataNivra Cloud: public website and console, control-plane API, a metadata and audit store, and the policy registry. The bottom zone is your environment: the DataNivra agent, the TDM engine, your source systems accessed read-only, and your test environments. The agent opens outbound-only HTTPS connections to the cloud and sends only control metadata, aggregate metrics, evidence references and secret references. Raw rows and secret values never cross the boundary.DataNivra CloudWebsite & consoleControl-plane APIMetadata & auditstorePolicy registry &approvalsYour environmentDataNivra agentTDM engineSource systems(read-only)DEV / QA / SIT / UAT/ PERF targetsOutbound-only HTTPS, started by the agentMetadata, aggregates, evidence references only. No rawrows, no secrets.
Control plane and customer-resident data plane. Two zones. The top zone is DataNivra Cloud: public website and console, control-plane API, a metadata and audit store, and the policy registry. The bottom zone is your environment: the DataNivra agent, the TDM engine, your source systems accessed read-only, and your test environments. The agent opens outbound-only HTTPS connections to the cloud and sends only control metadata, aggregate metrics, evidence references and secret references. Raw rows and secret values never cross the boundary.
Text description
  1. DataNivra Cloud: Website & console → Control-plane API → Metadata & audit store → Policy registry & approvals

    Connection: Outbound-only HTTPS, started by the agent — Metadata, aggregates, evidence references only. No raw rows, no secrets.

  2. Your environment: DataNivra agent → TDM engine → Source systems (read-only) → DEV / QA / SIT / UAT / PERF targets

2. How humans, CI pipelines and agents consume the same service

How humans, CI pipelines and agents consume the same TDM serviceFive layers. Consumers: the human console, YAML and JSON profiles validated against a schema, the developer CLI and the Python and TypeScript SDKs. Automation: GitHub, GitLab, Jenkins, Azure DevOps, CircleCI and other compatible runners, QA frameworks, and AI coding and QA agents through a local MCP adapter. They all call one versioned REST and OpenAPI control plane, which authenticates, authorizes and isolates tenants, applies conditional approval or human review, idempotency, quotas, cost and audit, and enforces profile versions and certification gates. The control plane sends a signed outbound agent lease to the customer-resident data plane, which takes approved sources through discovery, subsetting, masking, synthesis, validation and certification into an approved target. Authorized tests connect to that target from the customer network, then the lease is released, expires or is cleaned up with evidence. Raw data and target credentials never transit DataNivra Cloud.Human and machine consumersHuman consoleYAML / JSON profiles(schema-validated)Developer CLIPython / TypeScriptSDKAutomationGitHub / GitLab /JenkinsAzure DevOps /CircleCI / BlacksmithQA frameworksAI coding & QA agents(MCP)Versioned REST / OpenAPI · DataNivra CloudAuthN / AuthZ /tenant isolationConditional approval/ human reviewIdempotency / quotas/ cost / auditProfile versions /certification gatesCustomer-resident data plane · Your environmentApproved sourcesDiscover, subset,mask, synthesizeValidate & certifyApproved targetYour test runAuthorized tests reachthe targetRelease / TTL /cleanup / evidenceSame API for every consumerMetadata-only requests (no rows, no credentials)Signed outbound agent leaseThe agent connects out; raw data and target credentialsnever transit SaaS.Tests run in your network
How humans, CI pipelines and agents consume the same TDM service. Five layers. Consumers: the human console, YAML and JSON profiles validated against a schema, the developer CLI and the Python and TypeScript SDKs. Automation: GitHub, GitLab, Jenkins, Azure DevOps, CircleCI and other compatible runners, QA frameworks, and AI coding and QA agents through a local MCP adapter. They all call one versioned REST and OpenAPI control plane, which authenticates, authorizes and isolates tenants, applies conditional approval or human review, idempotency, quotas, cost and audit, and enforces profile versions and certification gates. The control plane sends a signed outbound agent lease to the customer-resident data plane, which takes approved sources through discovery, subsetting, masking, synthesis, validation and certification into an approved target. Authorized tests connect to that target from the customer network, then the lease is released, expires or is cleaned up with evidence. Raw data and target credentials never transit DataNivra Cloud.
Text description
  1. Human and machine consumers: Human console → YAML / JSON profiles (schema-validated) → Developer CLI → Python / TypeScript SDK

    Connection: Same API for every consumer

  2. Automation: GitHub / GitLab / Jenkins → Azure DevOps / CircleCI / Blacksmith → QA frameworks → AI coding & QA agents (MCP)

    Connection: Metadata-only requests (no rows, no credentials)

  3. Versioned REST / OpenAPI (DataNivra Cloud): AuthN / AuthZ / tenant isolation → Conditional approval / human review → Idempotency / quotas / cost / audit → Profile versions / certification gates

    Connection: Signed outbound agent lease — The agent connects out; raw data and target credentials never transit SaaS.

  4. Customer-resident data plane (Your environment): Approved sources → Discover, subset, mask, synthesize → Validate & certify → Approved target

    Connection: Tests run in your network

  5. Your test run: Authorized tests reach the target → Release / TTL / cleanup / evidence

Who uses it, and how

Who uses DataNivra, and how
ConsumerValueDemonstration
Human developersRequest realistic datasets with a YAML/JSON manifest, the CLI, Python or TypeScript.Local setup: request → wait → test → release.
QA engineers / SDETsReproducible, DataNivra-certified datasets for regression, integration, performance, negative and edge-case tests.Pytest, Playwright, JUnit and Cypress examples in the example gallery.
GitHub Actions and GitLab CIAcquire approved test data for each pull or merge request and release it afterwards.Pipeline YAML in the repository; CI workload identity must be enabled first.
Jenkins, Azure DevOps, CircleCI, Blacksmith and other compatible runnersThe same standard API and CLI through thin, illustrative recipes — no vendor-specific engine.Generic runner recipe plus illustrative provider examples.
Autonomous QA agentsDiscover approved profiles, request data, poll and release through bounded tools.Hosted MCP endpoint and local adapter (Preview) with permission-denied, needs-approval and approved flows.
AI coding agentsObtain a reproducible, approved test environment to validate generated code.An agent requests a pre-approved regression profile pinned by version and checksum.
Enterprise data / TDM teamsKeep managing sources, classification, policies, subsetting, masking, certification, refresh, approvals and audit in the console.The existing TDM console walkthrough and synthetic playground.
Healthcare, banking, insurance, retail, SaaS, manufacturing and other sectorsDomain policy constraints and synthetic scenarios for automated testing.Fully synthetic industry examples; no compliance assurances are implied.

Pre-approved and bounded: conditional automatic approval

People define and approve policies in advance. A qualifying workload identity — for example the customer’s trusted GitHub Actions workload identity for one repository — may then invoke the approved healthcare-integration profile only within a bounded envelope:

  • at most 500 patients and 2,000 appointments per request
  • masking policy version 3, pinned by checksum in the approved profile
  • only the approved QA target (no target can be named in a request)
  • a lease of at most two hours (lease profile over the certified version)
  1. AUTO_APPROVED

    Inside the envelope, the identity is named by the profile, quotas are not exceeded, and both the operator and the tenant enabled automatic approval.

    1,500 synthetic appointments, or a 1-hour lease of the certified version → provisioned, recorded as approved by the profile’s approver.

  2. PENDING_HUMAN_APPROVAL

    Inside the profile’s own bounds but outside the automation envelope — or automatic approval is switched off.

    A 3-hour lease when the envelope allows 2 hours → waits for a person who is not the requester.

  3. DENIED

    Outside the profile, an identity the profile does not name, a revoked or unpinned profile version, or a quota is exceeded.

    2,500 appointments (above the profile maximum), another repository’s identity, or any attempt to name a target → refused with reason codes; nothing is created.

Opt-in, off by default. Automatic approval stays off until your tenant administrator turns it on; until then every workload request waits for a person. Preapproval is not carte blanche: profiles, sources, target references, masking policies, quotas, identity, revocation and certification are enforced by the server and by your agent, and no CI runner or AI model can approve its own request or widen its envelope.

Profiles and requests in YAML, JSON, TypeScript, Python, CLI, CI and MCP

A TestDataProfile is the reviewed, privileged definition; a TestDataRequest is the low-privilege invocation that pins one approved version. Every example below uses the real field names, routes and flags.

One pull request, one isolated test dataset

One pull request, one isolated test datasetA pull request starts a pipeline on a runner in the customer network. The job authenticates with its own short-lived identity, pins an approved profile version, and the control plane decides: approved, waiting for a person, or denied. The customer-resident agent hydrates an isolated copy of a certified version into an approved target, the tests run against it, and the job always releases it; a time-to-live cleans up after a runner that died. Value-free evidence records the run.CI pipelinePull requestAuthenticatePin profileversionRun testsRelease (always)DataNivra CloudDecision: approve /wait / denyLease with TTLEvidence & auditYour environmentIsolated copy of acertified versionApproved targetTeardown confirmedMetadata-only API callsSigned outbound agent lease
One pull request, one isolated test dataset. A pull request starts a pipeline on a runner in the customer network. The job authenticates with its own short-lived identity, pins an approved profile version, and the control plane decides: approved, waiting for a person, or denied. The customer-resident agent hydrates an isolated copy of a certified version into an approved target, the tests run against it, and the job always releases it; a time-to-live cleans up after a runner that died. Value-free evidence records the run.
Text description
  1. CI pipeline: Pull request → Authenticate → Pin profile version → Run tests → Release (always)

    Connection: Metadata-only API calls

  2. DataNivra Cloud: Decision: approve / wait / deny → Lease with TTL → Evidence & audit

    Connection: Signed outbound agent lease

  3. Your environment: Isolated copy of a certified version → Approved target → Teardown confirmed
  1. Pull request. A pipeline starts on the customer’s runner.
  2. Authenticate. The job exchanges its own short-lived CI OIDC token for a workload session (or uses a user session).
  3. Pin the profile. The manifest names an approved profile version and its checksum.
  4. Decide. The control plane checks bounds, identity, quotas and switches: approved, waiting for a person, or denied.
  5. Lease or build. The customer-resident agent hydrates an isolated copy of a certified version, or builds and certifies a new dataset.
  6. Run tests. Tests reach the approved target from the customer’s network; credentials never pass through DataNivra.
  7. Release. Always run on success, failure or cancel; TTL expiry cleans up a runner that died.
  8. Evidence. Value-free lease evidence and audit events record what happened.

Built for CI/CD: a policy-certified dataset per build

  • Per-build datasets. Each build can get its own certified, masked dataset in an ephemeral environment; the data is removed when the build revokes it, or at the latest when the environment's lease expires.
  • Retry-safe. Idempotency keys tie a request to the pipeline run, so a retried job returns the same dataset.
  • Fails closed. The pipeline only continues when the dataset is certified; failures block provisioning.
  • Rows never pass through CI or DataNivra Cloud. CI orchestrates through the API; the agent builds and provisions inside your network.

TDM in CI/CD · CLI reference · REST API and SDKs

# A pipeline step on a runner inside your network
datanivra datasets request create ci/dataset-request.json \
  --idempotency-key "ci-$BUILD_ID" -o json
# exit 0 only if the job succeeded; then check the certification report
datanivra jobs wait "$JOB_ID" --timeout 1800
datanivra certify reports --dataset-id "$DATASET_ID" -o json
# …run your tests, then revoke: the agent deprovisions the data

Compatible CI/CD platforms and runners

Every adapter calls the same API and CLI. Broad compatibility still requires customer-approved identities, network connectivity from the runner to the approved target and permissions.

CI/CD integrations and their status
Runner or platformStatusRepository path
GitHub ActionsExamples in the repository; workload identity requires enablementexamples/integrations/github-actions
GitLab CIExamples in the repository; workload identity requires enablementexamples/integrations/gitlab-ci
JenkinsCompatible via the standard API/CLI — illustrative exampleexamples/integrations/jenkins
Azure DevOpsCompatible via the standard API/CLI — illustrative exampleexamples/integrations/azure-devops
CircleCICompatible via the standard API/CLI — illustrative exampleexamples/integrations/circleci
Generic shell (curl / CLI)Compatible via the standard API/CLI — illustrative exampleexamples/integrations/generic-shell
BlacksmithGitHub Actions-compatible runner example, illustrative; no partnershipexamples/integrations/blacksmith
Self-hosted runners and ephemeral KubernetesIllustrative examples; the runner must reach the approved targetexamples/integrations/self-hosted-runner

Runnable synthetic examples by sector

  • Healthcare

    Patients and appointments with relationships preserved; masking policy pinned; synthetic values only.

  • Banking

    Insufficient funds, duplicate transactions and chargebacks with account isolation.

  • Insurance

    Policies, claims, payouts and fraud edge cases for regression suites.

  • Retail & e-commerce

    Orders, payments, refunds and inventory with relationship closure.

  • SaaS

    Tenant-isolation regression data for multi-tenant applications.

  • Manufacturing

    Bills of materials, work orders and defect traceability.

  • Database migrations

    Schema evolution tests against an isolated, certified copy per pull request.

View runnable examples — synthetic data only, with expected output and cleanup.

Rows stay here. Metadata and evidence go there.

Your environment

Stays in your environment

  • Every row and cell value, masked or not, and every sample or query result.
  • Credentials and masking keys — DataNivra holds only secret references.
  • The agent and engine that discover, subset, mask, synthesize, certify and provision.
  • The datasets themselves, published to your own targets.

DataNivra Cloud — metadata & evidence only

Sent to DataNivra Cloud

  • Metadata: schema, table and column names, types, job states and error codes.
  • Aggregates: row counts, ratios, sizes and durations (small counts rounded up).
  • Evidence: checksums, certification gate outcomes, policy and engine versions.
  • Never rows, samples or secret values — checked on both sides of the connection.

The agent connects out to us over HTTPS; we never connect in. Verify it yourself with canary values and your own proxy.

Security you can verify

The strongest control is the one that makes a leak structurally impossible. Every field that crosses the boundary is classified; messages carrying anything else are rejected on both sides. Source credentials and masking keys stay in your secret store, privileged actions land in a hash-chained audit trail, and tenants are isolated on every request.

Security model · Trust and verification · Architecture

Two ways to work, kept apart

Start in the synthetic playground with no data at all. Move to customer-resident workflows on your own systems when you are ready — the same steps, run inside your network.

No data needed · no account

Synthetic playground

Run the whole workflow in your browser on invented records: connect a synthetic source, discover sensitive fields, subset, mask, certify and provision. Preview any industry pack and download its synthetic bundle.

  • Synthetic data only — nothing of yours is involved.
  • Runnable scenario pages with downloads and expected output.

Try synthetic playgroundRunnable scenarios

Your own data · customer-resident

Customer-resident workflows

Install the agent in your network and connect your own sources read-only. Discovery, subsetting, masking and certification run there; DataNivra Cloud receives metadata and evidence, never rows.

  • Needs an account and the agent in your environment.
  • Outbound-only: nothing connects into your network.

Start freeInstall the agent

Industry packs for the data you actually test with

Versioned detection rules, entity templates, relationship templates and scenarios for the records each sector tests with. Every pack runs on the same customer-resident engine.

Two people walking along a wet street under a yellow and a blue-and-white umbrella

Insurance

Policyholders, policies, coverages, claims and payments — with every key and every interval intact.

See the pack for Insurance

Education

Synthetic student, enrolment, transcript, LMS and student-finance test data with linked masking.

See the pack for Education

Compare the industry packs

One customer across four systems, one masking domainA customer identity is stored as customer_id in a CRM database, holder_ref in billing, party_key in claims and customer_key in a data lake. Approved identity links put the CRM, billing and claims columns in the PERSON_ID masking domain, so the customer is masked to the same pseudonym in each and joins keep working. The data-lake link is only a suggestion and does nothing until a person approves it.CustomerPERSON_IDone pseudonymCRM · PostgreSQLcustomer.customer_idBilling · SQL Serveraccount.holder_refClaims · Oracleparty.party_keyLake · Snowflakec360.customer_keyapproved linksuggested — inactive until approved

One customer, many systems, one consistent identity

The same customer is customer_id in one system and holder_ref in another. An identity graph links those columns to a shared masking domain, so a person masks to the same pseudonym everywhere and cross-system joins survive subsetting and masking.

  • Links are declared by people, suggested from metadata (names, types and keys — never values) or taken from industry-pack templates.
  • Only approved links take effect; conflicting graphs fail closed.
  • An identity-consistency gate checks the joins before certification.

Cross-system deterministic masking · Cross-system subsetting

Test data certified against your policy gates, not just masked

Masked is not the same as certified. Before anything is provisioned, automated gates check policy coverage, masking, referential integrity, cross-system identity, schema and provenance. The agent writes an evidence bundle next to every published version: sources and their read-only status, policy and masking-domain versions, every gate with its measurement, checksums, versions and approvals — and no row values.

  • Failed or revoked datasets are never provisioned.
  • Evidence stays in your environment; DataNivra Cloud keeps a reference.
  • Optionally signed with a key you hold.
  • Certification means DataNivra-certified against configured policy gates — not a regulatory or third-party certification.

How dataset certification works

Evidence bundle · synthetic example

qa-claims-regression · version 12

CERTIFIED
Source
PostgreSQL · read-only
Policy
claims-masking v7 · two approvers
Masking domains
PERSON_ID v1 · POLICY_ID v1
Target
QA · expires by retention
  • Policy coverageevery classified column has a rule
  • Masking completionall rules applied
  • Referential integrity0 orphaned keys
  • Cross-system identityapproved links join
  • Source read-onlyverified
  • Egress guardno prohibited fields
  • Checksumsmanifest and files match

bundle sha256 7d1e…c94a · no row values

Synthetic example. Real bundles are written by the agent inside your environment; DataNivra Cloud receives only a reference and checksum.

What is available today

What is available today
CapabilityStatusDetails
TDM console, agent, connectors and industry packsAvailableThe existing TDM product: discovery, subsetting, masking, synthesis, certification and provisioning.
Test-data profiles, plan, request, wait and release (REST, CLI)AvailableDeployed on the hosted service (api.datanivra.com).
YAML/JSON manifests (TestDataProfile, TestDataRequest)In repositorySafe parser, strict validation and canonical checksums in the CLI and both SDKs.
Python and TypeScript SDK helpersPublishedOn PyPI (datanivra-sdk, datanivra-cli, datanivra-mcp) and npm (@datanivra/sdk), version 0.1.0, under the DataNivra proprietary licence.
CI workload identity (GitHub Actions, GitLab CI OIDC)AvailableEnabled on the hosted service and tested there with GitHub Actions. GitLab CI is implemented and tested, but not yet tested on the hosted service.
Automatic approval inside a human-approved envelopeOpt-inOff until your tenant administrator turns it on; until then a person approves every workload request.
MCP adapter for AI agentsPreviewHosted endpoint at https://api.datanivra.com/mcp and a local stdio adapter (datanivra-mcp); both call the same API with your own session.

Questions and limitations

Is DataNivra still a Test Data Management system?
Yes. The console, agent, connectors, policies, certification and industry packs stay the product. The Test Data API is a second way to use the same customer-resident engine.
Does DataNivra run our tests?
No. Your QA tools and runners execute tests. DataNivra prepares and governs the data and the approved targets those tests use.
Can a pipeline or AI agent give itself access?
No. People define and approve profiles and envelopes with separation of duties; a request can only choose within an approved profile, and the server enforces it.
Do production rows or database credentials reach CI logs or DataNivra Cloud?
No. Row-level work runs in your network, targets are secret references resolved by your agent, and API responses carry metadata only.
Can any hosted runner reach our databases?
Not by default. Tests must run on a runner that can reach the approved target, such as a self-hosted or network-connected runner.
Are the SDKs on npm and PyPI?
Yes. pip install datanivra-sdk (and datanivra-cli, datanivra-mcp) from PyPI, and npm install @datanivra/sdk from npm, under the DataNivra proprietary licence.

Learn at your own pace

Pricing you can read before you talk to anyone

  • Free Trial$0 for 30 days
  • TeamStarting at $499/month
  • BusinessStarting at $1,499/month
  • EnterpriseCustom quote
  • Private Cloud / Self-HostedCustom quote

Compare plans and limits

Start without talking to anyone

  1. Try the synthetic playground — no account, no data of yours.
  2. Create an account and verify your email — your organization and tenant are created automatically.
  3. Install the agent in your network and connect a supported source when you are ready.
  4. Upgrade from the console whenever it is useful — no sales call needed.

Prefer a conversation? Request a demo or contact sales — optional, never required.