Cygenix maps your schema with AI, forecasts what would fail before anything runs, moves the server-level objects most tools leave behind, and records every gated action in a hash-chained audit trail. The console runs in your browser; the database connections are opened by Cygenix, so your rows pass through our service during a run and are not stored there.
Most tools do the first one. The other three are where migrations go wrong, and they are the reason this one exists.
AI column mapping across engines, with transforms, fixed values and type coercion. Views are first-class sources. What the preview shows is what the runner executes — the same transform engine draws both.
Preflight samples your real data through your real mapping and forecasts the rows that would be rejected — truncation, type failures, null violations — while it is still cheap to fix them.
Logins with their hashed passwords and SIDs, Agent jobs, SSIS projects, linked servers. Cygenix reads your target's engine edition first and tells you what will not fit before it tries.
Ten roles with a real permission matrix, separation of duties, change guardrails enforced on the server, and a hash-chained audit trail that reports a break rather than hiding it.
The mapper is a canvas: source columns on the left, target columns on the right, and you join them by dragging one onto the other. The model proposes the joins first and shows the confidence it actually had — not a number invented to look reassuring — so the work is checking suggestions rather than typing four hundred column names.
| Source | Target | Transform | Confidence |
|---|---|---|---|
| customer_id | CustomerID | — | High |
| full_name | DisplayName | TRIM | High |
| notes | Notes | CAST → NVARCHAR(100) | Truncates |
| region_code | Territory | Fixed: N'EMEA' | Fixed |
| created_ts | CreatedOn | CAST → DATETIME2(3) | High |
| legacy_ref | — unmapped — | — | Review |
Preflight pulls a sample of your real rows, pushes them through the mapping you have actually built, and tells you what the target would reject. Validation suites then run any SQL you like, against any table, and report the rows that failed.
| Check | Result | Rows |
|---|---|---|
| CheckRowCounts | Pass | — |
| CheckOrphanRows | Fail | 14 |
| CheckDuplicateKeys | Fail | 3 |
| CheckNullConstraints | Pass | — |
| CheckTotalsBalance | Pending | — |
You inherit a database with four hundred tables, no documentation and the person who built it long gone. Schema Explorer is where you find out what you are actually dealing with — the same estate, drawn nine different ways, from one picker.
Pick a table and the diagram narrows to it — one hop, two hops, or the whole estate. Ask for the shortest join path between two tables and it draws that instead.
The Globe reads geography out of the database itself — country columns, region columns, postal codes, foreign keys into your own country table — and stands a bar off the sphere for each region it finds. Height is the volume, log-scaled; colour is the business area contributing most of it.
Schema and data are half a migration. Logins, Agent jobs, SSIS projects, linked servers and credentials live at the server level, and almost everything else either ignores them or hands you a script to run by hand.
| Object class | Verdict | Equivalent |
|---|---|---|
| Server logins | Needs equivalent | Contained database users |
| Server roles | Needs equivalent | Database roles |
| SQL Agent jobs | Needs equivalent | Elastic Jobs, or Automation |
| SSIS projects | Needs equivalent | Azure-SSIS IR, or Data Factory |
| Linked servers | Needs equivalent | External data sources |
| Credentials, proxies | Not possible | — |
A confirmation dialog is not a control if skipping the dialog skips the control. Everything here is decided on the server, and a refusal is recorded as carefully as a permission.
| DELETE FROM dbo.Orders | no WHERE | Approve |
Group jobs into a package, save it, load it back and run it. Or hand it to the Task Agent and walk away — it runs on a cadence, after another job, or at a time you pick, and emails you when it is done.
| Group | Job | State |
|---|---|---|
| 1 | dbo.Product | Complete |
| 1 | dbo.Customer | Complete |
| 2 | dbo.CustomerAddress | Complete |
| 3 | dbo.Orders | Running · 62% |
| 4 | dbo.OrderLine | Queued |
A big-bang cutover is a decision most teams would rather not make. Data Stream is continuous capture and delivery — capture from the source, a stream store in the middle, delivery to the target, with lag, backlog and dead letters visible per stream. In preview, running on sample data while the live connectors are finished.
Per-object capture with a checkpoint and a key column, started and paused independently.
A retained middle with per-topic depth, so a slow target does not lose events.
Lag, throughput, dead letters and alerts per stream — with a replay for anything held back.
Migrating a database means reading it, so your rows pass through Cygenix on the way to your target. What follows is where they go, what is kept afterwards, and the two places a literal value from your data can come to rest. No certification stands behind any of it. What stands behind it is a mechanism you can check.
Four classes, because they have four different answers. The distinction that matters is between data we move and data we keep: almost everything we keep is derived from your data rather than taken from it.
| Class | What it is | Where it lives | Control |
|---|---|---|---|
| In flight | Rows read from your source, transformed, and written to your target | Memory of the function running the batch | Never written to disk by us, and gone when the batch ends |
| Derived | Schema metadata, column mappings, row counts, confidence scores, conversion reports, job history | Azure Cosmos DB, UK South | Aggregates and structure. The Globe view is the rule in miniature — it asks for a GROUP BY … COUNT and stores the count |
| Incidental | Values that reach a driver error message, and the examples a preflight keeps | Your browser; error text also reaches our operational logs | The one place literals land. Named in full below |
| Retained by design | Nothing today | — | Data Stream is the module that would hold rows. It runs on seeded demonstration data and has no connection to a real database or broker |
The product reads real values in five places. This is what each one does with them afterwards, including the one that keeps them.
The rule underneath all of it: nothing finer than an aggregate reaches storage unless a person asked for it — and the one place where a person did is the first item on this list.
The honest summary is that credential handling is the weakest part of this list, and the strongest thing we can offer is a way to avoid having a credential at all.
sslmode
if that matters — the product will not quietly upgrade it for you.The governance controls above this section are worth one more paragraph here, because the question a reviewer asks is not what they do but where they run. They run on the server. The role matrix, the environment classification, the guardrails and the two-person rule are evaluated before the statement executes, so a modified client, a direct call to the API or a replayed request meets the same refusal as the button would have. An approval is bound to a hash of the exact statement it approved: it cannot be replayed, pointed at another target, or survive an edit to the SQL. The governance section has the substance.
Most audit trails answer "has this been tampered with?" with yes or no. This one re-walks the chain and names the entry where a break starts, which is the difference between knowing something is wrong and knowing where to look.
| 1204 | sql.write | dbo.Orders · PROD | allowed |
| 1203 | sql.write | dbo.Orders · PROD | denied |
The block that makes the rest of this worth reading. Here is the state of each control area, including the ones that are not finished.
| Control area | State | What that means |
|---|---|---|
| Identity | In place | Microsoft Entra External ID. Tokens verified server-side against Microsoft's published keys on every request |
| Authorisation | In place | Ten roles, a permission matrix as data, deny by default, evaluated on the server |
| Audit trail | In place | Hash-chained, append-only, with the verification endpoint above and the limit named beside it |
| Encryption at rest | In place | Azure-managed keys on Cosmos DB and Blob Storage. Customer-managed keys are not offered — there is no key vault |
| Transport to Cygenix | In place | HTTPS only, HSTS, and the usual content-type, framing and referrer headers |
| Transport to your databases | Your setting | Governed by the connection string you supply, including whether certificates are validated. See Credentials |
| Credential storage | Known weakness | Plain text in browser session storage for interactive work; server-side for scheduled jobs. Entra avoids it entirely |
| Log redaction | Not built | A driver error can quote the value that caused it, and nothing strips it today |
| Penetration test | Not done | No third party has tested this system |
| Certification | None held | No ISO 27001, no SOC 2, no Cyber Essentials — see below |
Cygenix holds no security certification. Not ISO 27001, not SOC 2, not Cyber Essentials, and none is in progress with a date we could quote you. Saying otherwise, or implying it with a badge, would be the first thing in this section you could not check.
What exists instead is available now: the architecture written down as built, an internal audit of exactly the questions on this page, a security questionnaire completed honestly rather than aspirationally, and a call with the engineer who wrote the code — which is the same person either way.
A certificate is a statement about process, and it will come. Everything above it is a mechanism, and you can check those today. Reporting a vulnerability · security@cygenix.co.uk
Two screens that most migration tools leave to a spreadsheet. The Configurator turns scope into days and a delivery date; the Project Plan turns that estimate into a grid you can hand to a client.
Seven standard use cases, your own module list, a complexity weight on each, and project variables on top. Every macro from the spreadsheet this replaces is a formula printed on the page — so when a client asks why the number is what it is, there is an answer.
Phases down the side, a month-by-week timeline across the top. Choose a tool and drag across the weeks to lay in work or stand up a milestone. It is not a Gantt chart pretending to be a project manager — it is a grid, and the grid is the report.
Build interactive dashboards over the source or target with drag-and-drop charts, generate an executive summary in plain English, and ask questions of the schema without writing SQL first.
Cygenix keeps one capability manifest that the product and this page both answer to, so every engine named here is one the code connects to today. The full matrix — every source, target, combination and server-object class — lives in the documentation.
| Source | Status | Notes |
|---|---|---|
| SQL Server | Available | 2012 and later, on-premises or hosted. Tables and views. |
| Azure SQL Database | Available | Entra or SQL authentication. |
| Azure SQL Managed Instance | Beta | Including the server-level objects a Managed Instance can hold. |
| PostgreSQL | Available | As a source and as a target. |
| Files | Available | CSV, Excel and delimited text, with schema inference. |
| Azure Blob Storage | Available | Your own container, reached with a SAS you supply. |
Cygenix is in private preview. Get in touch to discuss pricing, scope a migration, or ask for a demonstration.
EmailThe Pro plan and the Consultant Led hourly rate are published on the pricing page. Business and Enterprise are scoped to the migration — get in touch for a quote.
Curtis has worked in technology since the mid-1990s, with the last twenty years spent specialising in data conversion for the media and legal industries — domains where accuracy, traceability and proof of correctness are not optional extras.
Born in the UK, his route into professional computing came via an unlikely turn: an exchange student programme in the 1980s that put him in front of Gateway PCs at a time when most of his classmates were still on paper. The interest stuck.
Cygenix is the platform Curtis wished existed across two decades of consulting work — built so the next engineer facing a high-stakes migration has the tools to do it once, do it right, and prove it.