Arf.
Ownership

Your data, actually yours

A folder of files that outlives the app.

The single promise Arf will not break is that your work belongs to you, in a form no company controls. Your vault is a plain folder: one Markdown file per note, an attachments/ folder holding the PDFs, EPUBs, and images you add — reference files beside it, note images in attachments/images/ — and a small header on each note. You choose that folder at first launch, and the app — native on Windows, macOS, and Linux — reads and writes it directly on your disk. Copy it to a USB stick, keep it in a Drive or Dropbox folder, open it in any editor, and it still makes sense. Everything Arf builds on top — the search index, the fingerprints, the graph layout, the order you dragged things into — lives in small sidecar files that can be deleted and rebuilt at any time. They are never precious, and they are never the only copy of anything you wrote.

The header on each note

Every note carries a short YAML header: a stable id, its title and tags, and two timestamps for each of created and updated — one in UTC as the universal standard, one in your machine's local time with its offset (…+03:00 in Istanbul). Arf reads your system's time zone, so the record is correct wherever the note was written, and the UTC field keeps sync ordering unambiguous across devices.

The .arf bundle

Sometimes you want the whole brain as a single object — to email it, to archive a dated backup, to hand it to a collaborator. An .arf file is exactly that: your entire vault, notes and attachments together, packed into one portable file. The working vault stays an open folder; the bundle is just how it travels.

Sync across your devices

Because your vault is an ordinary folder of Markdown files, syncing it needs no account with Arf and no server of ours. Keep the vault folder you chose at first launch in a place your devices already sync — Dropbox, iCloud Drive, OneDrive, Google Drive, or Syncthing. Point Arf at the same folder on each machine and you are done.

Choose the folder once. Arf keeps it in step — both ways, automatically, while you work.The sync flow, in one sentence

Arf watches the folder continuously. An edit you make on your laptop appears on the desktop within seconds; a note you delete on one device is removed on the others. There is no button to press and no command line — the cloud service you already use moves the files, and Arf reconciles them by keeping the newer version of each note. The header at the top of the sidebar shows the vault's folder name with a small live sync indicator beside it. Power users who prefer real version history can put that same folder in a git repository and commit underneath.

A word on durability

Arf writes real files to your disk; nothing is kept in a private app database. The .arf bundle export is always available as a dated backup of the whole vault.

What happens to your notes

Notes are the thing you cannot afford to lose, so every operation that touches a file is written to be safe rather than fast. Concretely:

When you…What Arf does
Rename or move a noteWrites the new file first and removes the old one only after the write succeeds — a note can never end up on neither path. A failed write (locked file, reserved name, path too long) leaves the note where it was and retries on the next sync tick. Notes are identified by a stable id in their header, not by filename, so renaming or moving the .md file yourself never loses it.
Move a folderRewrites the paths of its notes and subfolders in one step. A circular move into its own descendant, and a move onto a name another subtree already owns, are both refused — two folders are never silently merged.
Hit a sync conflictKeeps the newer copy of each note. If the note open in the editor also changed on another device, the remote version is kept beside yours as a (conflict copy) rather than overwritten, so you choose which to keep. A note deleted elsewhere is tombstoned so it is not resurrected; a delete that could not complete is retried.
Back up or importExports every note, folder, and reference to one .arf file. Import merges by id and never overwrites a note you already have; imported notes are written into your current vault, not tied back to the file they came from.
Export a noteWrites a separate file and never touches the note in your vault. If the save is cancelled or the target is not writable, Arf tells you and leaves everything as it was.

If the fast local cache ever becomes unreadable, Arf backs it up under a separate key instead of overwriting it, then rebuilds from the files on your disk.

Export your writing

Notes leave as easily as they arrive. Any note exports to Markdown, HTML, or PDF, and each format shows only the options that fit it — a Markdown export asks whether to keep the YAML header, a PDF export asks for page size and margins — so you are never faced with page settings for a plain-text file. The document export is built to avoid the things that make an exported file look broken:

Citations in the document resolve through the Library, so a manuscript exports with its reference list intact. A note's images travel with it too: the export inlines them, so the file you hand off is self-contained. A small Arf mark sits in the top-right corner of the page — and nothing else, no running header or footer.