LayerT whitepaper

Share access, not passwords

Version
1.0
Published
18 September 2026
For
Security and IT engineers
Reading time
12 minutes
Written by
The LayerT team
SummaryHow LayerT brokers shared accounts: sealed storage, approval-gated grants, filling the vendor’s form without showing the password, and ending the session on time.

Most companies have logins that several people use: the social media accounts, the bank portal, the payroll service, the admin console of a tool nobody set up single sign-on for. Their passwords end up in a spreadsheet or a chat thread. Everyone who has ever needed the account knows them. When someone leaves, somebody is supposed to change them all.

LayerT’s answer is to share access rather than the password. This paper explains how that works, why each step is built the way it is, and where the approach stops.

The model

A shared account in LayerT has four parts.

  1. A sealed secret. The password and, if the vendor uses them, the authenticator seed, encrypted and stored by LayerT.
  2. A policy. Who may use it, whether they need an approver each time, whether one person holds it at a time, and how long a session lasts.
  3. A sign-in recipe. Where the sign-in fields are on the vendor’s site, detected automatically or recorded once by the account’s owner. It never contains a value.
  4. A trail. Every request, approval, sign-in, extension and sign-out, attributed to a person.

A person never receives the account. They receive a session: a time-boxed, logged permission to be signed in, which LayerT carries out for them.

Sealed storage

Secrets are encrypted with AES-256-GCM envelope encryption. Each shared account has its own random 256-bit data key. The password and the authenticator seed are each encrypted under it with a fresh random nonce, and the data key is itself encrypted (“wrapped”) by a key-encryption key. The database stores ciphertext only, in its own table, separate from the account’s settings.

Changing a password re-encrypts both secrets under a brand-new data key, and is logged. Deleting an account deletes its secrets.

The key-encryption key is held on LayerT’s servers today. Moving it into a managed cloud key service, where it can be used but not extracted, is in progress Coming soon.

From request to session

  1. BrowserAsk or pickFrom the LayerT icon in the sign-in field, or the toolbar launcher. One-click accounts skip approval.
  2. Console or popupApproveFor medium and high sensitivity. Nobody approves their own request, and approval re-checks the requester is active and entitled.
  3. LayerT cloudSession opensBound to the person and their enrolled browser, with an end time. One holder at a time, if set.
  4. BrowserSigned inLayerT fills the vendor’s form. A chip shows it’s a LayerT session and the time left.
  5. BrowserSession endsOn time, by an admin, or at offboarding. LayerT signs the person out of the site.

Requests that nobody decides expire after 30 minutes. If two approvers decide at the same moment, only one decision counts. Sessions last one hour by default and can be extended up to eight hours in total from approval.

The grant

The moment of truth is when a password leaves storage. LayerT decrypts a secret only when all of these are true:

  • the session is active and hasn’t expired,
  • it belongs to the person asking and to the browser they enrolled,
  • the person is still active in your directory and still entitled to the account, and
  • the account hasn’t been disabled.

Only then does the server decrypt the password, in memory, and return it over HTTPS in a grant for that session. Each grant is logged with the person, the account and the device. The password and any authenticator code never appear in the log.

Filling without showing

The grant goes to LayerT’s service worker, which hands it to the page only if the page is the account’s exact site: same scheme, host and port, over HTTPS, no wildcards. The check uses the address Chrome reports for the requesting frame, not anything the page says about itself.

The fill runs from Chrome’s isolated world, the separate space where extension scripts run alongside a page. LayerT refuses to fill fields that are hidden, transparent, off-screen or read-only, which guards against decoy fields. A password only ever goes into a password field.

LayerT never shows the password: not in the launcher, the menu, notifications or the audit log. When it signs someone in, it doesn’t write the password to the browser’s storage.

Where the password ends up. To sign in, the password must go into the vendor’s own password field. Like any password manager, that means the value exists in the page while the form is submitted, and a determined person could read it with DevTools. LayerT doesn’t pretend otherwise. Its protection is that the person never needs to know the password, can only use it when approved, for a limited time, on the right site, with everything logged. And they lose access the moment they leave.

To stop Chrome itself offering to save the shared password into someone’s profile, switch off Chrome’s built-in password manager by policy. LayerT’s deployment templates include that setting.

Submitting, carefully

Filling is not the same as submitting. Auto-submit is off by default, and an owner can switch it on only after the account passes a test sign-in. Even then, LayerT submits only when:

  • the person explicitly picked the account,
  • the page is the exact site and path, in the top frame,
  • every field LayerT filled is still visible, and
  • LayerT found the submit button without guessing.

It never submits on page load. A CAPTCHA pauses LayerT and hands over to the person.

Authenticator codes

Many vendor accounts use authenticator codes. LayerT keeps the seed on its servers and generates codes there (RFC 6238). Only the current six-digit code travels to the browser, when needed, and it’s filled like a password. A leaked code expires in seconds, and the seed never reaches a laptop.

Ending on time

Access that doesn’t end isn’t governance. LayerT ends sessions in three ways:

  • On schedule. A minute before the end, the person can extend or sign out. At the end, LayerT clears the site’s cookies and the tab’s site storage.
  • By an admin. An Owner or IT Admin can end a live session from the console, with a reason. The server stops honouring the session at once, and the browser signs out within about a minute.
  • At offboarding. When your directory deactivates someone or removes them from a group, LayerT revokes their sessions and requests everywhere.
Signing out is site-wide. LayerT signs out by clearing the site’s cookies, which also ends the person’s own separate session on that site, if they had one.

Break-glass

Sometimes a person genuinely needs the password itself, for example to change it at the vendor. LayerT makes that deliberately hard:

  • Revealing a password needs two people: an IT Admin or Owner asks, and a different one approves. The password is then marked for rotation, and the event is logged.
  • For disaster recovery, an offline export is encrypted and split between two custodians, each with their own passphrase. Neither can open it alone. Generating one is logged.

How this compares

Shared spreadsheetPassword manager sharingLayerT
People see the passwordYesUsually yes, and can copy itNo. LayerT fills it
Approval before useNoRarelyOptional, per account
Time limitNoNoEvery session
One holder at a timeNoNoOptional
Who used it, whenNoPartlyEvery request, approval and session
Access ends at offboardingOnly if you change every passwordOnly if you remove sharing and rotateAutomatically, from your directory

Limits

  • The authorised person could read a filled password with DevTools, as described above.
  • Sign-in forms inside cross-origin frames don’t get the in-page menu; use the toolbar launcher. Forms drawn on canvas aren’t supported.
  • Automatic password rotation isn’t built.
  • Real-time alerts for reveals and exports aren’t built yet Coming soon. Both are in the audit log.

Want to see it on your own vendor portals? Request a demo, and bring your hardest shared account.