Skip to main content
General Validation is a hosted application at app.generalvalidation.com. Validation itself runs in a dedicated workspace in your own Microsoft Fabric tenant, on your existing Fabric capacity, under the identity of the user who starts the Run. The hosted application holds configuration and Result summaries. Your Tables, compute, credentials, exact values, and mismatch evidence stay in Fabric and OneLake.

Where information is processed

Column names and types are read live from OneLake while you author a Test and are held only in your browser. Schemas are never saved to General Validation. Metadata can still be sensitive. Table names, column names, and filter values are configuration your Organization shares with the service, and General Validation stores them with the Table Pair. Review them as you would any shared configuration, and avoid entering secrets or personal data as filter values. Card and bank details are entered on the billing provider’s hosted pages and never reach General Validation. General Validation is hosted on Microsoft Azure. Stripe processes direct card and ACH payments, and Microsoft processes Marketplace purchases. Results, exact values, and evidence reside on the Fabric capacity you choose for your Environment, in that capacity’s region; General Validation does not move them.

How a result reaches the screen

  1. You click Run validation. General Validation freezes the Table Pair, its Tests, and the instructions prepared for them. Your browser then submits that Run to the validation job in your dedicated workspace with your own Fabric permissions. The submission goes from your browser to Microsoft; General Validation’s services do not call Fabric.
  2. The Spark job runs on your Fabric capacity under your identity, reads the source and target Tables, and writes the Run’s summary, a details file with exact values, and Parquet mismatch evidence into your Results Lakehouse under Files/GeneralValidation/results/ in a folder named for the Run ID. Each Run writes its outputs only to the Results Lakehouse.
  3. When you open the Run or click Refresh Result, your browser reads the summary from OneLake and imports only identifiers, verdicts, counts, reason codes, and the folder reference into General Validation. General Validation checks that the summary belongs to the Run it was prepared for and accepts nothing outside that set. Results reflect what the job in your workspace wrote; they are validated for consistency, not independently attested.
  4. When you click View details, your browser reads the exact values or a sample of mismatched rows directly from OneLake with your own Microsoft identity, holds them in the page while the details are open, and clears them when you click Close details or leave the Run. Viewing details requires OneLake read access to the Results Lakehouse as well as General Validation membership.
The validation job runs only the instructions prepared for that Run. The authoring screens and the API accept no SQL from users, and the job runs no code supplied at run time. Each Run keeps the exact instructions it executed; you can review them in the Run’s folder in your Results Lakehouse and in Fabric’s Spark monitoring. Exact values, rows, credentials, and mismatch evidence never traverse or persist in General Validation services, databases, logs, telemetry, support tooling, or caches. Your browser holds separate Microsoft tokens for General Validation, Fabric, and OneLake. The Fabric and OneLake tokens go only to Microsoft and are never sent to General Validation. An exact value can be sensitive even without a row sample. A minimum or maximum, for example, can be a single record’s value. Exact values follow the same customer-side boundary as mismatched rows.

Identities and permissions

You sign in with a Microsoft work account through Microsoft Entra. General Validation acts only as the signed-in user. Every Fabric and OneLake permission it uses is delegated; it requests no application (app-only) permissions and no Microsoft Graph or Azure Service Management permission. No vendor identity operates in your tenant: General Validation holds no credential there, has no app-only permission, and installs nothing beyond the items setup creates in your dedicated workspace. The enterprise application that appears in your directory after consent is the standard record that carries the delegated permissions; it acts only when one of your users is signed in. Your Microsoft Entra policies, such as Conditional Access and multifactor authentication, apply at sign-in. General Validation has no password of its own, and sign-in state lives in the browser tab where you signed in. The consent prompt requests six delegated Fabric and OneLake permissions plus the General Validation sign-in scope. Each permission and what it is used for is listed under Permissions requested at sign-in. The registration is multitenant with the verified publisher domain generalvalidation.com. If your tenant requires administrator approval, the app shows an approval page with a link your administrator can use; one approval covers every permission. The approval procedure is in Sign-in and team access, and the items setup creates in your tenant are in What General Validation creates and needs in Fabric. These permissions do not grant access to any workspace or Table. Your Fabric roles and tenant policies still apply, and execution runs under interactive user accounts. The Fabric access each activity needs is listed under Fabric access is separate. The General Validation API accepts bearer tokens issued for General Validation only. It accepts no Fabric or OneLake tokens, no customer rows, and no SQL. Machine clients authenticate with Microsoft Entra application roles assigned to a managed identity in your directory and use the same role floors as people. They cannot browse Fabric, set up the Environment, submit Runs to Fabric, or read exact values. See API authentication.

Organization isolation and access

General Validation verifies each token’s issuer, audience, lifetime, and scope, then derives your Organization from the verified directory and your membership. One Organization exists per Microsoft Entra directory. Every Organization’s data is isolated at the database layer, and a request can never select another Organization’s scope. Roles are cumulative. Readers inspect Table Pairs, Tests, Runs, and Results. Contributors also create Table Pairs and Tests and run validation. Owners also set up, reinstall, and remove the Environment and manage members, invitations, and billing. The last active Owner cannot be removed. Invitations and role changes are described in Sign-in and team access. Fabric access is a separate boundary. Product membership grants no Fabric permission, and Fabric permissions grant no product membership. A member who cannot read the Results Lakehouse in OneLake sees verdicts and counts but cannot open details. Fabric workspace administrators share the dedicated workspace with teammates through Fabric. General Validation staff use a separate, restricted identity for support and billing operations that shows account and billing metadata such as the Organization name and subscription status. Staff have no identity in your Fabric tenant and cannot read your rows, exact values, or evidence, which never reach General Validation. Organization Owner membership grants no vendor privilege.

Network and browser

All traffic is outbound HTTPS from your browser to app.generalvalidation.com, api.generalvalidation.com, login.microsoftonline.com, api.fabric.microsoft.com, onelake.dfs.fabric.microsoft.com, and onelake.table.fabric.microsoft.com; the purpose of each is listed under Endpoints the browser connects to. General Validation never initiates a connection into your tenant, and the validation job makes no network call to General Validation, so no vendor IP address needs to be allowed. The app enforces a strict Content Security Policy that limits connections to these endpoints. Billing checkout and subscription management open the billing provider’s hosted pages, and Microsoft Marketplace purchases start on Microsoft’s site. Browser configuration contains only public origins and registration identifiers; no secret is present in the browser. General Validation connects to Microsoft Fabric’s commercial-cloud global endpoints. Contact support@generalvalidation.com before deploying with Private Link, regional-only endpoints, or a sovereign cloud.

Logging and diagnostics

General Validation operational logs contain request IDs, operation states, typed error codes, and a fixed set of diagnostic metadata. They never contain customer rows, exact values, tokens, credentials, filter values, request or response bodies, or provider payloads. A failed submission or Fabric job is recorded as one fixed reason code with no message from Fabric. These logs are retained for 30 days. Calls your browser makes directly to Fabric and OneLake, including Environment setup, Table browsing, Run submission, status polling, summary import, and evidence previews, produce no General Validation log at all. Those requests are visible only in your own Fabric monitoring and Spark session. Browser diagnostics are written to your browser’s developer console as fixed-format records and are not uploaded to General Validation. They exclude tokens, headers, bodies, query strings, identifiers, page text, and error messages. Review a record locally before sharing it. When you contact support@generalvalidation.com, include the request ID shown with the error, the Run ID, the time, and the displayed error code. Review screenshots before sending them, and keep rows, exact values, credentials, and tokens inside your environment. See Troubleshooting and logs.

Retention and removal

You own the Results Lakehouse and control the retention of every Run’s folder. General Validation never deletes those files on its own, and there is no automatic cleanup. If you delete a Run’s folder in Fabric, its verdicts and counts remain in General Validation, and its details can no longer be previewed. On Environment, Remove deletes the dedicated workspace and everything in it, including the validation job, Results, and row evidence, after you confirm. Your Table Pairs, Tests, and Run metadata stay in General Validation, but deleted details and evidence can no longer be previewed. Source and target Tables in other workspaces are unaffected. Deleting a Table Pair archives it; its Runs and Results remain. Editing a Table Pair or Test leaves past Runs intact. Because every permission is delegated, removing General Validation’s enterprise application from Microsoft Entra, or revoking its permissions there, ends the app’s access to Fabric and OneLake for your users. General Validation holds no other credential for your tenant. Revoking consent does not remove the dedicated workspace or the metadata General Validation holds. Subscription cancellation or trial expiry does not delete your Organization, its metadata, or any Fabric resource; existing Runs and Results remain readable. To delete your Organization and the metadata General Validation holds for it, contact support@generalvalidation.com. Billing details entered on the billing provider’s pages are held by that provider under its own retention terms.