Skip to main content

Offboarding in tiCrypt: What Happens When Someone Leaves or Changes Role

· 11 min read
Tera Insights Team
Tera Insights Team
tiCrypt Team

Offboarding is how tiCrypt takes access away from a person: by deactivating their account, changing their role or permissions, removing them from a project, or deleting the account.

  • The problem: students graduate, postdocs move on and staff move between studies. Access to CUI has to end when the decision is made, not when the person next logs out.
  • Mechanism: each sign-in gives the person a server session that holds a copy of their role, permissions and projects. Every offboarding action ends or updates those sessions, not only the account.
  • Deactivation: ends every session acting for the person at once: the web app, file transfers, the person's VMs and uploads into their inboxes. Open tabs log out and show the reason.
  • Role and permission changes: end open sessions, so the person signs in again with the new rights.
  • Leaving a project: takes the project out of open sessions at once.
  • Automatic deactivation: the account locker deactivates accounts with no sign-in for 365 days by default, or past their expiration date. An identity system can deactivate accounts through the REST API.
  • Who does what: your organization decides when someone leaves. Administrators deactivate accounts and change roles, administrators and Sub-admins who manage a project remove its members, and system administrators set the account locker.
  • Availability: tiCrypt backend 3.16.1 (2 November 2026) and web app 2.18.3 (3 November 2026).

Why offboarding has to reach open sessions​

A session is not an account. The account is the record in Management > Users: the person's role, permissions, state and memberships. A session is what the server issues when the person signs in, and it carries a copy of the account's role, permissions and projects as they were at that moment. The server checks each request against the session.

Because each session holds its own copy, changing the account alone would leave the sessions already issued as they were. tiCrypt therefore ends or updates the sessions too, every time a person loses access.

Several kinds of session can act for one person:

SessionHeld by
Sign-in sessionThe web app, wherever the person is signed in: a browser tab or tiCrypt Connect
Sub-sessionFile transfers between the Vault and a VM or the person's computer, which run in a sub-session of the sign-in
VM sessionEach running VM the person owns, which has its own session with the server
Inbox upload sessionEach upload that someone makes into one of the person's inboxes

Each offboarding action treats them differently:

ActionOpen sessionsOpen tabsNext sign-in
Deactivate the accountAll end, including those of VMs and inbox uploadsLog out at once and show the reasonRefused, with the reason
Change the role or permissionsAll end, except inbox uploadsShow the lock screen at the next requestCarries the new rights
Remove from a projectStay open, without that projectKeep working, without the projectLeaves the project out
Delete the accountAll end, including those of VMs and inbox uploadsShow the lock screen at the next requestRefused

Deactivation ends everything at once​

To deactivate an account, an administrator selects it in Management > Users > Users, opens Open full menu > Change state, selects Inactive, enters a Reason for deactivation and clicks Deactivate. For more information, see Change State of User(s) from Management.

As soon as the change is saved, tiCrypt:

  1. Ends every session acting for the person: sign-in sessions, sub-sessions and temporary sessions, the sessions of the person's VMs, and inbox uploads. The server logs each session it ends.
  2. Fails any sign-in for the person that is still under way.
  3. Tells the person's open tabs, which log out. The login page then shows Account deactivated, for example: "You were logged out because your account has been deactivated. Details: Left the department on 31 October. Contact your administrator if you need access."
  4. Refuses new sessions for the account. A sign-in attempt shows "This account has been deactivated." with the same reason, and no new VM session, temporary session or inbox upload can be opened for the account either.

As a second safeguard, the web app checks once a minute that the signed-in account is still active, and logs out if it is not.

The reason you type is shown to the person

The Reason for deactivation appears in the Deactivation Reason column of the Users table and in the message the person reads on the login page. Write it for both readers.

Deactivation deletes nothing. The person's files, drives, VM configurations, and team and project memberships stay as they are, and setting the account back to Active lets the person sign in again.


Automatic and scripted deactivation​

Not every deactivation starts in Change state. Each of these paths ends sessions in the same way:

PathWhat triggers itWhat the person reads
InactivityThe account locker finds no sign-in for 365 days, by default. It never locks Super-admins this way"Too long since last login"
ExpirationThe account locker finds the account past its expiration date, shown in the Expires column"User deactivated because of expiration date"
REST APIA script or identity system calls POST /api/users/disable"Disabled via API Token request"
Temporary deactivationAn administrator bars the account until a set date and time, through the server API"This account is deactivated until", then the date

The account locker is a task of the tiCrypt maintenance service, set in the account-locker section of ticrypt-maintenance.conf. It runs every 4 hours by default (frequency), and time-before-account-old sets the inactivity period. Setting an account to Active removes any expiration date it has, so the next run does not deactivate it again. For the settings, see Account Locker.


Role, permission and project changes​

Changing a person's role or permissions, including applying a profile, ends their open sessions. Uploads into their inboxes are the exception: they read their permissions from the inbox on every request, so they continue. In an open tab, the next request to the server brings up the lock screen. Unlocking signs the person in again in full, and the new session carries the new role and permissions.

Removing a person from a project acts on that project alone. Deleting the membership in Management > Projects > Project Memberships takes the project out of every open session acting for the person, at once. They keep working, but resources tagged with the project are out of their reach. tiCrypt refuses to remove a membership while the person still belongs to one of the project's sub-projects, so remove those memberships first.

Memberships can also end on a date. At every sign-in, tiCrypt checks each of the person's project memberships and leaves a project out of the session when the membership has expired, or when the person lacks a certification that the project's security requirements call for, or holds only an expired one.

Deleting an account​

Deleting an account (Delete, then Delete user) also ends every session acting for the person. Deletion does not remove the person's files, drives or VMs, or their team and project memberships, and the account stays restorable from Deleted Users for 365 days by default. Deactivate first, and delete later if your policy calls for it. For more information, see Delete a User from Management.


Who can take access away​

Since backend 3.16.1, only Super-admins skip permission checks. An Admin needs the matching permission, like any other role:

ActionPermission
Deactivate an accountDeactivate users with a lower role
Change a roleLower the role of users with a lower role, or Raise the role of users with a lower role, up to their own role
Change permissionsChange the permissions of users with a lower role
Remove from a teamRemove users from any team
Remove from a projectRemove users from any project, or Remove users from projects they manage
Delete an accountDelete users with a lower role

For the full list, see Permissions.


Offboarding from your identity system​

Most institutions learn that someone has left from an HR or identity system, not from a tiCrypt screen. The REST API lets that system act on its own:

  • Deactivate: POST /api/users/disable takes a list of user IDs and deactivates them, ending their sessions as above. It needs an API key of the User type with Full control. Super-admins cannot be deactivated this way. For more information, see Deactivate Users.
  • Compare: GET /api/users returns each account's state and expiration date, for a scheduled comparison with HR records. A Read-only key is enough. For more information, see List Users.

API keys follow the person who created them. A key acts for the Super-admin who created it, and stops working when it expires or when that Super-admin is deleted, deactivated or no longer a Super-admin. Before an administrator who set up integrations leaves, check the Owner column in Management > Miscellaneous > API Keys, and have another Super-admin create replacement keys. For more information, see API Keys.


Reviewing who still has access​

Not every departure gets reported. The Last Login and Expires columns of the Users table show accounts that have gone quiet or are about to lapse, and the table exports to CSV for a periodic access review. Since backend 3.16.1, anyone who can see a user also sees that user's last login in the user's details, so project managers can spot members who no longer sign in.


An offboarding checklist​

When someone leaves:

  1. API keys: if the person is a Super-admin, replace the API keys they own first.
  2. Account: deactivate it with Change state > Inactive and a reason. Their sessions end at once.
  3. VMs: in the user's overlay (Open full menu > Open overlay), review Running VMs, and shut down the ones that should stop with the account from Running VMs.
  4. Memberships: remove the project memberships that should end, sub-projects first, and the team memberships.
  5. Deletion: delete the account later, if your policy calls for it.

When someone moves to another study or role, change their role, permissions or project memberships instead. Each change reaches their open sessions at once.


How this maps to CMMC Level 2 and NIST SP 800-171​

RequirementWhat tiCrypt doesWhat your organization does
PS.L2-3.9.2: protect systems during and after personnel actions such as terminations and transfersEnds every session at once on deactivation, and brings role, permission and project changes into open sessionsDecides who reports departures and transfers and how fast access must end, then acts on each one
AC.L2-3.1.11: terminate a user session after a defined conditionEnds sessions on deactivation, deletion, and role or permission changes, in addition to inactivity timeoutsSets the session timeouts
IA.L2-3.5.6: disable identifiers after a defined period of inactivityDeactivates accounts with no sign-in for a set period, through the account lockerSets time-before-account-old to the period its policy defines
AC.L2-3.1.1: limit system access to authorized usersRefuses sign-in to inactive accounts, and to the VMs, inbox uploads and API keys acting for themReviews accounts, using Last Login and expiration dates

In NIST SP 800-171 Rev. 3, the same ground is covered by 03.09.02, Personnel Termination and Transfer, and 03.01.01, Account Management, which also asks that expired accounts be disabled. PS.L2-3.9.2 remains your organization's responsibility: tiCrypt makes a deactivation take effect at once, but someone has to decide to deactivate. For the full split, see Shared Responsibility in Secure Compute.

Availability

Ending sessions on deactivation, deletion, and role, permission and project changes shipped in tiCrypt backend 3.16.1 on 2 November 2026. Logging open tabs out with the reason shipped in web app 2.18.3 on 3 November 2026. For the full lists of changes, see Backend 3.16.1 and Frontend 2.18.3.


Related documentation: User Management | Deleted Users | Project Memberships | Session Lock | Shared Responsibility in Secure Compute