Docferry Feature Overview
Docferry by Bondie Labs helps people share one Obsidian note as one protected reader URL. The product boundary is intentionally narrow: one file -> one share -> one URL.
Right-click a note in Obsidian, create one protected reader link, and close it whenever the share is done.
| Product promise | Website wording |
|---|---|
| Source boundary | The share starts from the note you are looking at, not a folder or site. |
| Reader boundary | Reader links are built for direct delivery, not public discovery. |
| Control boundary | Password, expiry, revoke, and update stay close to the one reader link. |
| Import boundary | A Docferry URL can return as one Markdown note with explicit assets. |
Feature Flow
Three-Move Workflow
Docferry stays inside the writing workflow. The action begins on the current note and ends with a copied link.
| Step | Action | Website wording |
|---|---|---|
| 1 | Right-click | Start from the current Markdown note in Obsidian. |
| 2 | Publish | Choose the access settings, then create one protected reader link. |
| 3 | Share URL | Send the copied link, update the same URL later, or close it when the note should no longer be read. |
Trust Proofs
| Proof | What Docferry Does |
|---|---|
| Current note only | The share starts from the note you are looking at, not a folder or site. |
| Password optional | Add a password when a reader link needs an extra gate. |
| Expires or revokes | Close access with an expiry date or stop the URL when the share is done. |
| No search listing | Reader links are built for direct delivery, not public discovery. |
Reader Experience
The viewer renders Markdown into a calm read-only page, with password, expired, and stopped states handled as part of the same share.
| Reader state | Description |
|---|---|
| Rendered Markdown | A clean reading page keeps headings, callouts, tables, code, and mobile spacing close to Obsidian reading habits. |
| Per-share gate | A password opens only this reader URL. It does not grant access to any other note or owner space. |
| Expired or stopped | Closed links show a calm status page. Readers do not see stack traces, directories, or related documents. |
Bring It Back
Import a Docferry URL into Obsidian when the handoff needs to return to your own writing space.
One shared document returns as Markdown.
- Import one received Docferry URL back into Obsidian.
- Bring back the shared Markdown and explicitly referenced attachments.
- Keep it as a one-time import, not a sync channel.
Explicit Links
Related notes stay private unless each target is deliberately shared by the sender.
| Link behavior | Boundary |
|---|---|
| Shared target | A linked note opens only when that target has also been shared. |
| Publisher visibility | Publishers can check link status before sending the reader URL. |
| Reader privacy | Readers never receive a hidden directory or source-space browser. |
Technical Surfaces
| Surface | Status | Website wording |
|---|---|---|
| REST + OpenAPI | Implemented alpha | FastAPI publishes a machine-readable contract for plugin and automation clients. |
| CLI + plugin import | Implemented alpha | A Docferry URL can be imported back as one Markdown note with explicit assets. |
| MCP server | Planned | Agent tools are planned inside the same single-share boundary. |
Implemented Alpha
- Obsidian plugin one-note publish, update, and revoke
- FastAPI service with OpenAPI schema
- PostgreSQL-backed share metadata and events
- Password, expiry, revoke, and stopped states
- Access events and password failure rate limits
- OSS/COS share-scoped attachment assets
- Constrained CSS snapshot for reading style
- CLI and plugin import for one Docferry URL
- Internal link resolver and link status UI
Not Goals
| Not a Goal | Why It Matters |
|---|---|
| Folder or vault publishing | Docferry is centered on one explicit source note. |
| Digital garden or public directory | Reader links are for direct delivery, not public discovery. |
| Sync, backup, or real-time collaboration product | Import is a controlled return path, not a sync channel. |
| Reader-side browsing across related notes | Related notes stay private unless each target is deliberately shared. |
