Note Relay Documentation
Complete guide to getting started with Note Relay Pro for Obsidian.
Overview
Note Relay brings your Obsidian vault to any device through secure peer-to-peer connections. Access your notes remotely without compromising privacy or speed.
- Free: Local access via HTTP server (localhost only)
- Pro: Remote access via WebRTC from anywhere
Installation
Note Relay is an Obsidian plugin that requires manual installation until it's approved for the Community Plugin directory.
1 Download the Plugin
Get the latest release from GitHub:
https://github.com/KJ-Developers/noterelay-obsidian/releases
Download these three files:
main.jsmanifest.jsonclient.html
2 Install to Obsidian
- Open your Obsidian vault folder
- Navigate to
.obsidian/plugins/(create if doesn't exist) - Create a new folder:
noterelay - Copy the three downloaded files into this folder
- Restart Obsidian
3 Enable the Plugin
- Open Obsidian Settings
- Go to Community Plugins
- Find Note Relay in the list
- Toggle it ON
You should now see Note Relay in your plugin settings.
Quick Start
Free Version (Local Access)
Step 1: Open Note Relay settings and go to the Local Access tab
Step 2: (Optional) Change the port from default 5474 if needed
Step 3: Set a password for local access
Step 4: Click Start Server
Step 5: Open your browser and visit: http://localhost:5474 (or your custom port)
Step 6: Enter your password and start editing!
Base/Pro Version (Remote Access)
Step 1: Subscribe to Base ($1.99/mo) or Pro ($3.99/mo) at noterelay.io
Step 2: Open Note Relay settings → Remote Access tab
Step 3: Set your Master Password (your owner password—never share this)
Step 4: Enter Your Email Address (the one from your subscription)
Step 5: Click Activate Remote Access
Step 6: Wait for confirmation: "✅ Active & Online"
Step 7: On any device, login to your dashboard
Step 8: Click Connect on your vault and enter your master password
Features
Core Features (All Versions)
- Full Editor: Markdown editor with live preview
- Graph View: Visualize note connections
- Backlinks: See all notes linking to current note
- Search: Fast full-text search across all notes
- Folder Navigation: Browse your vault structure
- Dark/Light Mode: Theme toggle
Tier Comparison
| Feature | Free | Base ($1.99/mo) | Pro ($3.99/mo) |
|---|---|---|---|
| Local Access (HTTP) | |||
| Remote Access (WebRTC) | |||
| Access from Any Device | |||
| Guest Access (Host) | |||
| Guest Access (Join) | |||
| Dashboard Management | |||
| Audit Logs | |||
| End-to-End Encryption (Remote) | N/A |
Team Collaboration (Pro Tier)
Share your vault with team members without sharing your master password. Pro tier includes unlimited guest access with granular permissions.
Adding Guests
Step 1: In Obsidian, go to Settings → Note Relay → Remote Access → Guest Access Control
Step 2: Fill in the guest form:
- Email: Guest's email address (must match their subscription)
- Display Name: Friendly identifier (e.g., "Bob from Marketing")
- Password: A unique password for THIS guest (NOT your master password)
- Mode: Read-Only or Read-Write
Step 3: Click Add Guest
Step 4: Manually share the password with your guest via Signal, Slack, or 1Password
We NEVER email passwords. You must share guest passwords securely through external channels.
How Guests Connect
Guest Requirements:
- Active Base ($1.99/mo) or Pro ($3.99/mo) subscription
- Login to noterelay.io/dashboard
Connection Flow:
- Guest logs into their dashboard
- Your vault appears in "Shared with Me" section
- Guest clicks Connect
- Guest enters the password YOU gave them (not their own password)
- Done! Guest has read-only or read-write access based on your settings
Managing Guests
- View All: See all guests in Settings → Remote Access → Guest Access Control
- Revoke Access: Click the trash icon next to any guest
- Change Password: Revoke and re-add with new password
- Audit Access: Pro tier logs all activity to `.obsidian/plugins/noterelay/access.log`
- Master Password: Owner-only. Full access. NEVER share.
- Guest Passwords: Unique per guest. Revocable anytime.
- Defense in Depth: Guest license validated in plugin AND dashboard.
- Zero Knowledge: All passwords hashed locally (SHA-256).
Advanced Setup (For Technical Users)
Self-Hosted Remote Access (Free Alternative)
For advanced users who want remote access without paying for Pro, you can set up your own secure remote access using port forwarding and SSL. This requires significant technical knowledge and ongoing maintenance.
This setup is complex and requires network administration knowledge. We recommend Pro for most users—it's only $1.99/month and includes automatic setup, security updates, and support.
What You'll Need:
- A static IP address or dynamic DNS service (like DuckDNS, No-IP)
- Access to your router's admin panel for port forwarding
- A domain name (free options: DuckDNS, FreeDNS)
- SSL certificate (Let's Encrypt via Certbot)
- Reverse proxy software (Nginx or Caddy recommended)
- Firewall configuration knowledge
Step 1: Port Forwarding
- Log into your router's admin panel (usually http://192.168.1.1 or http://192.168.0.1)
- Find "Port Forwarding" section (may be under "Advanced Settings" or "NAT")
- Create a new port forwarding rule:
- External Port: 443 (HTTPS)
- Internal Port: 5474 (or your custom port)
- Internal IP: Your computer's local IP (find with
ipconfigon Windows orifconfigon Mac/Linux) - Protocol: TCP
- Save and enable the rule
Step 2: Dynamic DNS Setup
- Sign up for a free dynamic DNS service (e.g., DuckDNS)
- Create a subdomain (e.g.,
mynotes.duckdns.org) - Install the DDNS update client on your computer to keep your IP updated
- Verify your domain resolves to your public IP:
ping mynotes.duckdns.org
Step 3: SSL Certificate with Let's Encrypt
- Install Certbot:
brew install certbot(Mac) orsudo apt install certbot(Linux) - Stop Note Relay's local server temporarily
- Generate certificate:
sudo certbot certonly --standalone -d mynotes.duckdns.org - Note the certificate paths (usually in
/etc/letsencrypt/live/mynotes.duckdns.org/) - Set up auto-renewal:
sudo certbot renew --dry-run
Step 4: Reverse Proxy (Nginx Example)
- Install Nginx:
brew install nginxorsudo apt install nginx - Create config file:
/usr/local/etc/nginx/servers/noterelay.conf - Add configuration:
server {
listen 443 ssl;
server_name mynotes.duckdns.org;
ssl_certificate /etc/letsencrypt/live/mynotes.duckdns.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mynotes.duckdns.org/privkey.pem;
location / {
proxy_pass http://localhost:5474;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
} - Start Nginx:
sudo nginxorsudo systemctl start nginx - Start Note Relay's local server in Obsidian
- Access remotely:
https://mynotes.duckdns.org
- No configuration: Works instantly, no technical setup required
- No maintenance: We handle SSL certificates, security updates, and infrastructure
- Better connectivity: WebRTC works through most firewalls and NAT
- Multiple devices: Manage all your vaults from one dashboard
- Security: Zero-knowledge architecture with automatic updates
- Support: Get help when you need it
All this for just $1.99/month or $19.99/year. Upgrade to Pro →
Troubleshooting
Plugin Won't Enable
Problem: Plugin shows in list but won't toggle on
Solution:
- Verify all three files (
main.js,manifest.json,client.html) are in the plugin folder - Check that folder name is exactly
noterelay(lowercase, no spaces) - Restart Obsidian completely (close and reopen)
- Check Obsidian console for errors (Cmd+Option+I on Mac, Ctrl+Shift+I on Windows)
License Activation Fails
Problem: "Activation failed" error when validating license
Solution:
- Verify license key format is correct:
NR-XXXX-XXXX-XXXX - Check that you've set a remote password first
- Confirm your license is active in the dashboard
- Check your internet connection
- Try clicking "Activate Remote Access" again
Vault Shows Offline in Dashboard
Problem: Vault appears offline even though plugin is running
Solution:
- Wait 60 seconds (heartbeat interval)
- Check Obsidian console for heartbeat errors
- Verify internet connection is stable
- Try clicking "Activate Remote Access" again to re-register
- Refresh the dashboard page
Connection Fails from Dashboard
Problem: "Connection failed" when clicking Connect
Solution:
- Verify vault shows as "ONLINE" in dashboard
- Check that Obsidian is running with plugin enabled
- Confirm your computer is not behind restrictive firewall
- Try refreshing both the dashboard and Obsidian
- Check if your network blocks WebRTC connections
WebRTC connections may fail on some corporate networks or restrictive firewalls. We're working on TURN server support to solve this.
Local Server Won't Start
Problem: Error when clicking "Start Server" in Local Access tab
Solution:
- Check if port 5474 is already in use by another application
- Try restarting Obsidian
- Check Obsidian console for specific error messages
- Ensure you've set a local password first
Can't Access Local Server
Problem: Browser shows "Can't connect" or "This site can't be reached"
Solution:
- Verify the server is running (check plugin status)
- Check your configured port in Settings → Note Relay → Local Port (default: 5474, configurable)
- Make sure you're using
http://nothttps:// - Try
http://127.0.0.1:PORTinstead of localhost (replace PORT with your configured port) - Check if your firewall is blocking local connections
- Ensure you're on the same device running Obsidian
System Requirements
Obsidian
- Obsidian v0.15.0 or higher
- Desktop version (Windows, Mac, or Linux)
- Mobile version not currently supported
Browser Support (for web client)
- Chrome/Edge: v90+
- Firefox: v88+
- Safari: v14+
- Must support WebRTC (Pro version)
Network Requirements
- Free: No internet required (local only)
- Pro: Stable internet connection
- Pro: Firewall must allow WebRTC connections
- Pro: Ports: Outbound HTTPS (443) and WebRTC
Security & Privacy
Zero-Knowledge Architecture
Note Relay is designed with privacy as the foundation:
- No server storage: Your notes never touch our servers
- Direct connections: WebRTC creates peer-to-peer tunnels
- End-to-end encryption: Only your devices can decrypt data
- Password hashing: SHA-256 hashed locally before transmission
What We Store
Our servers only store minimal metadata required for the service:
- Email address (for account access)
- Subscription status and plan type
- Vault metadata: name, hostname, last-seen timestamp
- Signaling data (temporary, deleted after connection)
We cannot read your notes, even if we wanted to. Your vault data never leaves your device except through the encrypted peer-to-peer connection you control.
Best Practices
- Use a strong, unique password for remote access
- Don't share your master password with others
- Revoke vaults you no longer use from the dashboard
- Keep Obsidian and the plugin updated
- Use different passwords for local and remote access
Need more help? Check our FAQ or contact support at support@noterelay.io