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>withapp,version(currently 7),exportedAtand counts.<tree>holds folders and accounts; each account has<fields>with one<field name="…">value</field>per field. Optional sections follow:<formattedBlocks>,<totps>(standardotpauth://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-GCMnonce (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 magic8PWDSHARE/8PWDVAULTin 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">[email protected]</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:[email protected]?secret=…&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.