Skip to content

Sharing a table ​

The share dialog: every column with None, Mask, Hash and FPE, and a preview of three rows

One share icon, one dialog, and a link to objectexplorer.com/app that carries the rows — on a machine with none of your storage, none of your accounts and nothing installed.

The icon is where the rows are: over the header of a notebook cell's table, and on the usage disc's toolbar, which shares the disc as a table. A folder listing has none — a list of names is not something to hand somebody, and the object under it is.

Decide column by column ​

The PII rules in Settings → PII protect two audiences with one set of rules: the person who opens a share link, and an agent calling over MCP. Every column opens on whatever those rules already say about it, so a column you decided once is never shared plainly by accident. A column no rule names opens on None — the value as it is. Beside each one: None, Mask, Hash or FPE.

MethodWhat it does
Nonethe value as it is — also how you take one column back out of a rule
Maskcovers a range of characters with * — one slider, a handle at each end
Hash16 hex characters of keyed SHA-256, so equal values stay equal and the column still joins and counts
FPEformat-preserving: a digit becomes a digit and a letter a letter of the same case

A rule that says drop opens as Hash here: a share has no way to leave a column out.

The free-text rules from Settings → PII hold over every share too, whatever you pick per column — an email address inside a note column is replaced even though no column is called email.

What the share does to a column is decided by the same code an agent's answer goes through, so the preview below is that code's answer, not a guess. The two audiences differ in three places:

A share linkAn agent over MCP
Per columnyou can change any column, for this share alonethe rules as written, with no way to ask for less
Dropopens as Hashthe column is left out
Keyone made for this share when the dialog opensone per install, ~/.objectexplorer/mcp/key

The share's key never enters the link — Copy key, shown while a column is Hash or FPE, is the only way it leaves this machine, and it is the key that share's Hash and FPE columns were made with, and nothing else. Because the keys differ, the same email hashed in two shares, or in a share and an agent's answer, comes back as two different values.

The preview under the columns shows three rows, from the start, the middle and the end of the table — each one as it is and then as it goes, so what you are about to send is read rather than imagined.

How long it lives ​

A link lives for 1D, 1W, 1M, 3M or 1Y — a week unless you pick — and Read and burn deletes it the moment somebody opens it. Small shares travel whole inside the link's fragment, which no server ever sees; bigger ones — and every burn — are stored under a name made of their expiry and their own digest, and swept when that expiry passes. A share carries up to 5,000 rows, and 4 MB packed.

Copy URL, or Email, which opens your own mail app with the link in it.

The link opens objectexplorer.com/app on the shared table and nothing else — no tree, no storage, no sign-in. A line says how many rows there are, which columns were masked, hashed or encrypted and how, and until when the link lives; the rows are exactly as they were sent. A stored link is read from the site, and a read-and-burn one is gone after that read: opened again, it says there is nothing behind it. An expired link says when it expired. The desktop app opens a link too, given as share=<link>.

Sharing a model ​

A trained model is not shared by link. The model cell's copy button puts it on the clipboard as LightGBM's own model.txt text, so it can be loaded in Python with lgb.Booster(model_str=…) — without a single training row going with it.

Next: the notebook.