General
Schema drift is when the structure of a data document changes from what was expected. A trading partner adds a field. A vendor renames a key. A system starts sending a different data type. Any of these can break downstream integrations. DriftOps detects, records, and classifies these changes so your team can act on them before they cause failures.
Format is detected from file content, not just the extension. EDI files are parsed at the segment and element level before comparison.
DriftOps stores the schema structure extracted from your files, not the raw file data. The diff report is stored as part of the drift event record. Your original file content is not retained after processing. If you have stricter data residency requirements, contact us to discuss enterprise options.
Yes. All data, including contracts, drift events, monitors, cloud connections, and members, is scoped to your organization. No data is shared between organizations. A user can belong to multiple organizations with independent roles in each.
Contracts
Yes. Upload a JSON file, paste JSON directly, or upload an EDI or XML document when creating a contract. DriftOps extracts the schema automatically. If you have a representative document sample, upload that and DriftOps derives the field structure from it.
Existing drift events are not affected. They retain the schema snapshot from when they were created. New comparisons use the updated contract schema going forward.
Yes. Open the contract, go to History, and select the version to revert to. A revert creates a new version entry rather than deleting the current one, so the full history is preserved.
Comparisons
Each time DriftOps runs a diff between a file and a contract baseline, that is one comparison, whether triggered manually in the Comparator, via a monitor webhook, or by a cloud connection poll. A comparison that finds no drift still counts.
Limits reset at the start of each calendar month.
Every field-level change across four categories: added, removed, changed, and renamed. Each item includes the field path in dot-notation, the old value or type, and the new value or type. EDI changes include segment and element definitions for context.
Severity is calculated automatically at comparison time and does not change.
- trivial, only fields were added. Backward compatible. No downstream system should break.
- minor, renames or value changes present. No fields removed. Should be reviewed but likely still functional.
- major, fields were removed or types changed. Breaking. Systems depending on those fields will likely fail. Review these first.
After the initial diff, DriftOps runs a fuzzy matching pass comparing removed fields against added fields using name similarity, value type, and structural position. High-confidence matches are reported as renames and do not escalate severity to major. Low-confidence matches are left as separate removals and additions to avoid false positives.
Monitors and integrations
Both link a file source to a contract and create drift events when differences are found. The direction is different.
Your pipeline or trading partner POSTs files to a webhook URL. DriftOps receives and processes them immediately. Use when your sender controls the timing.
DriftOps polls an S3 bucket, Azure container, GCP bucket, SFTP, or FTP server on a schedule. Use when you have no control over the sender.
The endpoint accepts unauthenticated requests. Security is provided by the token being unique and cryptographically random (32 bytes, URL-safe encoded). Treat the URL as a secret. If it is exposed, disable the monitor immediately and create a new one to rotate the token.
Open the monitor and click Regenerate Token. The old token is immediately invalidated. Update any systems sending to the old token before re-enabling.
critical health. What does that mean?Consecutive polling attempts have failed. Check the last error on the connection detail page. Common causes: expired credentials, bucket permissions changed, wrong region, or a network block. The connection resumes automatically once the underlying issue is resolved.
Yes. Create multiple monitors or cloud connections and link them all to the same contract. Each generates its own drift events independently.
No. DriftOps only reads files. It requires s3:ListBucket and s3:GetObject permissions (or the equivalent for Azure and GCP). No write or delete permissions are needed or used.
Billing
Slack notifications are available on all plans including free. Configure them in Settings > Notifications. You can also set a per-monitor Slack webhook to route alerts to a different channel for specific sources.
New comparisons are blocked until the next billing cycle. Existing drift events, contracts, and monitors are not affected. The limit resets at the start of each calendar month.
Yes. Downgrade from Settings > Billing. If the downgrade reduces your contract limit below your current contract count, you will need to delete contracts first.
The free tier is permanently free with no time limit. It includes 3 contracts and 100 comparisons per month, enough to evaluate DriftOps on a real integration.
Email sales@driftops.io.