A portal that reads like an application
Everything a person meets in SkyKeep is a page in a web application, and
it should behave like one. The sign-in box belongs to the signed-out
page and disappears once you are signed in; the way out sits beside your
name at the top, where every other site puts it, and it ends the session
in the vault rather than merely forgetting it in the browser. Your own
account settings are described in ordinary words, not in the vault's
internal vocabulary. Lists of people name the compartments they can
reach instead of numbering them. And when you ask the vault a question,
it tells you how much it found and where that came from, in counts you
can check, before it tells you what it thinks the answer is.
None of this changes what the vault permits. Every page still asks the
vault afresh on every action, and the vault still decides.
Compartments are listed by name, with their grants together
- Given a person granted read and write on one compartment
- When the vault lists what that person can reach
- Then each compartment appears once, by name, with its grants beside it
A compartment whose name contains a colon keeps its name
- Given a person granted read and write on a compartment named "finance:2026"
- When the vault lists what that person can reach
- Then the compartment is still named "finance:2026"
An account that can reach nothing is listed as reaching nothing
- Given a person granted nothing at all
- When the vault lists what that person can reach
- Then the list is empty rather than absent
Signing out ends the session in the vault, not just the browserstack
- Given a signed-in vault member with their own compartment
- When they sign out
- Then their session token is refused everywhere afterwards
A query says how much it found, per compartment, before it answersstack
- Given a signed-in vault member with documents in their own compartment
- When they search for a word those documents contain
- Then the vault reports how many chunks and documents matched, per compartment
The counts never mention a compartment the asker is not instack
- Given a signed-in vault member with documents in their own compartment
- And a matching document filed in a compartment they cannot reach
- When they search for a word those documents contain
- Then no count mentions the compartment they cannot reach
The count of text matches is a total, not a samplestack
- Given a signed-in vault member with documents in their own compartment
- When they search for a word those documents contain, asking for one result only
- Then the count of text matches is unchanged by how many results they asked for
An ordinary member is refused the list of peoplestack
- Given a signed-in vault member with their own compartment
- When they ask the vault for the list of people
- Then the vault refuses without explaining itself