# Contractors and access terms

> Time-limited access to organization memory that closes on its own, extends in one click and stops being billed when it ends.

By the end of this page you will be able to:

1. invite a contractor with a limited access term;
2. understand what a contractor reads and writes;
3. extend or remove the term and know when the seat is freed.

Example: Vera is an outside developer whom Northwind hired for 60 days to integrate Client X's API.

## What a contractor sees

The Contractor role is limited in scope, not just in time:

| | Contractor |
|---|---|
| Reads | Only their own records and records with "project" visibility |
| Does not see | "Unit" and "whole organization" records, other people's drafts |
| New records | Get "project" visibility right away |
| Keys | Issues their own, like a member |
| People list | Only themselves |

This way Vera and the in-house developers on the project share project knowledge, while the company's internal agreements stay out of Vera's view.

## Invite with a term

1. The admin opens People → "Invite a person".

2. They enter Vera's email, the unit, the Contractor role and **"Access term, days"**: 60. Allowed values are 1 to 365 days.

3. They pass Vera the invitation link, valid for 7 days. See [Invitations and keys](/organizations/invitations-and-keys/).

4. The access term starts when Vera **accepts** the invitation, not when it is created.

In the people list, Vera's row shows "access until 2026-12-04".

An access term can be given to any role, not just contractors — for example, a temporary employee on a trial project. The read restrictions, however, apply only to the Contractor role.

## When the term ends

The server checks the term on every request. After it ends:

- Vera can no longer read or write — neither in the account nor through an agent; the server answers `access_expired`, and the account says "Your access to this organization has expired. Contact the admin.";
- the organization disappears from her space switcher;
- the admin's people list shows "access expired" next to her;
- her seat is **no longer billed**.

Records Vera created stay in the organization with "project" visibility.

## Extend or remove the term

1. The admin opens People and clicks "Extend" next to the contractor.

2. They enter how many days **from today** the access should last (1–365). The new term replaces the old one rather than adding to it.

3. If the term had already ended, access returns immediately.

To remove the limit entirely, update the member through the account API with `"access_days": null`. Every term change is written to the [audit log](/organizations/audit-log/) as `access_term_changed` with the new end date.

If the work ends early, do not wait for the term to run out — [offboard](/organizations/offboarding/) the contractor: their keys are revoked at once and a chosen colleague receives their records.

## Seats and billing

| Contractor state | Seat |
|---|---|
| Access active | Taken |
| Term ended | Not taken |
| Left (offboarding completed) | Not taken |

See [Organization billing](/organizations/billing/).

## Next steps
