The long version
No marketing gloss — this is the feature list as the software actually ships, written by the person who built it. Items marked It opens with how a backup actually runs — the order of operations and the check at each step — because that is what decides whether the rest of the list is worth anything.coming are in active development on the roadmap.
Not the code — the order of operations, and the checks at each step. This is what separates a backup you can rely on from a job that merely finished without complaining.
Before anything else: is this client active, is another run already going, is a restore in progress? An archived or suspended client is refused outright, and the scheduler asks again at the moment a run fires rather than trusting what was true when the schedule was made.
Every account is listed in full from Google before a single byte moves — mail, files, calendars, contacts. The listing is the source of truth for the whole run, and it is built from what Google returns, not from what downloads successfully.
Each item is compared against the index of what is already held. Unchanged items are skipped without transferring anything. A file that has only been moved gets its recorded path corrected, with no re-transfer.
Concurrent workers per data type, exponential backoff, Retry-After honoured, 429 and 5xx retried. When Google's daily quota is reached the run parks within seconds — an amber state of its own, never a green tick.
The object lands at your destination first; only then is it written to the index. That order matters: an interrupted run leaves data that is present but not yet indexed, which the next run simply re-checks — never an index entry pointing at something that was never written.
Anything indexed but missing from the inventory has been deleted at source, and the date is recorded. This is refused — deliberately — if the listing was incomplete, filtered, empty, or would mark more than half an account at once. Failing to notice a deletion costs storage; wrongly marking a live file eventually destroys a good backup.
Completed, partial, parked, cancelled, stale or failed — each distinct, each meaning what it says. Counts come from the run itself rather than an estimate, and every error is kept with the job that produced it.
An item deleted at source is kept for a year, then its backup is removed for good — the object first, the index entry only once the destination confirms. That window is fixed in the software and cannot be shortened by whoever is looking at the storage bill.
Most of the engineering is here rather than in the happy path.
A run holding a lock that stops being updated is detected and marked stale rather than left "running" forever. The next run inherits its progress and continues incrementally instead of starting the whole workspace again.
A destination is validated by writing and deleting a real probe object before it is ever accepted — listing permission is not proof of write permission. Anything that fails a write is refused rather than accepted and discovered later.
The previous destination is frozen, not deleted: its index is kept and stays restorable, and the new destination starts fresh. Nothing you have already backed up becomes unreachable because you switched provider.
Free space is checked against a floor before a local run starts, and a destination that is already at that floor is refused at the point you configure it — not at three in the morning.
Every restored item is ledgered as it lands, so resuming skips what is already there instead of duplicating it. Restores are driven by the index, not by a run folder, so they do not depend on which night the data happened to arrive.
Removing a client is two deliberate acts on two screens: archive first — which freezes backups but keeps restores working — then delete, with the client named by hand, a reason recorded, and the measured impact shown first. Stored objects go before the index, and a single storage failure stops the whole thing rather than orphaning data.
Verification fails open. An unreachable licence server never stops a backup, never blocks a restore and never locks you out of the console — it says it could not check, and carries on.
The application backs up its own database to the same destination your client data goes to, verifying the copy row by row before any older one is pruned, with a manifest stating what is needed to read it back.
Complete coverage of a Google Workspace account, not just the inbox.
Every message, indexed and restorable individually — including labels.
All files, with the original folder tree recorded so restores rebuild it exactly.
Full shared-drive backup with per-drive tracking and containment on restore.
Backed up alongside mail and files; calendar restores update rather than duplicate events.
Docs, Sheets and Slides are exported to Office formats; if Google refuses an export, a PDF fallback runs, then a metadata record — nothing is silently skipped.
Data-retention features capture Gmail settings where granted, and the app tells you exactly which scopes it needs.
Built for the realities of Google's API: quotas, rate limits and very large first runs.
After the first full run, only changed files and new mail move. Unchanged data is never re-downloaded or re-uploaded — including files that were merely moved between folders.
Google doesn't change a file's modified time when it moves. GWS Backup notices anyway and updates the recorded path without re-transferring a byte.
Concurrent workers per data type, tuned to stay politely inside Google's rate limits — watch them live on the monitor.
When Google's daily quota hits, the run parks cleanly within seconds — a distinct amber status, never a fake success — and the next run continues where it left off.
Every network call gets exponential backoff, Retry-After handling and 429/5xx retries.
Cancelling a run tears down in-flight connections immediately via AbortController — no zombie threads, no leaked memory, status recorded honestly as cancelled.
A health watcher spots stalled runs and resumes them incrementally — inheriting the previous run's progress rather than starting over.
Mark folders as preserved so retention policies never touch them, on every destination type.
Your storage, your rules — and changing your mind is safe.
Google Drive, local disk / NAS, Amazon S3, and Azure Blob storage — all first-class citizens for both backup and restore.
A new destination is probed with real read, write and delete tests before a single backup is pointed at it.
Switch destinations (say, Drive to S3) and the old one is frozen as a restore-only archive — everything ever backed up stays findable and restorable.
Every destination records where each file lived, so a restore rebuilds the real folder tree — not a flat dump at the root.
The console predicts storage needs for the year ahead from real growth trends.
Utility scripts upgrade historic backups in place — recording folder paths for old rows without re-transferring data.
Backups are only as good as the restore. This is where the obsession shows.
A whole workspace, one account, one folder, or a single email or file from the File Explorer.
Three dedicated modes — Disaster Recovery, Point-in-Time Rollback, Migration/Clone — with pre-flight destination checks and a type-RESTORE confirmation gate.
Every backup keeps the previous copy of a changed Drive file, so you can pick an earlier version by date and restore it — including one from before ransomware encrypted it. Email is immutable and cannot be edited, so it is restored as sent rather than versioned.
Restore a whole workspace, one account, or one section as it stood at a chosen backup, not merely as it stands now. How far back you can go is set by your own retention policy.
A chart per workspace, account and shared drive showing how much was modified, added and deleted at each backup. A mass rewrite is obvious on sight — and so is an employee clearing their drive before they leave.
Recover an absent employee's mail or files straight into a colleague's account — no password resets, no 2FA workarounds.
Cross-account restores are tagged automatically — a Restored/<source> Gmail label, name prefixes on Drive files — so restored data is easy to find and tidy up.
Cross-account and shared-drive restores rebuild inside a clearly named container folder; anything whose original location was never recorded is quarantined in Unfiled/ instead of littering the drive root.
An interrupted restore continues where it stopped — a per-item ledger means nothing already restored is duplicated.
Restores park on daily quota just like backups, retry transient errors with backoff, and can be stopped instantly mid-run.
Every restore error is kept, listed with file and timestamp, downloadable as a client-ready report — and raw Google errors are translated into plain English.
Explicit confirmation banners for every restore — single item, batch or bulk — plus a live progress banner that survives navigation and reattaches on page load.
Per-client scheduling with overlap detection and load-aware planning.
Custom compliance policies tuned to your country's data-protection law, per client.
Scheduled optimisation compacts the app's own database — with a safety backup taken first, deep housekeeping of old rows, and scheduling that avoids your backup windows.
Jobs orphaned by a crash or restart are detected and closed out honestly on boot — nothing spins forever.
Any number of Google Workspace domains from one interface, each with its own schedule, retention and destination.
Clients can be archived with a retention countdown before permanent deletion — with an Archive Hub to restore or force-delete, and duplicate-client detection on the way in.
Separate roles for administration and restore operation, with 2FA login security.
Everyday domain admin tasks handled inside GWS Backup itself.
Search indexed backups across every client in seconds — read emails in basic form for investigations, without downloading an archive.
Custom-branded reports with stats, charts and tables — exportable to PDF or Word, evidence-grade for compliance, and genuinely engaging for clients.
Every action is audited and reportable — prove to clients that everything is backed up, restored, and handled properly.
Read-only status endpoints secured by API key, feeding a companion mobile app — check backup health from your phone.
It also protects the servers your clients run on — included in the free licence, like everything else here.
Full-server, granular, or databases-only scopes — MySQL/MariaDB dumps taken per table, safely, with a manifest of what was captured.
A guided wizard restores whole databases or individual tables over SSH — no database ports exposed, type-RESTORE confirmation before anything runs.
Change a server's backup schedule without touching its identity or history.
The feature the whole product is built around.
A run is only reported successful when it truly finished. Stopped, parked, partial and cancelled runs say exactly that — with the real error, in plain English.
Watch every email and file transfer in real time. Nothing is hidden behind a spinner.
Distinct, accurate states — running, parked (quota), cancelled, partial, failed, completed — on every screen, every report, every badge.
Raw Google API errors are rewritten as actionable messages, with the original preserved for support.
A standalone .zip — drop it into cPanel or any Linux VPS and run.
A standard .exe that sets up everything, including background services.
A pre-configured Docker Compose file for instant, isolated deployment on any OS.
Installs run invisibly as a service and survive reboots.
One edition, built for organisations and MSPs — the complete application, free under the GWS Backup Free Licence. Above ten workspaces, by enquiry.
Free licence keys issued on registration — one key, one running installation, up to ten client workspaces. Donating changes nothing about the software — there is nothing held back.
Roughly 50MB of RAM per client workspace — it runs happily on modest hardware.
A guided update path that backs up the app's own database before every upgrade.
That's the honest state of the software today. For what's next — the onboarding tour, the companion mobile app — see the roadmap. For how it all behaves in practice, the FAQ answers the questions everyone asks.
Get your free licence