Repository navigation
Showcase Mode
Showcase Mode turns a Flatnotes-Enhanced instance into a clean, read-only viewer for a public audience. It is intended for sharing curated notes, documentation, or blog-style content.
Warning
It is not a security control. It is a UI-level restriction that hides editing, search, and administrative features.
Set the following environment variable:
FLATNOTES_SEARCH_DISABLED=trueRecommended for public instances:
FLATNOTES_AUTH_TYPE=read_only
FLATNOTES_SEARCH_DISABLED=truePairing Showcase Mode with read_only authentication ensures that, even if someone guesses an API route, state-changing requests are rejected at the API level.
FLATNOTES_QUICK_ACCESS_HIDE=trueis sometimes mentioned as an optional extra to keep the home page minimal. Confirm in the README’s Showcase Mode section before relying on it.
| Feature | Normal mode | Showcase mode |
|---|---|---|
| Search | ✅ Available | ❌ Disabled — /api/search returns empty results |
| Tags sidebar | ✅ Available | ❌ Hidden; /api/tags gated |
| Edit / Create / Delete | ✅ Available | ❌ Hidden (UI-level) |
| New Note button | ✅ Available | ❌ Hidden |
| Settings / Trash / Archive | ✅ Available | ❌ Hidden |
| Bookmarks | ✅ Available | ❌ Hidden |
| Templates | ✅ Available | ❌ Hidden |
| Attachments | ✅ Available | ❌ Hidden |
| Shared Links | ✅ Available | ❌ Hidden |
| Note viewer | ✅ Full | ✅ Read-only (navigation only) |
| Folder sidebar | ✅ Full | ✅ Navigation only (expand, collapse) |
Direct note URLs (/note/title) |
✅ Available | ✅ Still work |
| Folder breadcrumbs | ✅ Clickable | ✅ Plain text (no search navigation) |
The home page shows a read-only banner instead of quick-access notes.
- The backend sets a
search_disabledflag in/api/config. - The
/api/searchand/api/tagsendpoints are gated and return empty results. - The frontend router blocks the affected routes and redirects to the home page.
- UI elements across the navigation bar, home page, note view, folder sidebar, and menus are hidden.
All other API endpoints remain functional: note retrieval and folder listing continue to work, so direct links and folder navigation still function.
Showcase Mode is a UI restriction, not a security control.
- API endpoints remain reachable. Anyone who knows or guesses the URL structure can retrieve notes, attachments, and folder contents.
- Notes can be guessed by title. Note retrieval is by title; if a title is guessable, the note is retrievable.
- Attachments are not protected.
- Search being disabled does not hide content — it only removes the search UI and the search endpoint.
-
Always combine with
FLATNOTES_AUTH_TYPE=read_onlyso state-changing requests return403. - Do not rely on Showcase Mode alone for sensitive content.
- For genuinely sensitive material, use network-level controls — reverse-proxy authentication, VPN, or IP allowlisting.
- Use HTTPS. Secure contexts are required for some browser features, and SSO callbacks expect HTTPS.
| Use case | Notes |
|---|---|
| Public documentation site | Curated notes intended for anonymous readers |
| Read-only knowledge base | Reference material shared within an organisation |
| Blog-style publishing | Notes written in Markdown, published as-is |
| Demo instance | Show off features without exposing editing |
For content that must remain private, use normal authenticated mode with a strong password or TOTP, or restrict access at the network layer.
After enabling and restarting:
- Open the home page — you should see the read-only banner.
- Confirm the navigation bar no longer shows Search, New Note, or the tag sidebar toggle.
- Try opening a note directly via
/note/SomeTitle— it should still load. - Open the browser DevTools → Network tab and call
/api/searchdirectly — it should return empty results.
If search still works, check the container logs to confirm FLATNOTES_SEARCH_DISABLED was read. The variable must be set to the string true (lowercase).
Remove the environment variable (or set it to false) and restart the container:
docker compose up -d --force-recreateThe full UI returns and search becomes available again.
- Confirm
FLATNOTES_SEARCH_DISABLED=true(lowercasetrue). - Confirm the container was recreated, not just restarted.
- Check the
/api/configresponse in DevTools —search_disabledshould betrue.
- Showcase Mode hides editing in the UI, but does not itself block API writes.
- Set
FLATNOTES_AUTH_TYPE=read_onlyas well.
- Note titles are matched exactly, including case and folder path.
- Confirm the note exists and is not in Trash or Archive.
-
Getting Started & Installation — Authentication types including
read_only - Shared Notes — Token-based sharing (independent of Showcase Mode)
- Docker Compose Examples — Environment variable patterns
- README: Showcase Mode — Authoritative reference