October is Cybersecurity Awareness Month — here is a password checklist you can finish in an evening.

Learn

Your data is always yours

If 8PWD disappeared tomorrow you would lose nothing. Here is why — the file format, the export paths and a script you can read in five minutes — and how to take everything with you.

If 8PWD disappeared tomorrow

You'd lose nothing. Here's why, and how to take everything with you.

  • Open file format

    A .8pwd backup is plain XML. Encrypted backups use standard AES‑GCM with a key derived from your password (PBKDF2) — documented, no secret format.

  • No account, no server

    There's nothing to shut down. The app keeps working forever on the devices it's installed on, with or without us.

  • Move between devices on your terms

    AirDrop a copy to another device and merge it. No cloud involved.

  • If you stop paying

    Records above the free limit become read-only. Nothing is deleted, nothing is held hostage; you can export at any time.

  • What the law says

    Data portability is a right under GDPR (EU / UK), LGPD (Brazil) and similar laws. Because your data never leaves your device, 8PWD has nothing to hand over — you already hold the only copy.

Plain CSV opens in Apple Passwords, 1Password, Bitwarden, Chrome and any spreadsheet. The .8pwd backup is XML you can read in a text editor.

Keep one backup somewhere other than this phone.

The .8pwd file, documented

A backup is one file. Plain by default, encrypted if you switch Encrypt this backup on; passkeys are only ever written into encrypted backups.

  • Plain backup: UTF-8 XML. The root element is <vault> with app, version (currently 7), exportedAt and counts. <tree> holds folders and accounts; each account has <fields> with one <field name="…">value</field> per field. Optional sections follow: <formattedBlocks>, <totps> (standard otpauth:// links), <wifi>, <cards>, <identities> and <passkeys>. Older versions of the app read newer files by ignoring what they don't know.
  • Encrypted backup: 8 bytes 8PWDENC1, a 4-byte big-endian PBKDF2 iteration count (600,000 on export), a 16-byte salt, then AES-256-GCM nonce (12) + ciphertext + tag (16). The key is PBKDF2-HMAC-SHA256 of the UTF-8 backup password; the plaintext is the same XML. No proprietary container, no secret format — any standard library can open it.
  • CSV: Me › Export › Export a universal CSV writes the common column set (name, URL, username, password, note) that Apple Passwords, 1Password, Bitwarden, Chrome and spreadsheets import directly.
  • Shares and transfers (.8pwdshare, AirDrop vault transfer) use the same envelope with a 6-digit one-time code as the password and the magic 8PWDSHARE / 8PWDVAULT in front.
<?xml version="1.0" encoding="UTF-8"?>
<vault app="8PWD" version="7" exportedAt="2026-10-08T12:00:00Z" nodes="2" formattedBlocks="0" totps="1">
  <tree>
    <folder uuid="…" name="Shopping">
      <account uuid="…" name="Example Shop" favorite="false" category="shopping">
        <fields>
          <field name="Username">me@example.com</field>
          <field name="Password">correct horse battery staple</field>
          <field name="URL">https://shop.example.com</field>
        </fields>
      </account>
    </folder>
  </tree>
  <totps>
    <totp uuid="…" linkedAccount="…">otpauth://totp/Example:me@example.com?secret=…&amp;issuer=Example</totp>
  </totps>
  <wifi>…</wifi>  <cards>…</cards>  <identities>…</identities>  <passkeys>…</passkeys>
</vault>

Check a backup file without the app

verify_8pwd.py is a single Python 3 file with no dependencies. It tells you whether a file is a plain or an encrypted 8PWD backup, the format version, when it was exported, how many accounts, folders, codes, Wi-Fi networks, cards, identities and passkeys it holds, and its SHA-256 — without changing the file and without the network. With a password and the optional cryptography package it can also decrypt and count an encrypted backup. Read it first; it is short.

python3 verify_8pwd.py Backup.8pwd
python3 verify_8pwd.py Backup.8pwd --password 'your backup password'
python3 verify_8pwd.py Backup.8pwd --json

Download verify_8pwd.py Read the source

Public domain (CC0). It prints counts and names of sections only — never a password — unless you add --show-names.

In the app: Me › Your data is always yours

The text on this page is the text 8PWD 3.1 shows on screen, in this language; it is generated from the app's own strings so the two cannot drift apart.

Download on the App Store

Free for ten passwords, every feature included. One purchase for iPhone, iPad and Mac.

Download on the App StoreDownload on the Mac App Store

Read next