Skip to main content
blink

What a signed-out visitor can do, and what needs an account

Anyone can try OrbitingFox without signing up. This is what that looks like, and — just as importantly — what it deliberately does not pretend to offer.

Catching without an account

A visitor can catch a few test Blinks straight from the home page, and then open one to add details. Those are real rows on our side, not just something held in the browser, and if the person signs up in the same session everything they caught becomes a real Blink on their new account. Coming back and logging in later picks them up too.

Why the form shows things you cannot use (2026-09-11)

The "add details" page is the real Blink form — the same one account holders get. Until now the parts a guest could not use were simply hidden, and the owner reported exactly what that produced: "that simple form is not showing the whole our system, and they think it's not a complete system. They have no idea we have much more advanced systems."

He was right. A tab bar with the interesting tabs missing reads as a toy. So those sections are now visible and locked: the Linkage and Finance tabs are on screen, and opening one explains in plain words what it does on a real Blink and that an account unlocks it.

Locked means there is nothing to type into

This is the part worth understanding, because the obvious version of this change would have been worse than doing nothing.

A guest's capture can hold only a title, a description and a type. That is all there is room for. If the locked sections were simply switched on, somebody could fill in categories, goals, linkage and finance, press Save, and every one of those answers would vanish without a word. A product that shows a field and throws the answer away teaches people not to trust it.

So the locked sections contain no fields at all. Nothing can be typed, so nothing can be lost.

The example is what actually shows the depth

An empty form with every tab available proves nothing. Underneath the form there is now one filled example Blink — categories, a goal, a project, a link, finance, a voice note — clearly marked as an example and not the visitor's own data. That is what demonstrates what the product does when it is really being used.

What needs an account

  • Voice notes and files — recording into a Blink, keeping the audio, automatic transcription, and attaching images or documents.
  • Linkage — your own category tree, and connecting a Blink to goals, projects, businesses and saved links.
  • Finance — an amount, income or expense, tax treatment and a date.
  • Keeping anything permanently — guest captures are tied to one browser session until they are converted.

For developers

Guest captures are rows in adminapp.GuestCapture keyed by session_keynot session data. docs/blink/SRS.md §3.7 said request.session["guest_winks"] until BL-466 corrected it; that had been stale since the storage moved.

The model holds six fields and config.views.guest_capture_edit saves three (title, description, blink_type). That asymmetry is the whole constraint of this feature. If a guest is ever to keep more, GuestCapture has to grow the fields first and the promote path has to carry them across — it is not a template change.

The locked previews live behind {% if not guest_mode %}…{% else %} in templates/blink/_blink_form.html, and a guard (adminapp/test_guest_sees_depth.py) asserts that the guest branch contains no <input>, <textarea> or <select>, so the silent-discard failure cannot be reintroduced by accident. The same file pins that conversion on sign-up still works, because the owner specifically asked for that to be checked rather than assumed.

The example is templates/guest/_sample_blink.html and is deliberately static: a guest is anonymous, the page must render identically for everyone, and it must never depend on seed_sample_data having been run in a given environment — which it has not been in production. The principle predates the row: docs/auth/User-Registry-and-Authorization-Flow.txt:239 — "Anonymous demo should use sample data, temporary session data, or read-only examples only."

🪐 OrbitPilot

Create a free account and I'll remember your conversations — sign up

🧠 Memory status