Skip to main content

Nosdav

WebDAV-compatible storage with Nostr authentication. HTTP file storage meets cryptographic identity.

The Idea​

Nosdav combines:

  • WebDAV — Standard HTTP protocol for file management
  • Nostr — Cryptographic authentication via NIP-98

No passwords. No accounts. Just sign with your Nostr key.

How It Works​

┌─────────────┐     NIP-98 Auth     ┌─────────────┐
│ Client │────────────────────►│ Nosdav │
│ (Nostr key)│ │ Server │
└─────────────┘ └─────────────┘
│ │
│ GET/PUT/DELETE │
│ + Authorization header │
└───────────────────────────────────┘
  1. Client creates a Nostr event (kind 27235)
  2. Event is base64-encoded in Authorization header
  3. Server verifies the signature
  4. If valid, the request proceeds

Authentication​

NIP-98 authentication header:

GET /files/document.txt HTTP/1.1
Authorization: Nostr <base64-encoded-event>

The event contains:

  • URL being accessed
  • HTTP method
  • Timestamp (prevents replay)
  • Your signature

Quick Start​

# Start a Nosdav server
npx nosdav

# Upload a file (with nostr-tools)
curl -X PUT https://nosdav.example/files/test.txt \
-H "Authorization: Nostr $(nostr-sign)" \
-d "Hello, Nosdav!"

Use Cases​

Personal File Storage​

Store files accessible with your Nostr identity.

Pod Backend​

Use Nosdav as storage for Solid-like data.

Encrypted Storage​

Client-side encrypt before upload — only you can read.

Shared Spaces​

Multiple Nostr users can have access to shared directories.

See Also​