{"id":170,"date":"2026-04-05T19:46:24","date_gmt":"2026-04-05T19:46:24","guid":{"rendered":"https:\/\/www.loicata.com\/?page_id=170"},"modified":"2026-04-19T16:52:23","modified_gmt":"2026-04-19T16:52:23","slug":"backup-manager","status":"publish","type":"page","link":"https:\/\/www.loicata.com\/index.php\/backup-manager\/","title":{"rendered":"Backup Manager"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\ud83d\udee1\ufe0f Backup Manager<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ud83d\udce6 Classic profiles<\/strong> \u2014 backup to external drive, network share, SSH server, or S3 cloud storage.<br><strong>\ud83d\udd12 Anti-Ransomware profiles<\/strong> \u2014 backup to Amazon AWS S3 with Object Lock, <strong>the technology used in banking<\/strong>. Your data becomes <strong>impossible to delete<\/strong>, even by ransomware.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u2705 <strong>100 % automatic<\/strong> \u2014 daily backups, email alerts, integrity checks<\/li>\n\n\n\n<li>\u2705 <strong>No AWS knowledge needed<\/strong> \u2014 the wizard creates and locks everything<\/li>\n\n\n\n<li>\u2705 <strong>Free and open-source<\/strong> \u2014 no subscription, no account<\/li>\n\n\n\n<li>\u2705 <strong>Windows 10 \/ 11<\/strong> \u2014 one-click MSI installer<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-vivid-cyan-blue-background-color has-background wp-element-button\" href=\"https:\/\/github.com\/loicata\/backup-manager\/releases\/latest\">\u2b07\ufe0f Download for Windows 10 \/ 11<\/a><\/div>\n\n\n\n<div class=\"wp-block-button is-style-outline is-style-outline--1\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/github.com\/loicata\/backup-manager\">GitHub<\/a><\/div>\n<\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/loicata\/backup-manager\/main\/assets\/screenshots\/wizard_mode_choice.png?v=20260419\" alt=\"Setup wizard \u2014 mode choice\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/loicata\/backup-manager\/main\/assets\/screenshots\/general_tab.png\" alt=\"General settings tab\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/loicata\/backup-manager\/main\/assets\/screenshots\/run_backup.png\" alt=\"Run backup view\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/loicata\/backup-manager\/main\/assets\/screenshots\/mirror_tab.png\" alt=\"Mirror configuration tab\"\/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Two modes<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><\/th><th><strong>Classic<\/strong><\/th><th><strong>Anti-Ransomware<\/strong> (anti-ransomware)<\/th><\/tr><\/thead><tbody><tr><td>Destination<\/td><td>USB \/ network share \/ SFTP \/ S3<\/td><td>Amazon AWS S3 with Object Lock<\/td><\/tr><tr><td>Setup<\/td><td>3 steps<\/td><td>11 guided steps \u2014 AWS signup and bucket done for you<\/td><\/tr><tr><td>Protection<\/td><td>Encryption + integrity checks<\/td><td>Classic + backups that <strong>cannot be deleted<\/strong> before their retention date<\/td><\/tr><tr><td>For whom<\/td><td>You already have a drive or NAS<\/td><td>You want to survive a full ransomware attack<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">What Anti-Ransomware does once the wizard finishes<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ud83d\udcc5 Monthly full + daily differential (only changed files)<\/li>\n\n\n\n<li>\ud83d\udd12 Each backup <strong>locked on S3<\/strong> for your chosen duration \u2014 even you cannot delete it<\/li>\n\n\n\n<li>\u2705 SHA-256 integrity check after every upload<\/li>\n\n\n\n<li>\ud83d\udce7 Optional email on success \/ failure<\/li>\n\n\n\n<li>\ud83e\uddf9 Old backups past their lock date auto-deleted by S3 Lifecycle<\/li>\n\n\n\n<li>\ud83d\udd01 Missed a run? Catches up on next startup. Retries on failure.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Retention<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Duration<\/th><th>Use<\/th><\/tr><\/thead><tbody><tr><td><strong>4 months<\/strong> (default)<\/td><td>Ransomware dwell time is ~3 months \u2014 this covers it with margin.<\/td><\/tr><tr><td><strong>13 months<\/strong><\/td><td>Rolling one-year protection.<\/td><\/tr><tr><td><strong>7 years<\/strong><\/td><td>Regulatory archives.<\/td><\/tr><tr><td><strong>Custom<\/strong><\/td><td>2 to 20 years.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Cost shown in the wizard before you commit (10 GB \u2192 800 GB, based on AWS S3 Glacier IR pricing). AWS bills you directly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Key features<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>S3 Object Lock Compliance<\/strong><\/td><td>Ransomware-proof, Anti-Ransomware mode<\/td><\/tr><tr><td><strong>4 storage backends<\/strong><\/td><td>Local \/ USB, network share, SFTP, S3<\/td><\/tr><tr><td><strong>+2 mirror copies<\/strong><\/td><td>Independent, per-destination encryption<\/td><\/tr><tr><td><strong>AES-256-GCM streaming<\/strong><\/td><td>Nothing written in plaintext<\/td><\/tr><tr><td><strong>GFS rotation<\/strong> (classic mode)<\/td><td>Daily \/ weekly \/ monthly<\/td><\/tr><tr><td><strong>SHA-256 integrity<\/strong><\/td><td>Pre, post, and periodic checks<\/td><\/tr><tr><td><strong>DPAPI password storage<\/strong><\/td><td>Windows user-bound<\/td><\/tr><tr><td><strong>Adaptive bandwidth<\/strong><\/td><td>Throttling for slow links (Starlink-tested)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Storage backends<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Destination<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>Local \/ USB<\/strong><\/td><td>Any local drive, external HDD, or removable USB. Auto-detection by hardware serial so drive-letter changes do not break the profile.<\/td><\/tr><tr><td><strong>Network (UNC)<\/strong><\/td><td>Windows shared folder (<code>\\\\server\\share<\/code>) with username \/ password. Credentials go through Windows Credential Manager.<\/td><\/tr><tr><td><strong>SFTP (SSH)<\/strong><\/td><td>Password or private key (Ed25519, ECDSA, RSA). Server-side tar-stream when the remote allows an exec channel.<\/td><\/tr><tr><td><strong>Amazon AWS S3<\/strong><\/td><td>With optional Object Lock for the Anti-Ransomware mode.<\/td><\/tr><tr><td><strong>S3-compatible<\/strong><\/td><td>Scaleway, Wasabi, OVH, DigitalOcean, Cloudflare R2, Backblaze B2, MinIO.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Main interface<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Tab<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>Run<\/strong><\/td><td>Launch a backup, watch progress and logs<\/td><\/tr><tr><td><strong>General<\/strong><\/td><td>Mode, profile name, source folders, exclusions, bandwidth<\/td><\/tr><tr><td><strong>Storage \/ Mirror 1 \/ Mirror 2<\/strong><\/td><td>Primary and up to 2 mirror destinations<\/td><\/tr><tr><td><strong>Encryption<\/strong><\/td><td>AES-256-GCM toggle per destination<\/td><\/tr><tr><td><strong>Schedule<\/strong><\/td><td>Frequency, time, auto-retry, periodic verification<\/td><\/tr><tr><td><strong>Protection<\/strong><\/td><td>Object Lock status, retention, bucket (Anti-Ransomware)<\/td><\/tr><tr><td><strong>Retention<\/strong><\/td><td>GFS policy (classic mode)<\/td><\/tr><tr><td><strong>Email<\/strong><\/td><td>SMTP with provider presets and test button<\/td><\/tr><tr><td><strong>Recovery<\/strong><\/td><td>Restore from local or remote (SFTP, S3, network)<\/td><\/tr><tr><td><strong>Verify<\/strong><\/td><td>On-demand integrity verification<\/td><\/tr><tr><td><strong>History<\/strong><\/td><td>Past backup logs with status column<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Security architecture<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Defense in depth \u2014 independent layers, each designed to fail safely.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">S3 Object Lock (Anti-Ransomware mode)<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Layer<\/th><th>Mechanism<\/th><\/tr><\/thead><tbody><tr><td><strong>Deletion resistance<\/strong><\/td><td>S3 Object Lock Compliance \u2014 the bucket rejects delete and overwrite requests until the per-object retention date<\/td><\/tr><tr><td><strong>Full backups<\/strong><\/td><td>Locked for retention + 30 days so the last full outlives its dependent differentials<\/td><\/tr><tr><td><strong>Differential backups<\/strong><\/td><td>Locked for the retention period<\/td><\/tr><tr><td><strong>Cleanup<\/strong><\/td><td>S3 Lifecycle removes objects after the lock expires<\/td><\/tr><tr><td><strong>No app-side delete<\/strong><\/td><td>Backup Manager never issues a delete against a locked bucket<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Encryption at rest \u2014 <code>.tar.wbenc<\/code> streaming format<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No plaintext data is ever written to disk:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Header (37 B):\n  &#91;4B magic \"WBEC\"] &#91;1B version] &#91;16B salt] &#91;16B reserved]\n\nBody (repeating chunks):\n  &#91;4B plaintext length] &#91;12B nonce] &#91;ciphertext + 16B GCM tag]\n\nEOF sentinel:\n  &#91;4B zeros]<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Cipher and key derivation<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Parameter<\/th><th>Value<\/th><th>Rationale<\/th><\/tr><\/thead><tbody><tr><td>Cipher<\/td><td>AES-256-GCM<\/td><td>NIST-approved authenticated encryption<\/td><\/tr><tr><td>Key size<\/td><td>256 bits<\/td><td>Largest AES key length<\/td><\/tr><tr><td>Nonce<\/td><td>12 B sequential counter<\/td><td>Unique per chunk, never reused<\/td><\/tr><tr><td>Auth tag<\/td><td>16 B (128 bit)<\/td><td>Detects tampering and corruption<\/td><\/tr><tr><td>KDF<\/td><td>PBKDF2-HMAC-SHA256<\/td><td>Standard password-based KDF<\/td><\/tr><tr><td>Iterations<\/td><td>600 000<\/td><td>OWASP 2024 guidance<\/td><\/tr><tr><td>Salt<\/td><td>16 B <code>os.urandom()<\/code><\/td><td>Per-backup, prevents rainbow tables<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Password storage<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Platform<\/th><th>Method<\/th><th>Details<\/th><\/tr><\/thead><tbody><tr><td>Windows<\/td><td>DPAPI (<code>CryptProtectData<\/code>)<\/td><td>Tied to the current Windows user account<\/td><\/tr><tr><td>Fallback<\/td><td>AES-256-GCM with a DPAPI-wrapped 32-byte machine key<\/td><td>Used if DPAPI is unavailable<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Summary<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Layer<\/th><th>Mechanism<\/th><\/tr><\/thead><tbody><tr><td>Ransomware resistance<\/td><td>S3 Object Lock Compliance (Anti-Ransomware mode)<\/td><\/tr><tr><td>Data at rest<\/td><td>AES-256-GCM streaming (<code>.tar.wbenc<\/code>)<\/td><\/tr><tr><td>Key derivation<\/td><td>PBKDF2-HMAC-SHA256, 600 000 iterations, random salt<\/td><\/tr><tr><td>Password storage<\/td><td>Windows DPAPI + AES-256-GCM fallback<\/td><\/tr><tr><td>Integrity<\/td><td>SHA-256 manifest + post-write verify + GCM auth tag<\/td><\/tr><tr><td>Transport<\/td><td>SSH \/ HTTPS \/ SMB<\/td><\/tr><tr><td>Memory<\/td><td>Explicit buffer zeroing on sensitive paths<\/td><\/tr><tr><td>Path safety<\/td><td>Traversal-proof remote path validation<\/td><\/tr><tr><td>Logging<\/td><td>No secrets in any log output<\/td><\/tr><tr><td>Bug reports<\/td><td>Dual HMAC + Ed25519 signed diagnostics, injection-proof<\/td><\/tr><tr><td>Build<\/td><td>Nuitka native C compilation (no extractable bytecode)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Testing<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>pytest                                      # full suite\npytest --cov=src --cov-report=term-missing  # with coverage<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Current status:<\/strong> 1429 tests, 85 % coverage, 0 failures.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CI (GitHub Actions, every push): Black formatting, Ruff linting (Ubuntu), full pytest with coverage enforcement (Windows, Python 3.12 + 3.13).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Build from source<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Prerequisites<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Python 3.11+ (tested on 3.12 and 3.13)<\/li>\n\n\n\n<li><a href=\"https:\/\/nuitka.net\/\">Nuitka<\/a> (Python \u2192 C compiler)<\/li>\n\n\n\n<li>MSVC Build Tools<\/li>\n\n\n\n<li><a href=\"https:\/\/wixtoolset.org\/\">WiX Toolset v3.14<\/a> (MSI only)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Commands<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone https:\/\/github.com\/loicata\/backup-manager.git\ncd backup-manager\npip install -r requirements.txt\npython -m src                 # dev run\npython build_nuitka.py        # -&gt; dist\/BackupManager\/BackupManager.exe\npython build_msi.py           # -&gt; dist\/BackupManager-x.y.z.msi<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Project structure<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>backup-manager\/\n\u251c\u2500\u2500 src\/\n\u2502   \u251c\u2500\u2500 core\/                    # Backup engine, scheduler, config, pipeline\n\u2502   \u2502   \u251c\u2500\u2500 backup_engine.py     # Main orchestrator (11-phase pipeline)\n\u2502   \u2502   \u251c\u2500\u2500 config.py            # Profile dataclasses + JSON persistence\n\u2502   \u2502   \u251c\u2500\u2500 events.py            # Thread-safe event bus for UI updates\n\u2502   \u2502   \u251c\u2500\u2500 bandwidth_tester.py  # Adaptive bandwidth measurement\n\u2502   \u2502   \u251c\u2500\u2500 integrity_verifier.py # Periodic integrity verification\n\u2502   \u2502   \u251c\u2500\u2500 scheduler.py         # In-app scheduler + auto-start\n\u2502   \u2502   \u2514\u2500\u2500 phases\/              # Pipeline phases\n\u2502   \u2502       \u251c\u2500\u2500 collector.py     # File collection + exclusion filtering\n\u2502   \u2502       \u251c\u2500\u2500 filter.py        # Differential change detection\n\u2502   \u2502       \u251c\u2500\u2500 encryptor.py     # Streaming tar encryption\n\u2502   \u2502       \u251c\u2500\u2500 writer.py        # Write dispatcher (local \/ remote)\n\u2502   \u2502       \u251c\u2500\u2500 verifier.py      # Post-write integrity verification\n\u2502   \u2502       \u251c\u2500\u2500 mirror.py        # Mirror replication orchestrator\n\u2502   \u2502       \u2514\u2500\u2500 rotator.py       # GFS retention rotation\n\u2502   \u251c\u2500\u2500 storage\/                 # Storage backends\n\u2502   \u2502   \u251c\u2500\u2500 local.py             # Local \/ USB with drive-serial detection\n\u2502   \u2502   \u251c\u2500\u2500 network.py           # SMB \/ CIFS network shares\n\u2502   \u2502   \u251c\u2500\u2500 sftp.py              # SSH with tar-stream\n\u2502   \u2502   \u251c\u2500\u2500 s3.py                # S3 + Object Lock\n\u2502   \u2502   \u251c\u2500\u2500 s3_setup.py          # Bucket provisioning + cost simulation\n\u2502   \u2502   \u2514\u2500\u2500 base.py              # Abstract backend + retry + throttling\n\u2502   \u251c\u2500\u2500 security\/                # Encryption, DPAPI, secure memory\n\u2502   \u251c\u2500\u2500 notifications\/           # SMTP email with HTML reports\n\u2502   \u2514\u2500\u2500 ui\/                      # Tkinter GUI (Sun Valley theme)\n\u2502       \u251c\u2500\u2500 wizard.py            # Classic (3 steps) + Pro (11 steps) wizard\n\u2502       \u251c\u2500\u2500 app.py               # Main window with mode selector\n\u2502       \u2514\u2500\u2500 tabs\/                # Tab implementations\n\u251c\u2500\u2500 tests\/                       # 1429 tests (unit + integration)\n\u251c\u2500\u2500 CHANGELOG.md\n\u251c\u2500\u2500 requirements.txt\n\u2514\u2500\u2500 pyproject.toml<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Requirements<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Requirement<\/th><th>Version<\/th><\/tr><\/thead><tbody><tr><td>OS<\/td><td>Windows 10 \/ 11<\/td><\/tr><tr><td>Python<\/td><td>3.11+ (dev only \u2014 end users install the MSI)<\/td><\/tr><tr><td>cryptography<\/td><td>&gt;= 43.0.0<\/td><\/tr><tr><td>paramiko<\/td><td>&gt;= 3.0.0<\/td><\/tr><tr><td>boto3<\/td><td>&gt;= 1.35.0<\/td><\/tr><tr><td>Pillow<\/td><td>&gt;= 10.0.0<\/td><\/tr><tr><td>pystray<\/td><td>&gt;= 0.19.0<\/td><\/tr><tr><td>sv_ttk<\/td><td>&gt;= 2.6.0<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>License<\/strong> \u2014 <a href=\"https:\/\/github.com\/loicata\/backup-manager\/blob\/main\/LICENSE\">GPL v3.0<\/a> \u2014 \u00a9 2026 Loic Ader \u2014 <a href=\"https:\/\/loicata.com\">loicata.com<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Issues \/ PRs<\/strong> \u2014 welcome on <a href=\"https:\/\/github.com\/loicata\/backup-manager\">GitHub<\/a>. Open an issue first for anything significant.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udee1\ufe0f Backup Manager \ud83d\udce6 Classic profiles \u2014 backup to external drive, network share, SSH server, or S3 cloud storage.\ud83d\udd12 Anti-Ransomware profiles \u2014 backup to Amazon AWS S3 with Object Lock, the technology used in banking. Your data becomes impossible to delete, even by ransomware. Two modes Classic Anti-Ransomware (anti-ransomware) Destination [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-170","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Backup Manager - loicata<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.loicata.com\/index.php\/backup-manager\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Backup Manager - loicata\" \/>\n<meta property=\"og:description\" content=\"\ud83d\udee1\ufe0f Backup Manager \ud83d\udce6 Classic profiles \u2014 backup to external drive, network share, SSH server, or S3 cloud storage.\ud83d\udd12 Anti-Ransomware profiles \u2014 backup to Amazon AWS S3 with Object Lock, the technology used in banking. Your data becomes impossible to delete, even by ransomware. Two modes Classic Anti-Ransomware (anti-ransomware) Destination [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.loicata.com\/index.php\/backup-manager\/\" \/>\n<meta property=\"og:site_name\" content=\"loicata\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-19T16:52:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/raw.githubusercontent.com\/loicata\/backup-manager\/main\/assets\/screenshots\/wizard_mode_choice.png?v=20260419\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.loicata.com\\\/index.php\\\/backup-manager\\\/\",\"url\":\"https:\\\/\\\/www.loicata.com\\\/index.php\\\/backup-manager\\\/\",\"name\":\"Backup Manager - loicata\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/www.loicata.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.loicata.com\\\/index.php\\\/backup-manager\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.loicata.com\\\/index.php\\\/backup-manager\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/raw.githubusercontent.com\\\/loicata\\\/backup-manager\\\/main\\\/assets\\\/screenshots\\\/wizard_mode_choice.png?v=20260419\",\"datePublished\":\"2026-04-05T19:46:24+00:00\",\"dateModified\":\"2026-04-19T16:52:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.loicata.com\\\/index.php\\\/backup-manager\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.loicata.com\\\/index.php\\\/backup-manager\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.loicata.com\\\/index.php\\\/backup-manager\\\/#primaryimage\",\"url\":\"https:\\\/\\\/raw.githubusercontent.com\\\/loicata\\\/backup-manager\\\/main\\\/assets\\\/screenshots\\\/wizard_mode_choice.png?v=20260419\",\"contentUrl\":\"https:\\\/\\\/raw.githubusercontent.com\\\/loicata\\\/backup-manager\\\/main\\\/assets\\\/screenshots\\\/wizard_mode_choice.png?v=20260419\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.loicata.com\\\/index.php\\\/backup-manager\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\\\/\\\/www.loicata.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Backup Manager\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/www.loicata.com\\\/#website\",\"url\":\"http:\\\/\\\/www.loicata.com\\\/\",\"name\":\"loicata\",\"description\":\"\",\"publisher\":{\"@id\":\"http:\\\/\\\/www.loicata.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/www.loicata.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\\\/\\\/www.loicata.com\\\/#organization\",\"name\":\"loicata\",\"url\":\"http:\\\/\\\/www.loicata.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/www.loicata.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.loicata.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/loicata.png\",\"contentUrl\":\"https:\\\/\\\/www.loicata.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/loicata.png\",\"width\":510,\"height\":180,\"caption\":\"loicata\"},\"image\":{\"@id\":\"http:\\\/\\\/www.loicata.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Backup Manager - loicata","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.loicata.com\/index.php\/backup-manager\/","og_locale":"en_US","og_type":"article","og_title":"Backup Manager - loicata","og_description":"\ud83d\udee1\ufe0f Backup Manager \ud83d\udce6 Classic profiles \u2014 backup to external drive, network share, SSH server, or S3 cloud storage.\ud83d\udd12 Anti-Ransomware profiles \u2014 backup to Amazon AWS S3 with Object Lock, the technology used in banking. Your data becomes impossible to delete, even by ransomware. Two modes Classic Anti-Ransomware (anti-ransomware) Destination [&hellip;]","og_url":"https:\/\/www.loicata.com\/index.php\/backup-manager\/","og_site_name":"loicata","article_modified_time":"2026-04-19T16:52:23+00:00","og_image":[{"url":"https:\/\/raw.githubusercontent.com\/loicata\/backup-manager\/main\/assets\/screenshots\/wizard_mode_choice.png?v=20260419","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.loicata.com\/index.php\/backup-manager\/","url":"https:\/\/www.loicata.com\/index.php\/backup-manager\/","name":"Backup Manager - loicata","isPartOf":{"@id":"http:\/\/www.loicata.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.loicata.com\/index.php\/backup-manager\/#primaryimage"},"image":{"@id":"https:\/\/www.loicata.com\/index.php\/backup-manager\/#primaryimage"},"thumbnailUrl":"https:\/\/raw.githubusercontent.com\/loicata\/backup-manager\/main\/assets\/screenshots\/wizard_mode_choice.png?v=20260419","datePublished":"2026-04-05T19:46:24+00:00","dateModified":"2026-04-19T16:52:23+00:00","breadcrumb":{"@id":"https:\/\/www.loicata.com\/index.php\/backup-manager\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.loicata.com\/index.php\/backup-manager\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.loicata.com\/index.php\/backup-manager\/#primaryimage","url":"https:\/\/raw.githubusercontent.com\/loicata\/backup-manager\/main\/assets\/screenshots\/wizard_mode_choice.png?v=20260419","contentUrl":"https:\/\/raw.githubusercontent.com\/loicata\/backup-manager\/main\/assets\/screenshots\/wizard_mode_choice.png?v=20260419"},{"@type":"BreadcrumbList","@id":"https:\/\/www.loicata.com\/index.php\/backup-manager\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/www.loicata.com\/"},{"@type":"ListItem","position":2,"name":"Backup Manager"}]},{"@type":"WebSite","@id":"http:\/\/www.loicata.com\/#website","url":"http:\/\/www.loicata.com\/","name":"loicata","description":"","publisher":{"@id":"http:\/\/www.loicata.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.loicata.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/www.loicata.com\/#organization","name":"loicata","url":"http:\/\/www.loicata.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/www.loicata.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.loicata.com\/wp-content\/uploads\/2026\/02\/loicata.png","contentUrl":"https:\/\/www.loicata.com\/wp-content\/uploads\/2026\/02\/loicata.png","width":510,"height":180,"caption":"loicata"},"image":{"@id":"http:\/\/www.loicata.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.loicata.com\/index.php\/wp-json\/wp\/v2\/pages\/170","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.loicata.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.loicata.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.loicata.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.loicata.com\/index.php\/wp-json\/wp\/v2\/comments?post=170"}],"version-history":[{"count":11,"href":"https:\/\/www.loicata.com\/index.php\/wp-json\/wp\/v2\/pages\/170\/revisions"}],"predecessor-version":[{"id":216,"href":"https:\/\/www.loicata.com\/index.php\/wp-json\/wp\/v2\/pages\/170\/revisions\/216"}],"wp:attachment":[{"href":"https:\/\/www.loicata.com\/index.php\/wp-json\/wp\/v2\/media?parent=170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}