m365-atlas
v1.3.0
Published
An open-source CLI backup engine for Microsoft 365 mailboxes, designed with per-tenant encryption, content-addressed storage, and efficient delta synchronization for scalable, secure backups.
Readme
An open-source CLI backup and restore engine for Microsoft 365 mailboxes. Built with per-tenant envelope encryption, content-addressed deduplication, multi-layer integrity validation, and efficient delta synchronization for scalable, secure operations against S3-compatible object storage.
Highlights
- Per-tenant encryption — AES-256-GCM with scrypt-derived keys
- Content-addressed deduplication — messages and attachments stored once by SHA-256 hash
- Storage-level immutability — S3/MinIO Object Lock with time-based retention
- Delta sync — incremental backups via Microsoft Graph delta queries
- EML export — save emails as
.emlzip archives with Outlook folder structure - Typed SDK — embed in Node.js apps via
m365-atlas/sdk - Live dashboard — real-time ANSI progress for single and tenant-wide backups
Quick Start
npm install -g m365-atlas
atlas backup --mailbox [email protected] # single mailbox
atlas backup # all tenant mailboxes
atlas status -m [email protected] # check freshness
atlas restore -m [email protected] -f Inbox
atlas save -m [email protected] -o backup.zipSee Getting Started for full setup instructions.
Documentation
| Topic | Link | | --------------- | ------------------------------------------------------- | | Getting Started | docs | | Self-Hosting | docs | | Configuration | docs | | Azure AD Setup | docs | | Security Model | docs | | CLI Reference | docs | | SDK Reference | docs |
Development
pnpm install
pnpm run build # bundle with tsdown
pnpm run test # vitest (unit tests)
pnpm run test:coverage # with v8 coverage
pnpm run lint # eslint
pnpm run format # prettier
pnpm run docs:dev # local docs siteContributing
See CONTRIBUTING.md for setup instructions, code conventions, architecture overview, and pull request guidelines.
License
Copyright 2026 Miika Oja-Kaukola
This project is licensed under the Apache License, Version 2.0.
See the LICENSE file for details.
