Migrate from Microsoft Identity Manager to midPoint: what the move involves
With MIM 2016 extended support ending in January 2029, the decision in front of your team is whether to start a self-hosted replacement now and run it on your own schedule. The move is a re-implementation of provisioning logic, not a data copy: MIM's management agents, sync rules and Portal workflows do not convert into midPoint objects automatically, so each connected system is rebuilt as a midPoint resource with its own object templates, mappings and correlation rules. It is usually run one connected system at a time, with midPoint and MIM both live against Active Directory until the outputs match and MIM sync runs for that system can be switched off. The work is normally done by your own identity engineers, supported by an implementation partner for design reviews, connector work and cutover planning. Your internal team carries the knowledge of HR feeds, naming standards and downstream consumers, which is the hardest part to hand over. The partner or Evolveum's services can cover gaps in ConnId connector development or in the Java and PostgreSQL operations side. Effort is driven mainly by how many custom rules extensions and Portal workflows MIM carries, how many target systems depend on them, and whether approval and attestation flows must be rebuilt rather than retired. Ask any proposal to itemize inventory, parallel run, cutover and hypercare as separate phases, and to name who holds each role.
The highest risks are silent behavior changes: an attribute that MIM populated through an undocumented rules extension, a join rule that matches differently in midPoint, or a deprovisioning path that no one has tested. Build a reference list of every attribute written to each target before the parallel run starts, and compare outputs across both systems for the same sample of identities. Confirm with your own environment which connectors you need from the ConnId catalog and their support status, because community or experimental connectors shift the risk onto your team. Plan rollback for each system before you switch its MIM sync run off, and confirm the midPoint release line you will standardize on against the midPoint releases page so the platform is supported for the length of your project.
Which MIM capabilities map to midPoint, and which need rework
This table maps each Microsoft Identity Manager capability to its closest midPoint equivalent and labels it clean, needs rework or gap. Read the status column as a planning signal: clean means a concept with a direct counterpart, rework means the logic must be rebuilt, and gap means no one-to-one replacement exists. Confirm connector status in the integration catalog for every target system before scoping.
| MIM capability | midPoint equivalent | Status and what to plan |
|---|---|---|
| Management agents (Synchronization Service) | ConnId resources with sync and reconciliation tasks | Needs rework. Each agent becomes a resource definition. Confirm the connector for each target system is supported, not community or experimental. |
| Metaverse and attribute flows | Object templates, mappings and inbound or outbound attribute rules | Needs rework. Flows must be re-expressed as mappings. Inventory every flow and its precedence before rebuilding. |
| Rules extensions (C# or VB.NET code) | Groovy scripts in mappings, or custom Java code with a ConnId connector | Needs rework. Compiled extensions do not port directly. Each rule needs a re-implementation and its own test cases. |
| Portal request and approval workflows | midPoint approval workflows and access request self-service | Needs rework. Approval chains and forms must be rebuilt. The MIM Portal has no one-to-one equivalent, so validate each form against business owners. |
| SharePoint and Portal dependencies | No direct equivalent in midPoint | Gap. Any process that relies on SharePoint lists or Portal pages needs a new UI, data source or retirement decision. |
| Password management and reset | Self-service password reset and password policies in midPoint, with connector-level password propagation | Needs rework. Confirm which target systems accept password changes through their connector before cutting over reset flows. |
| Reporting and auditing | midPoint audit records, simulations and reports | Needs rework. Map each MIM report to a midPoint audit or report output and confirm that evidence fields still meet your assessor's needs. |
| Role and entitlement assignment | midPoint roles, assignments and role-based access control | Clean in concept. Recreate group-based logic as midPoint roles, then use simulations against production data to compare results before switching. |
What data and integrations move, and what you rebuild
Migration splits into what can be exported and reused and what must be rebuilt in midPoint's model. Each card below covers one piece of that split, from identity data and joins through connectors and MIM rules code, so you can scope the work before choosing a cutover order.
Export identities and attributes from the metaverse
Start by pulling the current identity set and attribute values out of the MIM metaverse and the connected source systems, such as HR feeds and directories. Record which attributes are authoritative, which are derived and which are written back. Export to CSV or LDIF so you can load the same data into midPoint test resources. Validate counts and attribute values against the source of record before you trust the export, because a metaverse can hold values no connected system currently shows.
Re-create joins and authoritative source rules
In MIM, joins and projection rules decide which object a record links to and which system owns each attribute. In midPoint, the same decisions are expressed through resource object types, correlation and synchronization reactions, and inbound and outbound mappings with strengths. Write the join and authority rules down as a table first, then implement them and test them against a copy of production data. Expect edge cases such as duplicate names, rehires and contractors to need explicit correlation rules.
Rebuild Active Directory and LDAP connectors
midPoint reaches Active Directory and LDAP through ConnId connectors rather than MIM's ECMA 2.0 management agents. Map each MIM management agent to a midPoint resource, then confirm which object classes, attributes, password handling and group membership behavior the connector supports in your version. Account for OU placement, naming conventions and group nesting rules that the old agent enforced implicitly. Test create, update and disable operations on a non-production domain before any live sync.
Rebuild CSV, database table and SCIM targets
CSV, DatabaseTable, ScriptedSQL and SCIM2 are documented ConnId connectors that midPoint can use for flat-file, database and REST targets. Each MIM target that used a custom extension or SQL-based agent needs a matching resource definition, a schema check and a clear owner for the connector. Confirm the connector status in the integration catalog for each target, since some are community or experimental rather than supported. Treat any target without a documented connector as a custom build with its own test and maintenance plan.
Rebuild Microsoft Entra ID provisioning through Graph API
Entra ID is documented as a midPoint connector that uses the Microsoft Graph API. MIM deployments that pushed accounts or groups to Entra ID through custom code or a connector will need new app registrations, permission scopes and credential storage in midPoint. Confirm that the Graph permissions you grant match what the midPoint connector actually calls, and plan secret rotation before cutover. Verify that licensing, group-based assignment and guest handling behave the same way in a test tenant.
Rewrite MIM rules extension code as midPoint logic
MIM rules extensions are compiled .NET code that runs inside the Synchronization Service, and they do not move to midPoint unchanged. Each rule becomes a midPoint mapping, a script, a correlation rule or a custom Java connector, depending on whether it transforms data, decides matching or talks to an external system. Inventory every extension, record its inputs and outputs and test it against the documented connector behavior. Treat the rewrite as new code with its own review, because the old behavior often depends on undocumented side effects.
The migration sequence from inventory to decommission
This sequence moves MIM provisioning to midPoint one connected system at a time, so each step produces evidence that the replacement matches what MIM does before MIM stops running. Each output becomes the input to the next step, and the final retirement record shows that no MIM sync run still controls an account.
Inventory management agents, rules and Portal workflows
List every management agent in the MIM Synchronization Service, along with its connected system, run profiles, schedule, and the sync rules extensions and custom code it calls. Add every MIM Portal workflow, request form, approval step and scheduled job, and record who owns each item. Your identity team and the MIM administrators should both review the list. The step is done when every agent, rules extension and workflow has a row in an inventory register that names its owner and its downstream effect on accounts and groups.
Map metaverse attribute flows to midPoint
For each inventory row, write a mapping specification that traces each attribute from its source (for example, an HR feed or an authoritative directory) through the metaverse to the target. Translate those flows into midPoint resources, with ConnId connectors for Active Directory and other targets, and into object templates and mappings for users, roles and organizations. Flag every rule that has no direct equivalent so a designer can decide how to rebuild it. Done means each attribute flow is either mapped to a midPoint construct or marked as a documented gap with an owner.
Pilot one connected system in midPoint
Choose one low-risk connected system, ideally one with a small number of objects, and build its midPoint resource and synchronization configuration in a non-production environment. Load a representative set of accounts, run reconciliation and confirm that midPoint reads the same objects MIM reads. Test provisioning, updates and deprovisioning against a test copy of the target. The pilot is complete when a written test record shows the expected results for each lifecycle event and the open defects are logged.
Run both systems in parallel against Active Directory
Run MIM and midPoint side by side against the same Active Directory, with midPoint in a mode that reports the changes it would make before it writes them, if your configuration allows it. Compare the account state each system produces for the same source records over an agreed set of test cycles. Note that the two systems should not both write the same attributes to production objects at the same time. Ask your midPoint partner which simulation or dry-run features apply to your version, and confirm them against the documentation for your release. The output is a reconciliation report listing each difference, its cause and its resolution.
Cut over one connected system at a time
For each connected system, agree a cutover runbook that lists the change window, the sync runs to disable in MIM, the midPoint schedules to enable, the rollback steps and the people who approve each action. On the cutover date, disable the MIM run profiles for that system first, confirm that midPoint completes its first full cycle, and check a sample of accounts against the reconciliation report. Keep the rollback path open until the agreed validation period ends. The step is done when the runbook is signed off and the system's run history shows midPoint as the only writer.
Decommission MIM components and record retirement
After the last connected system has cut over, stop the remaining MIM sync schedules, export the configuration and the Portal workflow definitions for the audit file, and remove the MIM service accounts from the target systems. Retire the Portal and SharePoint dependencies only after you confirm no other service relies on them. Record each component, the date it was switched off and the approver in a retirement record. Confirm with the internal audit or compliance team which records they need to keep. Done means the retirement record is complete and no MIM run has written to a target system since the final cutover.
Running MIM and midPoint in parallel without double-provisioning
Double-provisioning happens when MIM and midPoint both have an active connector that can create, modify or disable the same object. The two engines then compete over attributes, group memberships and account state, and each run can reverse the other. Before enabling any midPoint resource for writes, record one owner per connected system and per attribute set. During the parallel run, MIM should remain the write owner for every system that is not yet migrated, and midPoint should read those systems without writing to them.
- Build an ownership register: list each management agent, its connected directory or database, the attributes it writes, and the MIM run profiles that trigger writes.
- Mark one owner per system: for each target, state whether MIM or midPoint may write, and store that decision in change control.
- Separate attribute ownership where needed: a single system can have fields owned by different engines, so document field-level ownership for Active Directory attributes such as
userAccountControl,memberOfandproxyAddresses. - Block accidental activation: confirm that no scheduled MIM run and no midPoint task can write to a system outside its assigned window.
- Review ownership at each cutover: update the register whenever a system changes owner.
Check that every connected system has exactly one named owner in the register before the first midPoint task runs.
Once ownership is recorded, midPoint can be configured so that it reads production sources and computes what it would change without applying those changes. Use the resource and task settings in midPoint to keep write operations disabled while the connector still reads real data. Confirm the exact configuration keys and task options in the midPoint documentation for your release, since the available controls depend on the version you deploy. The midPoint releases page lists the current LTS and feature versions.
- Disable writes on the resource: keep midPoint resources in a mode that reads and reconciles but does not push changes to the target.
- Use reconciliation tasks in preview: run reconciliation in a non-applying mode and capture the proposed deltas as output.
- Use separate service accounts: give midPoint read-scoped credentials for the parallel run, and grant write permissions only at cutover.
- Log every proposed delta: keep the output with timestamps so you can trace a difference back to a source change.
- Verify the connector version: confirm that the ConnId connector for Active Directory in your environment behaves as expected in read mode.
Confirm with your own test directory that a read-only reconciliation produces no changes in Active Directory before you rely on it.
midPoint supports simulations against production data, which lets you compare the outcomes of its policies with what MIM currently does, without writing to target systems. Start with a sample of accounts that cover typical cases: joiners, movers, leavers, accounts with manual exceptions and accounts in nested groups. Then extend the sample to the full population in batches. The goal is to explain every difference, because each unexplained difference is a potential write during cutover.
- Select representative cohorts: include accounts from each organizational unit, service accounts that must stay unmanaged, and disabled or expired accounts.
- Record MIM's current state: export the attributes and group memberships that MIM manages for the same cohort, so each comparison has a baseline.
- Classify each difference: label it as a mapping gap, a missing rule, a data quality issue in the source, or an intended change.
- Resolve gaps in object templates and mappings: correct the midPoint configuration, then rerun the simulation until the differences are either removed or documented.
- Repeat after source changes: HR feed or directory changes can alter results, so rerun the comparison before each cutover window.
Ask your security or compliance lead to approve the list of accepted differences before any system moves to midPoint writes.
Cutover should be done one connected system at a time. For each system, stop MIM run profiles that write to it, confirm that midPoint has the only active write path, and watch the first midPoint writes closely. MIM's management agents should be disabled rather than deleted during the transition, so that the original configuration remains available for rollback. Plan the window with the people who own the target directory and the HR source, since both can trigger changes during cutover.
- Disable MIM run profiles first: stop the scheduled and manual run profiles for the system, and confirm that no queued run will start.
- Enable midPoint writes for that system only: change the resource from read-only to read-write and run a small, controlled reconciliation.
- Monitor the first cycles: compare Active Directory changes against the simulation baseline and check for unexpected disables or group removals.
- Keep a rollback path: retain the MIM management agent, its run profiles and a recent export of the connector space, and document the steps to re-enable MIM writes and disable midPoint writes.
- Set a rollback decision point: agree in advance on the observations that would trigger rollback, and who has authority to call it.
Confirm that the rollback steps have been rehearsed in a non-production environment before the first production system is switched.
What drives migration cost and duration
This table lists the components of a MIM to midPoint migration, who is typically paid for each, whether the cost is one-time or recurring, and what moves it up or down. Use it to scope a written quote, since no fixed figures apply until your own inventory is complete.
| Cost driver | Why it changes cost or effort | What to ask for or confirm |
|---|---|---|
| Management agents and rules extensions | Each connected system needs its own ECMA 2.0 agent and any custom C# rules extension must be rewritten as ConnId connectors, object templates and mappings, so count and complexity set most of the build effort. | A per-agent inventory with rules extension code size, attribute flows and any scripted logic that must be redesigned. |
| Portal workflows and approvals | Each MIM Portal workflow, approval step and SharePoint-hosted form needs a midPoint equivalent such as a role, approval policy or certification campaign, which adds design and testing time. | A list of workflows with owners, approval chains and whether each one is still used in production. |
| Number of target systems | Every target system needs a connector choice (for example LDAP, Active Directory, SCIM2 or Microsoft Entra ID via ConnId), a test environment and an accounts reconciliation check. | Confirm connector coverage in the Evolveum connector catalog and whether any system needs a community or experimental connector. |
| Metaverse data quality | Duplicate, orphaned or inconsistent identities in the MIM metaverse must be resolved before midPoint can correlate accounts, and this work is often done by the customer's HR and directory owners. | A correlation report and a plan for who resolves exceptions, since this work is rarely covered by the software itself. |
| Testing and parallel-run scope | Running MIM and midPoint side by side against Active Directory needs test OUs, reconciliation reports and sign-off per connected system, and each system adds its own cycle. | A written test plan covering each connected system, the cutover order and the rollback steps for each sync stop. |
| PostgreSQL and midPoint hosting | midPoint runs on Linux in a virtual machine or from Docker images, uses PostgreSQL as its native repository (ideally on a separate database server) and needs Java 21 for 4.10 or Java 25 for 4.11 and later. Infrastructure and operations costs recur, and multi-node setups add load balancing and shared database work. | Confirm the Java and PostgreSQL versions for the chosen midPoint release and the number of nodes, backup and high-availability design. |
| Evolveum support subscriptions | Evolveum offers Product Support subscriptions with 8x5 next-business-day or 24x7 SLA options, and Platform Subscriptions that add feature development. These recur annually or per term, and the source page lists no prices. | Ask Evolveum for a written quote covering the SLA tier, the midPoint release line and whether the subscription covers your planned go-live window. |
| Internal staff and partner fees | Internal staff time for MIM knowledge, HR and directory owners, and any implementation partner is largely one-time, but ongoing administration becomes a recurring cost once midPoint is in production. | A fixed-scope written proposal with deliverables, responsibilities, handover items and any post-go-live support terms. |
What usually goes wrong and how to prevent it
Most MIM to midPoint migrations fail in the overlap period, not at cutover. The cards below cover the risks that appear while both systems write to the same directory, and the checks that catch them early.
Double provisioning during overlap
While MIM and midPoint both run against Active Directory, the same joiner or leaver event can create, move or disable an account twice, or the two systems can fight over an attribute. Assign a single write owner per connected system and per attribute before the first parallel run. Schedule reconciliation runs that compare each system's intended state with the directory and report any object that either system changed outside its own rules.
Undocumented rules extension logic
Custom code in MIM rules extensions often holds business decisions, such as naming rules, group membership exceptions or manager lookups, that nobody wrote down. Before rebuilding anything in midPoint, export the list of rules extension methods, record the input and output of each one, and get the owning business team to confirm the expected result. Treat any behavior without an owner as a defect to resolve, not as a requirement to copy silently.
Attribute flow drift
Each metaverse attribute flow in MIM maps to an outbound or inbound mapping in midPoint, and small differences such as trimming, casing, default values or precedence rules change the data that lands in the directory. Keep a documented mapping sheet that pairs every MIM flow with its midPoint resource attribute and object template entry. Compare sample objects from both systems after each change, and fail the test run when a value differs.
Connector gaps for less common targets
The Active Directory, LDAP and Microsoft Entra ID connectors cover many MIM use cases, but niche line-of-business systems may have only community or experimental ConnId connectors, or none. Build a connector inventory that lists each connected system, its protocol, and whether midPoint has a supported, community or experimental connector for it. Test read, create, update and delete against a non-production copy of each target before any MIM sync run is switched off for it.
Data quality problems exposed by the new model
midPoint applies its object templates and role assignments strictly, so duplicate employee IDs, missing manager links or inconsistent department codes that MIM tolerated can surface as failed or unexpected changes. Run a profiling report on the HR feed and the directory before cutover, and agree with HR owners how each exception is corrected at the source. Decide in advance whether midPoint should skip, quarantine or alert on records it cannot process.
Missing rollback paths
Switching off a MIM sync run for a connected system is hard to reverse once midPoint has taken over writes, and a failed cutover can leave accounts in mixed states. Before each switch, back up the MIM and midPoint databases and export the affected directory objects, then write down the steps and the owner to restore the previous run schedule. Keep MIM able to resume for each system until a full reconciliation run passes on midPoint.
How the migration changes by starting point
When MIM mainly moves identities from an HR source into Active Directory, the migration centers on the metaverse attribute flows and a small number of connected systems. Most of the work is mapping inbound HR attributes, join and projection rules, and the attribute precedence that decides which source wins. In midPoint this becomes resource definitions for Active Directory through the ConnId LDAP or Active Directory connector, with object templates and mappings that express the same logic. Because the scope is narrower, the inventory step is usually shorter, but the parallel run needs careful checks on every joiner, mover and leaver case.
- Attribute flows: Export each MIM sync rule and map it to a midPoint mapping on the resource or object template, then compare results for a sample of users per department.
- Leaver handling: Confirm how disables, moves out of scope and account deletions behave in both systems before switching any run profile off.
- Fewer rules extensions: Simple AD-centric setups often carry few custom rules, so the code to port is usually limited.
- Parallel comparison: Run both systems against the same test OUs and diff the resulting AD attributes, group memberships and account states.
- Ownership of the HR feed: Confirm with HR and the source system owner who signs off on mapped attributes before cutover.
Check that every HR event type your business depends on, including rehires and contractor conversions, is covered by a test case in midPoint.
When the MIM Portal carries request workflows, approvals and self-service screens backed by SharePoint, the migration grows mainly on the workflow side. Portal workflows, custom activities and forms do not transfer as code. In midPoint you rebuild the equivalent with self-service access requests, approval processes and the built-in user interface, so each approval path needs a design decision and a test pass. Expect more stakeholder time for requirements and acceptance than for connector work.
- Workflow inventory: List each Portal request type, its approvers, escalation rules and the systems it fulfills, then decide which ones midPoint should own.
- SharePoint content: Identify which SharePoint lists, libraries or forms hold approval data or reference data, and where that data should live afterward.
- Approval design: Map each approval step to a midPoint approval or access request flow and document any step you choose to drop or replace.
- User training: Plan help material for requesters and approvers, because the screens and steps will differ from the Portal.
- Audit trail: Confirm what history auditors need from old Portal requests and how it will be archived or referenced.
Confirm with the Portal owner which workflows are still in use, since long-unused forms are often the cheapest to retire.
When MIM feeds many systems beyond Active Directory, such as databases, SaaS applications, LDAP directories or file shares, the migration grows with the number of connectors and their custom code. Each management agent needs a matching ConnId connector or a supported option from the connector catalog. Some connectors will be documented and supported, while others may be community or experimental, so confirm each one before committing. Custom management agents that call scripts or external code will need a fresh design rather than a line-by-line port.
- Connector coverage: Match every management agent to a midPoint connector and check its status in the integration catalog before scheduling work.
- Custom code: Identify rules extensions and scripts that call external systems, and plan rewrites as midPoint scripts or connector configuration.
- Per-system cutover: Switch off MIM sync runs one connected system at a time, starting with the lowest-risk target, and keep rollback steps for each.
- Credentials and service accounts: Recreate each target's service account in midPoint and test its permissions against a non-production copy.
- Testing effort: Plan a separate verification run for each system because a successful AD comparison does not prove the others.
Ask the vendor or community for the support status of every non-standard connector you rely on.
Keeping audit evidence and control ownership through the move
Before any MIM sync run is switched off, export and retain its audit and approval history. MIM keeps records of Synchronization Service runs, Portal requests, approvals and workflow outcomes in its own stores, and midPoint does not inherit them. Inventory which of those records your assessors, internal audit or data protection team rely on for access certification, joiner-mover-leaver proof and privileged changes. Then map each record type to the retention period your policy or regulator requires, and decide whether it is archived as exported files, moved into a separate log store or kept in the MIM database under read-only access. Confirm the retention periods with your compliance owner. Do not assume a default applies.
midPoint provides auditing and certification campaigns, but they only produce evidence once you configure them. Decide which midPoint audit events are recorded, where they are stored and how long they are kept, then run a test change in the parallel environment and confirm the event appears with the actor, timestamp and target you expect. Assign a named owner for each control that midPoint now performs, such as approval of role assignments, periodic recertification and deprovisioning of leavers. Control ownership in the MIM era often sat with the Portal administrators and the MIM service account, so the move is a chance to write down who approves what in midPoint.
DeployOpen plans and implements these controls with you and prepares the evidence an assessment will ask for, but it does not issue audit reports, attestations or certifications. Ask your independent auditor or certification body early which MIM records they will want to sample, and agree the format and location of the exported evidence in the written scope. Keep a dated mapping of MIM control to midPoint control and retain the MIM exports for the full retention period, even after the MIM servers are gone. Confirm with the auditor whether a parallel-run period needs its own evidence set.
Questions buyers ask before moving from MIM to midPoint
How much effort does moving from MIM to midPoint take, and what drives it?
The effort depends mostly on how much logic lives in MIM and how many connected systems it touches, not on the number of users. The main drivers are the count of management agents, the amount of custom code in rules extensions, the number and complexity of Portal workflows and approvals, and how cleanly the metaverse attribute flows are documented today. Each connected system needs its own mapping to a midPoint resource and object templates, then a parallel run against Active Directory before MIM sync is switched off for that system. Ask any partner for a quote built from a written inventory of these components, and confirm which items your environment has before anyone commits to a schedule.
Can an internal team do the migration without an implementation partner?
A capable internal team can do it if it has people who understand MIM's Synchronization Service, its rules extensions and the ConnId model used by midPoint. The work that usually needs outside help is the inventory of undocumented logic, the design of object templates and the parallel-run validation. Evolveum sells support subscriptions, consulting and training, and DeployOpen offers fixed-scope implementation, so you can keep the work in-house, buy a short engagement for design review, or hand over the whole migration. Decide this after the inventory, because it shows which skills are missing.
What skills and staff time does the move require from our team?
Plan for identity engineers who can read MIM synchronization rules and Portal configuration, Java and Linux administrators who will run midPoint, and PostgreSQL administrators for the repository. The midPoint system requirements recommend Java 25 for version 4.11 and later, with Java 21 supported, and PostgreSQL as the native repository database, ideally on a separate database server. Application owners and HR or directory stakeholders must also confirm which attributes and approvals they still need. Staff time is spent on inventory, testing and cutover, so ask a partner to name the roles and hours they expect from your side in the written scope.
Can midPoint do what the MIM Portal did?
midPoint covers the core functions that the Portal provided for many organizations, including provisioning and deprovisioning, identity lifecycle, role-based access control, auditing, self-service access requests and password reset, and certification-style reviews. It is not a one-to-one copy of the Portal, so map each Portal workflow and form to a midPoint feature and record any gap. Check specifics such as custom approval chains, SharePoint-based screens and attestation flows against the current documentation and a proof of concept, rather than assuming parity. The MIM BHOLD attestation topic covers one of those gaps in more detail.
Can MIM and midPoint run side by side during the migration?
Yes, the usual approach is a parallel run, where midPoint manages a connected system such as Active Directory in a test or shadow mode while MIM remains authoritative. You compare the changes each platform would make, resolve differences, and then switch off MIM sync runs one connected system at a time. Both platforms must not write to the same attributes at once, so assign clear ownership per attribute and per system during each phase. Confirm the exact write-control and simulation options with the midPoint release you plan to deploy, because they depend on the version.
What happens to licensing and support when we leave MIM?
midPoint is open source and dual-licensed under EUPL-1.2 and Apache 2.0, so there are no license fees to pay. Evolveum states that midPoint has no enterprise edition, and it funds development through subscriptions, training and professional services. If you want vendor support, Evolveum offers Product Support subscriptions with an 8x5 next-business-day or 24x7 SLA, and Platform Subscriptions that add feature development and roadmap influence. For version timing, midPoint 4.8 (Curie) is a long-term support release supported until 17 October 2028, and midPoint 4.10 (Braille) is supported until 26 November 2027. Plan your upgrade path against these dates and ask Evolveum for current subscription pricing.
Will the migration pass an audit, and who confirms it?
The migration can preserve the evidence auditors expect, including documented provisioning flows, access request records, approvals, and the parallel-run comparisons. DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue audit reports or certifications, and independent auditors make that determination. Before cutover, ask your auditors which logs, reviews and change records they need from both platforms, and confirm that midPoint's auditing covers those events in the version you choose.
How DeployOpen scopes and runs the MIM to midPoint migration
DeployOpen plans, implements, integrates, hardens, documents and supports self-hosted open-source platforms inside the client's own infrastructure, and a MIM to midPoint move is handled the same way. DeployOpen is a Chainscore Labs company. We are not an Evolveum partner, reseller or certified provider, and we do not sell midPoint licenses or support subscriptions on Evolveum's behalf. midPoint itself carries no license fee, so the work we scope is the migration effort: inventorying management agents, rules extensions and Portal workflows, mapping metaverse attribute flows to midPoint resources and object templates, running both systems in parallel against Active Directory, and retiring MIM sync runs one connected system at a time. Each of those activities has a different owner on the client side, and the scope should name them.
Most engagements are fixed-scope. Before work starts, the written scope fixes the systems in the migration boundary, the deliverables (for example, the inventory, the mapping documentation, the parallel-run results and the switch-off record for each connected system), the acceptance checks and the timeline. A quote follows from that written scope, so the questions to resolve first are which connected systems move in this phase, which Portal workflows and rules extensions are retired rather than rebuilt, and who signs off each cutover. Ask any provider for the same breakdown so quotes can be compared line by line.
Ongoing support, upgrades and continuous testing are available as retainers, which suits the period after cutover when midPoint release upgrades (for example, planning around the support end dates on the midPoint releases page) and connector maintenance need a named owner. Confirm with any provider, DeployOpen included, what is covered by the retainer, how security fixes are delivered, and who performs the rollback if a parallel run shows a provisioning difference. DeployOpen prepares systems, controls and evidence for compliance assessments, but independent auditors and certification bodies issue any audit report or attestation.

