Platform

From first scan to merged pull request, in one place

A free scan, a Blueprint, a client portal where your team decides and follows delivery, automation that opens pull requests in your repository, and an audit trail for every step.

surge-migrate-demo.mp4under 3 minutes
The readiness scan, a portal project, the Blueprint, a team decision, sign-off and the audit trailRecorded with demo accounts, not client data

The journey

Five stages, each visible to your team

The scan needs no account. Everything after it happens in the client portal and in your own repository.

  1. Scan

    Browser, no sign-up

    Upload a Best Practices Analyzer CSV, a repository zip, or answer eight questions. The scan runs in your browser; only findings, file paths and line numbers are kept, never your code.

  2. Blueprint

    Client portal

    A plan from the findings: what blocks Cloud Service, which changes are automatic, the delivery phases and the decisions you need to make. Reviewed by an engineer, downloadable as a PDF.

  3. Decide

    Client portal

    Findings that need a product call, such as custom authentication or AEM Communities, become decisions your team approves or rejects in the portal, with comments.

  4. Deliver

    Your Git host

    We connect your repository, open one pull request per change pattern, and track each one until you merge it. Eleven delivery phases show where the project stands.

  5. Prove

    Client portal

    Every action, model call and approval goes into a hash-chained audit trail. Your team can export it, verify the chain, or stream it to Splunk.

Client portal

One place for decisions, delivery and proof

Your team, your AEM partner and our engineers work from the same project, with every action written to the audit trail.

Workspaces and teams

One workspace per company. Invite colleagues and your current AEM partner. Sign in with an email link, or with your company's single sign-on.

Scans and Blueprints

Add scans at any time. Blueprints combine code and BPA findings and show the planned effort, approved once our team signs it off.

Decisions

Product decisions with approve, reject and comment, recorded with who decided and when.

Delivery plan and pull requests

Phase status and every pull request with its live status from your Git host.

Audit trail

Tamper-evident log with a live "chain intact" check, exportable as CSV or JSON.

Integrations

Jira, Confluence, Cloud Manager, Slack or Teams, single sign-on and Splunk, each switched on per project by your team.

Automation

Automation, with a person at the gate

Code does what code can do. The private model does the rest, and every change still reaches you as a pull request someone approved.

  • Deterministic changes. 5 codemods (Commons Lang 2 → 3, Log4j 1 → SLF4J, OSGi configs → .cfg.json, CQ XSS → Sling XSS, CQ Workflow → Granite Workflow) are applied by code, with a review checklist in each pull request.
  • AI rewrites, privately. They run only on AI models on servers we operate, and must pass deterministic checks before a person sees them, for example that no imports are invented and no public method changes in one file only. Patterns the checks show are not yet reliable are done as assisted work by an engineer.
  • Test plans and BPA triage. Drafted by the same private AI and reviewed by our QA engineers.
  • Deprecation Watch. Connected repositories are re-scanned on every push and nightly, with an alert when new Adobe removals affect your code.

Integrations

Connects to the tools you already use

Each integration is switched on per project by your team, with credentials you create and can revoke. Credentials are encrypted before they are stored.

Connects toYou provideWhat it does
GitHub (being set up)Install our GitHub App on the repository, once it is availableServer-side scan, one pull request per change pattern, status sync from webhooks, re-scan on push
GitLab (cloud or self-managed)A project access tokenScan, merge requests, status and push webhooks
Azure DevOps ReposA personal access tokenScan, pull requests, service-hook status sync
Bitbucket CloudA repository access tokenScan, pull requests, signed webhooks
Jira CloudSite, account email and API tokenAn epic with one issue per finding type; issue status read back into the portal
ConfluenceThe same Atlassian accountThe Blueprint published as a page in your space, updated when it changes
Adobe Cloud ManagerAdobe I/O service credentialsPipelines, last build and failed code-quality metrics, read-only
Slack and Microsoft TeamsAn incoming webhookBlueprint approved, decisions needed, phase changed, pull requests opened
Single sign-onYour Okta, Microsoft Entra ID, Google Workspace, ADFS or other SAML 2.0 / OIDC providerSign-in through your identity provider, optionally required for your domain
SCIM 2.0A token from the portal, in your identity providerUsers added and removed automatically
SplunkAn HTTP Event Collector address and tokenAudit events streamed as they happen, retried if delivery fails
Your own systemsAn https endpointSigned webhooks for project events

How we handle code, credentials and access is on the security page.

See what your migration involves

Start with the scan: blockers, fixes and an effort range in a few minutes, without creating an account. When you are ready, sign in to the portal and add it to a project.