Skip to main content

ArcVault

Your Arc library, liberated.

You save valuable things across Arc's Spaces, folders and favorites, but that library is hard to export, back up or move anywhere else. ArcVault turns it into portable data you own: JSON, CSV, Markdown, browser bookmarks, or a searchable offline page.

pipx install arcvault        # once published to PyPI (see "Install from source" below)
arcvault export
Arc
 ├── Spaces
 ├── Folders (any depth)
 ├── Favorites
 ├── Saved tabs
 └── Auto-archive  (arcvault recover)
        ↓
     ArcVault
        ↓
 JSON · CSV · Markdown · Bookmarks · HTML library

Privacy: ArcVault reads browser data that may contain sensitive browsing information. By default, all processing happens locally. ArcVault doesn't collect telemetry or upload your browsing data, and it never writes to Arc's files. See docs/privacy.md.

What arcvault export gives you

Everything you intentionally saved in Arc's sidebar, across every Space:

  • pinned tabs, and tabs inside folders and nested folders
  • favorites
  • your folder structure, as it is in Arc

All saved items are treated equally. Favorites, pinned tabs and folder tabs are just different places in Arc, not a ranking.

If you saved the same link in several places, ArcVault keeps every place. In the JSON and CSV it's one resource with a list of locations. In the Markdown, bookmarks and HTML library it appears in each folder where you saved it, under the URL and title you saved it with.

~/Documents/ArcVault/
├── arcvault.json     everything, losslessly: resources + all their locations
├── arcvault.csv      one row per link, for spreadsheets
├── arcvault.md       readable, organized by Space › Folder
├── bookmarks.html    Netscape bookmark file, the standard browser import format
└── library.html      offline page with search, filters and a folder tree

Each resource also gets an offline type (paper, video, repo, docs, course, PDF, …) and a topic from simple keyword rules. No API key is needed.

Recover auto-archived tabs

Arc archives Today tabs after a while, and closed tabs go to the archive as well. To get back anything that's no longer saved in your sidebar:

arcvault recover        # writes ~/Documents/ArcVault/recovered/

To include archived tabs in a normal export instead, use arcvault export --archive.

Organize by topic

arcvault organize           # shows your library grouped into topics
arcvault organize --write   # also writes a Markdown folder per topic

You can configure the topics in ~/.config/arcvault/config.toml:

output = "~/Documents/ArcVault"

[organization]
categories = ["Artificial Intelligence", "Robotics", "Cooking"]

[organization.keywords]
Cooking = ["recipe", "baking", "sourdough"]

Install from source

Requires Python 3.11+ and macOS with Arc installed.

git clone https://github.com/lexdumitrache/arcvault && cd arcvault
python3 -m venv .venv && .venv/bin/pip install -e .
.venv/bin/arcvault export

What has been tested

Status
Arc 1.165.1 on macOS, one real library Checked against real data: every saved sidebar tab is exported, every location survives deduplication, and all export formats contain the same resources
Edge cases (unknown node types, malformed items, half-written files, same-named folders, cycles) Covered by synthetic tests
Other Arc versions on macOS Not tested. Unknown layouts are handled best-effort and reported
Importing bookmarks.html into Chrome, Firefox, Safari or Edge Not tested yet. The file uses the standard Netscape format those browsers import
Arc for Windows Not supported yet

If something is missing or looks wrong, run arcvault doctor, then arcvault inspect --sanitize > arc-structure.json, and attach that file to an issue. It contains structure only: URLs, titles and names are replaced with placeholders.

Advanced features

None of these are needed for normal use, and none run unless you ask for them.

Feature Command Notes
Search from the terminal arcvault search "robot learning" --type paper Keeps a local SQLite index at ~/.arcvault/index.db, rebuilt automatically when Arc's data changes
Detailed statistics arcvault export --stats Per Space, types, topics, domains, folders
Raw browsing history arcvault recover --history Large and noisy. Read from a temporary copy of Arc's History database
Metadata enrichment arcvault export --enrich Makes network requests to each site, plus the GitHub, YouTube and arXiv APIs
AI topic classification arcvault organize --ai anthropic|openai|ollama Sends titles and URLs to the provider you choose (Ollama runs locally). Asks for confirmation before using a cloud provider

Python API:

from arcvault import ArcVault

library = ArcVault.discover().scan()            # scan(archive=True) to include recovery data
for r in library.unique:
    print(r.title, r.url, [loc.label for loc in r.locations])
library.export("json", "arc.json")

How it works

ArcVault reads Arc's sidebar and archive files without modifying them. It turns every saved tab into a Resource, normalizes URLs conservatively (fragments and query strings are kept apart from known tracking parameters), and merges links that are the same while keeping every location. It then writes the exports. Arc's storage format is documented in docs/arc-data.md, and the code layout in docs/architecture.md.

Development

python3 -m venv .venv && .venv/bin/pip install -e ".[dev]"
.venv/bin/pytest && .venv/bin/ruff check src tests && .venv/bin/mypy
ARCVAULT_REAL_ARC=1 .venv/bin/pytest tests/test_real_arc.py   # optional: invariants on your own Arc data

The tests use synthetic fixtures. Real browsing data never goes into the repository. See docs/contributing.md.

License

MIT

Metadata

Release files for arcvault 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arcvault 1.0.0
File Size Uploaded Provenance
arcvault-1.0.0.tar.gz 71.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for arcvault 1.0.0
File Interpreter ABI Platform
arcvault-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 122.5 kB

Release files / arcvault-1.0.0.tar.gz

Download URL arcvault-1.0.0.tar.gz
Size 71.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e0946b1926d0e3e8f1cea08fecbadf8951b4f30b1587ce05d0942bcd1ec6ae0c
BLAKE2b-256 checksum
How to use checksums
c412d6f16d2f9e58e3152ee83682f900c985704434018e765c80c6b08be14ad0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / arcvault-1.0.0-py3-none-any.whl

Download URL arcvault-1.0.0-py3-none-any.whl
Size 51.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
39250e269e188508a22845998b725b06bbc61278f69de3402e8fc35e48e11f92
BLAKE2b-256 checksum
How to use checksums
bc6a5e1b912b6ab6e466618d2e0a5da7fba5aeb0e845de70e9b3ce0ed467dd18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Security for arcvault 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for arcvault-1.0.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page