Compatibility, with evidence attached
Pure Vault recognizes export shapes from their contents, not filenames alone. Compatibility evidence and the outcome of one import are deliberately separate things, and this page lists both honestly.
How to read the tiers
Reserved for an independently sourced corpus, exact record reconciliation, malformed and partial coverage, and native-platform smoke proof. No adapter has earned this label yet.
The documented shape is implemented and exercised with fictional repository fixtures. Vendor drift and real-export coverage are still open evidence.
The format is private or undocumented enough that drift is expected.
Complete, partial, or failed describes only the current parse. A complete parse does not upgrade a Preview adapter to Verified. Each import records the adapter, recognized shape, tier, parse result, retained item count, and whether skipped-item reconciliation is known. A missing skipped count is shown as unknown, never assumed to be zero.
For any file, folder, or ZIP selection, the app first builds one bounded manifest of regular source files and reuses it across every adapter, so multi-format detection is a single traversal of your backup rather than one walk per format.
Messages
| Source | Select | Recognized shape | Evidence | Important limits |
|---|---|---|---|---|
| Telegram Desktop | result.json, its folder, or export ZIP | Telegram JSON with top-level chat/messages or a chats.list | Preview | Single-chat exports of personal chats, groups, channels, and Saved Messages import alongside full exports; service messages attribute their actor. Visible mixed text/entity arrays are flattened. Local attachment references stay inside the selected root. |
| Facebook Messenger | export folder, message_N.json, or export ZIP | Meta thread JSON with messages plus participants and thread identity | Preview | Meta does not publish a versioned message schema. Numbered fragments are combined when their content matches. |
| Instagram direct messages | export folder, message_N.json, or export ZIP | Same Meta thread shape | Preview | Folder names have changed over time, so detection does not depend on one path. |
| Android SMS/MMS | XML file or containing folder | SMS Backup & Restore smses XML | Preview | SMS and text MMS are readable. Binary MMS parts remain confined local attachment references. |
| exported chat text or ZIP | Timestamped transcript lines with optional senders, in Android dash or bracketed iOS form | Preview | Transcript grammar is locale-dependent and not versioned; direction marks and narrow no-break spaces in current exports are tolerated. Multiline records work; ambiguous dates, unrecognized timestamps, and orphan lines are diagnosed, and text files without message headers are left to other adapters. Encrypted crypt-format databases are refused. | |
| Apple Messages / iMessage | copied chat.db or selected Messages folder | SQLite header plus required chat, message, and chat_message_join tables | Experimental | Apple publishes no portable schema. Binary attributedBody, edits, reactions, and schema drift can be incomplete. Selecting chat.db directly does not authorize sibling attachments. |
Notes and generic files
| Source | Recognized shape | Evidence | Important limits |
|---|---|---|---|
| Markdown, text, and HTML notes | .md, .markdown, .txt, .html, .htm not claimed by a stronger adapter | Preview | WhatsApp transcripts and bookmark HTML route to their specific adapters. HTML becomes inert text; raw Markdown HTML and remote media never execute or load. |
| Google Keep Takeout | Note-shaped JSON with text or list content, or Keep timestamps | Preview | Labels, timestamps, list items, and confined sibling attachments are retained when present. |
| Evernote | en-export ENEX XML | Preview | ENML is treated as hostile source data and converted to safe reading content. |
| Generic structured and config preview | JSON, CSV, YAML, YML, TOML, INI, CFG, CONF, LOG not claimed by a specific adapter | Preview | The first 256 KiB is kept for quick inspection and truncation is diagnosed. The source stays complete. Files already owned by Telegram, Meta, Keep, or Contacts adapters are not duplicated here. |
Contacts, calendars, bookmarks, and media
| Category | Recognized shape | Evidence | Important limits |
|---|---|---|---|
| Contacts | vCard BEGIN:VCARD, known Google Contacts CSV, or known Outlook CSV columns | Preview | vCard 2.1, 3.0, and 4.0-style properties are normalized. Unknown fields are retained where the adapter has an extra-field mapping. Remote photos are never fetched. |
| Calendars | iCalendar BEGIN:VCALENDAR with VEVENT or VTODO records | Preview | Timezone IDs, all-day values, and recurrence rules remain source fields; the viewer does not expand an infinite series. |
| Browser bookmarks | Netscape bookmark HTML structure | Preview | HTML is parsed as data. Every address is inert, copy-only text; the app does not navigate to it. Non-HTTP(S) schemes are rejected during import. |
| Images | Recognized image extensions with metadata probing | Preview | Folders act as albums. Preview depends on the OS codec. SVG is deliberately not treated as executable media. |
| Video and audio | Common extension and MIME mapping | Preview | Playback depends on codecs in the system WebView. ZIP-contained media is metadata-only because the app never extracts archives. |
Measured safety profile
This memory-only release deliberately refuses unmeasured input shapes rather than risking an unresponsive desktop. The boundaries are per-import safety fuses derived from a measured 50,000-message allocation and a 512 MiB import working-set target, not claims about what every computer can hold:
- 50,000 normalized primary items across all matching adapters for one selected source.
- 50,000 regular files in a selected directory manifest; a ZIP is limited to 50,000 central-directory entries.
- 256 MiB maximum parser input per structured file, and 256 MiB maximum declared ZIP expansion, per entry and in total.
- 40:1 maximum declared ZIP expansion ratio.
- 256 KiB retained per generic file preview.
When a limit is reached, Pure Vault refuses the container or keeps an explicitly partial result. It never modifies the source. More than one workspace can stay open, and their retained data accumulates in process memory until each is cleared or the app exits.
Explicitly unsupported
- Signal backups, encrypted WhatsApp databases, password-manager vaults, encrypted archives, and encrypted device backups.
- Google's native Android cloud-restore backup, because it is not a user-readable portable file.
- Time Machine volumes, full-disk images, application restoration, and deleted-data recovery.
- Raw Apple Notes databases, browser-history databases, health and location archives, email MBOX, and Discord packages in this release.
- Any source that needs a password, network login, remote attachment fetch, archive extraction, or symlink escape.
These boundaries are product decisions. Pure Vault refuses or marks data partial instead of presenting an incomplete parse as established compatibility.
Format research references
The adapters follow the published guidance where any exists: Telegram export, Meta download instructions, Instagram export, SMS Backup & Restore XML fields, WhatsApp export, Apple Messages storage guidance, vCard RFC 6350, iCalendar RFC 5545, and the Evernote ENEX DTD.