Signing in
Choosing an instance, signing in with a password or Google, signing up, recovering a password, and how a session starts and ends.
This guide describes the Fortuna interface (Fortuna UI) screen by screen. It is
organized by the interface’s use cases, the numbered UC-xx items in the
Use Case Specification.
Every use case appears exactly once, under the heading “UC-xx: name”, on the
page for its area. Button names, dialog titles and messages are quoted from the
application’s code, not from the specification, so they are what you will see.
Where the specification and the code disagree, this guide describes what the code does. Where a screen is not built yet, the guide says so in plain words instead of describing it as if it worked. For the rules behind the screens (what a transfer is, how installments are split, what consent covers) see Concepts. For how the interface reaches the API or the native core, see Architecture.
The interface has no navigation menu and no home dashboard. This is how the code stands, not a design choice the guide is working around.
/, is a placeholder. It shows a screen
titled “Overview” with the text “/ is routed and guarded. Its screen is
UC-38.” and a sign-out button. The net position, projections and obligations
that UC-38 describes live on their own screen, covered in
Projections.Each page in this guide therefore names the address of every screen it
describes, for example /accounts. Treat the address as the screen’s name.
One guard decides this for every address, however it was reached: a typed web address, a link, or a session restored at start (UC-46 below). Hiding a control is never the protection: the guard and the API both refuse.
| Address | Signed out | Account owner (and the desktop offline user) | Instance administrator |
|---|---|---|---|
/setup, /sign-in, /sign-up, /sign-in/two-factor, /password-recovery, /password-reset, /verify-email | Yes | Redirected away | Redirected away |
/settings, /privacy | Sent to sign in | Yes | Yes |
/admin | Sent to sign in | Redirected to / | Yes |
| Every other address in this guide | Sent to sign in | Yes | Redirected to /admin |
This table was checked against the application’s route table and route guard. The details:
/setup, even the sign-in screen. A build made for desktop offline mode counts as
chosen from the start and starts past setup, and so does a build with an instance
address built in. A signed-out user can still open /setup by its address on any
build./sign-in, and the
address you wanted is remembered. After you sign in you are taken there if
your role may reach it./
for an account owner, /admin for an administrator./admin instead, and a signed-out user to
sign-in./settings and /privacy are the two screens both roles share. An
administrator has no way into any financial screen.flowchart TD
A["An address is opened"] --> B{"Instance chosen?"}
B -- "No" --> S["/setup"]
B -- "Yes" --> C{"Signed in?"}
C -- "No" --> D{"Signed-out screen?"}
D -- "Yes" --> OK["The screen opens"]
D -- "No" --> L["/sign-in, destination remembered"]
C -- "Yes" --> Q{"Signed-out screen?"}
Q -- "Yes" --> M{"Remembered destination the role may reach?"}
M -- "Yes" --> W["Sent to the remembered destination"]
M -- "No or none" --> HM["Sent home: / or /admin"]
Q -- "No" --> R{"Role"}
R -- "Account owner" --> O{"Administrative address?"}
O -- "Yes" --> H1["Sent to /"]
O -- "No" --> OK
R -- "Administrator" --> P{"/admin, /settings or /privacy?"}
P -- "Yes" --> OK
P -- "No" --> H2["Sent to /admin"]This is a mechanism, not a screen: it is the guard described above. Its main flow is that a route is requested, the single central guard checks it against the current session and role, and either the screen opens or the guard redirects. Its alternatives, as built:
/admin is sent to / and is not told the
address exists.| Page | What it covers | Use cases |
|---|---|---|
| Signing in | Choosing an instance, signing in and out, Google, sign-up, password recovery, restoring a session. | UC-01, 03, 04, 05, 09, 11, 12, 47 |
| Settings, two-factor and instance health | Theme, locale and display currency, two-factor management, the administrator’s health screen. | UC-10, 13, 45 |
| Accounts, cards and investments | Financial accounts, credit cards and their statements, investments and their movements and valuations. | UC-14 to 18 |
| Transactions and transfers | Recording, correcting and deleting transactions, transfers, reconciliation, attachments. | UC-19, 20, 21, 24, 35 |
| Installments and recurring commitments | Installment purchases, and the recurring commitments screen that does not exist yet. | UC-22, 23 |
| Spreadsheet | The filterable, sortable, paged transactions grid. | UC-25 |
| Categories, tags, budgets and goals | The category tree, tags and counterparties, budgets, goals. | UC-26 to 29 |
| Imports and connections | Data sources, connecting an institution, importing a file, following a job, reviewing imported records. | UC-30 to 34 |
| Charts | Aggregations drawn as charts, and drilling down to transactions. | UC-36, 37 |
| Projections | Net position, projected balance, committed obligations. | UC-38 |
| Exports | Exporting the transactions view as CSV, Excel or PDF. | UC-39 |
| Deleted records and the audit trail | Restoring or permanently removing deleted records, reading the audit trail. | UC-40, 41 |
| Privacy and data rights | Consents, the complete personal-data export, erasing the account. | UC-42, 43, 44 |
| Offline mode | What works without a network, what shows “Not available offline” and why, the desktop local account, and how the interface reaches the core. | UC-02, 06, 07, 08 |
The 47 use cases are all placed: 46 on the pages above and UC-46 on this page.
The UI README names UC-04, UC-23 and UC-35 as the use cases that remain, and GitHub agrees: their issues are open. Reading the code turned up more. This table is the whole list, and each item is explained on the page named.
| Item | State | Page |
|---|---|---|
| UC-04, completing a two-factor challenge at sign-in | Unfinished. The route shows a placeholder. Issue #5. | Signing in |
| UC-23, managing recurring commitments | No screen and no route. Issue #24. | Installments and recurring commitments |
| UC-35, managing a transaction’s attachments | No screen. Issue #36. | Transactions and transfers |
| UC-47, signing up | On the develop branch, not in the v1.0.0 release. | Signing in |
| UC-10, managing two-factor, and UC-06, 07 and 08, the desktop local account | The screens are written and tested, but no route opens them and no screen links to them. | Settings, Offline mode |
| UC-32, importing a file | The screen asks for the file only. The API also requires a target and, for a workbook, a column mapping. | Imports and connections |
| The home screen | A placeholder. | This page |
| A navigation menu | Does not exist. | This page |
This guide is written from the interface’s
Use Case Specification
and its code on the develop branch (the
route table,
the router
and the feature folders under
lib/features),
checked on 2026-10-13. The code wins where the two differ.
Choosing an instance, signing in with a password or Google, signing up, recovering a password, and how a session starts and ends.
Choosing theme, language and display currency, managing two-factor authentication, and the administrator’s instance health screen.
Managing financial accounts, credit cards and their statements, and investments with their movements and valuations.
Recording, correcting and deleting transactions, moving money between your accounts, reconciling, and the attachments screen that does not exist yet.
Recording a purchase split into installments on a card, and the recurring commitments screen, which does not exist yet.
Reading your transactions as a filterable, sortable, paged grid.
Grouping spending with categories, tags and counterparties, setting budget ceilings, and tracking savings goals.
Connecting an institution, importing a spreadsheet or statement PDF, following the job, and reviewing the records it brought in.
Reading your spending and earning as a chart, and drilling from a chart element down to the transactions behind it.
Where you stand now, where you are heading, and what you have already committed to pay, with forecasts that cannot be mistaken for records.
Taking the transactions view out of Fortuna as a CSV, Excel or PDF file.
Bringing back something deleted by mistake, removing it for good, and reading the record of significant actions on your data.
Seeing who controls your data, giving and withdrawing consent, taking a complete copy of everything, and erasing your account.
Using Fortuna on Windows or Linux with no network: what works, what shows “Not available offline” and why, and the desktop local account.