🦊 MigrationFox Docs

SPMT True History Mode

Preserve the original Created, Modified, CreatedBy, and ModifiedBy metadata on SharePoint destinations during migration. Opt in per migration profile; applies to every file in the run.

Why it matters

A migration done with the default SharePoint REST API overwrites every item’s Created and Modified timestamps with the time of the migration, and stamps the service account as the author. For most consumer use cases this is harmless, but for compliance, records management, litigation hold, eDiscovery, and content-type retention policies it is a disaster. You land with a library where every document was authored yesterday by a machine account.

True History Mode uses SharePoint’s SPMT (SharePoint Migration Tool) metadata-preservation APIs to write original timestamps and principal identities. The result looks like the content was always there, authored by the original people.

When to enable it

How to enable it

  1. Open the project in MigrationFox.
  2. Go to the migration profile settings.
  3. Under Destination · Metadata, toggle SPMT True History Mode.
  4. Save the profile. The next migration run applies it.

You can also enable it via API when creating a job:

{
  "projectId": "proj_9f4c",
  "mode": "COPY",
  "destination": {
    "spmt_true_history": true
  }
}

Supported sources

The feature preserves metadata from any source where Created, Modified, and author identity are available:

SourceCreated / ModifiedCreatedBy / ModifiedBy
SharePoint (tenant-to-tenant)YesYes, with user mapping
Google DriveYesYes, with user mapping
OneDriveYesYes, with user mapping
DropboxYesYes, with user mapping
BoxYesYes, with user mapping
SFTPModified onlyNo (no author field)
SMB file shareYesYes, mapped from NTFS owner SID
S3 / Azure BlobModified onlyNo (object metadata-only)

CAVEATS

True History Mode requires the destination site to have the Site Collection App Catalog disabled and the SPMT transport enabled (it is on by default in all modern SharePoint Online tenants). If either condition is not met, the job falls back to standard metadata and emits a warning on the run report.

User mapping

For CreatedBy / ModifiedBy preservation, the destination tenant must know who the source author was. Upload a user-mapping CSV (sourceUpn,destinationUpn) and reference it on the project. Any source principal not in the mapping falls back to the service account identity and is flagged in the rehearsal report under the permissionRisk category.

Performance impact

True History Mode uses the SPMT transport, which is slightly slower per-item than the standard Graph upload endpoint due to the two-phase commit on metadata. On a typical run, expect a 5–12% runtime increase. The Migration Rehearsal runtime prediction factors this in.

Related