What this machine has given away

Every host paired here, what it may do to this machine, and which of your folders it can reach.

{{template "given" .}}
{{define "given"}} {{/* THE OUTCOME OF THE LAST SWITCH. It was composed in givenSwitch and never rendered — the tag flipped because it draws from state, so nothing looked broken and the sentence that says what the machine will now DO never reached the person. */}} {{if .Flash}}
{{.Flash}}
{{end}} {{/* AND WHEN THE SWITCHES ARE NOT IN EFFECT. Without this the page renders every capability as granted while a corrupt list quietly blocks nothing — showing the person the opposite of the truth. */}} {{if .DenyNote}}
{{.DenyNote}}
{{end}}

This is your machine's own control.

Every capability below can be switched off here, whatever your Host was granted. Switching off never changes the grant — this machine simply refuses, and tells the host why. Turning one back on clears that refusal and nothing more, so nothing on this page can give a host reach it was not already granted.

A folder stops being shared when you remove it on your Host, which drops the grant here. A host stops being able to do anything at all when you run privatae-bastion unpair <host> on this machine.

{{/* A read that FAILED is not a machine with nothing on it. Rendering the reassuring sentence for an unreadable pairing store is the misleading direction, and this page exists to stop exactly that. */}} {{if .ReadError}}
This machine's pairing records cannot be read.

{{.ReadError}}

Until that is fixed, this page cannot tell you what has been given away — and you should not read it as "nothing".

{{end}} {{if .NoPairings}}
Nothing. No host is paired with this machine.

Nothing can read this screen, read your files or open a shell here until you pair one.

{{end}} {{range $h := .Hosts}}
{{.Host}} {{if .IsAnchor}}anchor{{end}} {{if not .Served}}{{.State}}{{end}}
{{if not .Served}}

This pairing is {{.State}}, so nothing is being served to it right now — no tunnel, no lanes, no directories. What follows is what it would hold the moment it became active again.

{{end}}
{{.Basis}}

What {{.Host}} may do to this machine

grantedis something this machine gives away. refused hereis something it will not do. {{if .HeldCount}}{{.HeldCount}} of {{len .Families}} are granted.{{else}}None of them are granted.{{end}}

{{range .Families}}
{{.Line}} {{if .SwitchedOff}}switched off by you {{else if .Held}}granted {{else}}refused here{{end}} {{/* THE SWITCH. Only ever removes reach: "off" writes a local denial and "on" clears it, leaving the host's signed grant exactly as it was. */}}
{{if .SwitchedOff}} {{/* hx-preserve: this page is swapped every 10s and a half-typed code must survive it. Turning back on takes the owner's code. */}} {{else}} {{end}}
{{if .SwitchedOff}}

You switched this off on this machine. {{$h.Host}} still holds the grant; this machine refuses and tells it why.

{{end}}

{{.Detail}}

{{if .Second}}

Beyond this grant: {{.Second}}

{{end}}

{{.Name}} {{range .Ops}} · {{.}}{{end}}

{{end}}

Folders of yours that {{.Host}} can reach from here

{{if .FolderNote}}
{{.FolderNote}}
{{end}} {{range .Folders}}
{{if .Readable}}{{.Root}}{{else}}store {{.StoreID}}{{end}} {{if .InForce}}shared {{else}}not in force{{end}}
{{if not .InForce}}

This machine will not serve this folder: {{.Why}}. The record is still on disk, which is why it is listed rather than hidden.

{{end}} {{if not .Readable}}

The signed part of this record cannot be read on this machine, so there is nothing honest to say about what it covers. It grants nothing.

{{end}} {{if .Readable}}
Store
{{.StoreID}}
Store kind
{{.Class}}
Allowed
{{if .MaskWords}} {{range .MaskWords}}{{.}}{{end}} {{else}}nothing — the grant names no operation, so every read of this folder is refused{{end}}
Excluded
{{if .Excludes}}the grant excludes {{range $i, $e := .Excludes}}{{if $i}}, {{end}}{{$e}}{{end}} {{else}}the grant names no exclusions at all{{end}}
Expires
{{if .Expires}}{{.Expires}} {{else}}the grant carries no expiry, so it stands until it is removed on your Host{{end}}
{{if .Sweep}}
Swept
{{.Sweep}}
{{end}} {{if .TTLDays}}
Shown to you as
{{.TTLDays}} days
{{end}}
{{if .Sensitive}}
The grant marks this folder sensitive.
{{end}} {{if .Sealed}}
The catalogue of this folder is sealed to your registered backup key. That key travels outside the signed part of the record, so it is not one of the things you approved when you approved the folder.
{{end}} {{end}}
{{end}} {{end}}

Checked {{.CheckedAt}}. This machine is in {{.Mode}} mode{{if .Anchored}} and is anchored{{else}} and is not anchored{{end}}.

{{end}}