> ## Documentation Index
> Fetch the complete documentation index at: https://help.clinikehr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Permissions — control what each person can do

> Switch individual capabilities on and off per staff member, and understand why enforcement only starts the first time you save.

export const StillStuck = ({topic}) => <div className="ck-callout ck-callout--note" role="note">
    <p className="ck-callout__body">
      <strong>Still stuck{topic ? ` with ${topic}` : ''}?</strong>{' '}
      Check <a href="/platform/help/troubleshooting">Troubleshooting</a> first —
      it covers the failures we see most often. If that does not resolve it,{' '}
      <a href="/platform/help/contact-support">contact support</a> and include
      your workspace name and the time the problem happened, so we can find the
      matching entry in your audit log.
    </p>
  </div>;

export const TaskHeader = ({before, time, after}) => <div className="ck-task">
    {before ? <div className="ck-task__cell">
        <div className="ck-task__title">Before you start</div>
        <p className="ck-task__body">{before}</p>
      </div> : null}

    {time ? <div className="ck-task__cell">
        <div className="ck-task__title">Takes about</div>
        <p className="ck-task__body">{time}</p>
      </div> : null}

    {after ? <div className="ck-task__cell">
        <div className="ck-task__title">When you're done</div>
        <p className="ck-task__body">{after}</p>
      </div> : null}
  </div>;

export const Path = ({steps = []}) => <span className="ck-path">
    {steps.map((s, i) => <span key={i} className="ck-path__step">
        {i > 0 ? <span className="ck-path__sep" aria-hidden="true">
            ›
          </span> : null}
        {s}
      </span>)}
  </span>;

export const Availability = ({editions = ['all'], plans, roles, note}) => {
  const list = editions.includes('all') ? ['clinic', 'pharmacy', 'lims'] : editions;
  return <div className="ck-avail" role="note" aria-label="Feature availability">
      <span className="ck-avail__label">Available in</span>

      {list.map(e => <span key={e} className={`ck-pill ck-pill--${e}`}>
          {EDITION_LABELS[e] || e}
        </span>)}

      {plans ? <span className="ck-avail__label">Plan</span> : null}
      {plans ? <span className="ck-pill ck-pill--plan">{plans}</span> : null}

      {roles ? <span className="ck-avail__label">Who</span> : null}
      {roles ? <span className="ck-pill ck-pill--role">{roles}</span> : null}

      {note ? <span className="ck-avail__note">{note}</span> : null}
    </div>;
};

<Availability editions={['all']} plans="All plans" roles="Owner, Manager" />

A role decides which pages someone opens. **Permissions decide what they may do once they are there** — refund a sale, sign a result, see a margin, admit a patient. Two people with the same job title can differ here, and usually should.

<Path steps={['Settings', 'Staff & Teams', 'Actions', 'Permissions']} />

<TaskHeader before="The person already added to your team" time="5 minutes" after="A colleague who can do their job and nothing beyond it, enforced on every action" />

## The thing to understand first

**Enforcement is opt-in, per person.** A staff member you have never saved in this sheet is **unrestricted** — no permission checks apply to them at all. The sheet tells you so before you touch anything, under the heading **Saving starts enforcing**:

> This team member is currently **unrestricted** — no permission checks apply to them. Saving this sheet turns enforcement on: from then on they can only do what is switched on here.

That is why a newly invited colleague can often do more than you expected. The fix is to open their sheet and save it, not to change their role.

<Warning>
  **The first save takes effect immediately, for that person, mid-shift.** If you save a cashier's sheet with **Refund or void a sale** switched off while they are standing at a till with a customer, the next refund is refused. Set the switches you want before you save, not after — and tell the person you have done it.
</Warning>

## Set someone's permissions

<Steps>
  <Step title="Open their sheet">
    On **Staff Members**, open the row's **Actions** menu and choose **Permissions**. The sheet is titled with their name and reads "What they may do on the pages their role already opens."
  </Step>

  <Step title="Work down the groups">
    The switches are grouped by the part of the business they belong to, and the groups differ by edition — see the tables below. The starting position comes from their role's defaults, and the sheet says which: "The switches start from the Clinic Biller defaults."
  </Step>

  <Step title="Save">
    The button reads **Save and start enforcing** the first time and **Save changes** afterwards. You get a confirmation that permissions are now enforced for them.
  </Step>
</Steps>

## Return someone to unrestricted

Select **Unrestrict…** in the same sheet. The confirmation is explicit: "This stops enforcing permissions for them entirely — they return to unrestricted, exactly as before they were first saved here. You can start enforcing again at any time by saving this sheet." Confirm with **Unrestrict**.

This is a full release, not a reset to defaults. It is the right move when someone's job has changed and you would rather start again than unpick a dozen switches.

## When we add new capabilities

New acts get added to the product as it grows. For anyone already governed, a new capability arrives **switched off** and badged **New** — "New since last saved" — with a line at the top of their sheet explaining that those permissions "were added after this person was last saved and are off until you save again."

<Info>
  Nothing is granted behind your back, but nothing is granted automatically either. If a colleague suddenly cannot do something new that everyone else can, open their sheet, look for the **New** badges, and save.
</Info>

## What the switches are

<Tabs>
  <Tab title="Clinic & Hospital">
    **Client care** — Create client profiles · Delete client profiles · Search for clients · View all documents · Share documents with clients · Schedule appointments · Edit appointments · Manage appointment requests

    **Billing** — Edit clients' billing info · Edit service fees · Create billing documents · Add client payments · Add insurance payments · File insurance claims · View Payment Reports · Request coverage reports · Refund payments · View financial dashboard

    **Operations** — Edit note and form templates · Add team members · Send client announcements

    Hospitals get three more groups, because a hospital has acts a practice does not:

    | Group            | Acts                                                                                                                                                                        |
    | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Consultation** | Sign and lock a consultation · Countersign a colleague's note · Admit a patient to a ward                                                                                   |
    | **Ward**         | Give a medication · Record observations · Discharge a patient · Amend the problem list · Change or stop a medication                                                        |
    | **Theatre**      | Book and reschedule cases · Advance a case through theatre · Cancel a case · Record the operation note · Sign the operation note · Manage theatres and the safety checklist |

    A hospital group only appears if the matching care area is switched on — see [Care areas](/platform/team/care-areas).
  </Tab>

  <Tab title="Pharmacy">
    | Group                | Acts                                                                                                                                                                  |
    | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Till**             | Dispense and sell at the till · Override the selling price · Discount beyond the set limit · Refund or void a sale · Open the cash drawer · Cash up and close the day |
    | **Stock**            | Receive deliveries into stock · Adjust stock counts · Transfer stock between branches · Manage suppliers and purchase orders                                          |
    | **Controlled drugs** | Witness a controlled-drug dispense                                                                                                                                    |
    | **Money**            | View cost prices and margin · View the net position                                                                                                                   |
    | **Oversight**        | View per-cashier takings                                                                                                                                              |

    Each switch carries its own explanation in the sheet. **Witness a controlled-drug dispense** — "Countersign the register when a controlled drug leaves the shelf" — is the one to be deliberate about: it is a legal countersignature, not a convenience.
  </Tab>

  <Tab title="Diagnostics">
    | Group         | Acts                                                                                 |
    | ------------- | ------------------------------------------------------------------------------------ |
    | **Specimens** | Accession an incoming specimen · Reject an unsuitable specimen                       |
    | **Results**   | Enter results at the bench · Verify and authorise results · Amend a verified result  |
    | **Quality**   | Review QC runs · Configure analysers and interfaces · View turnaround-time analytics |
    | **Referrers** | Access the referrer portal · Release a report to a referrer                          |

    **Verify and authorise results** is described in the sheet as "the clinical authority step" — it is what makes a result reportable. **Amend a verified result** issues a corrected report after that point. Keep both narrow.
  </Tab>
</Tabs>

A capability that belongs to a different edition never applies to you and never blocks anyone. A clinic receptionist is not governed by a pharmacy rule.

## Two behaviours people misread

### Hiding is not the boundary

A control disappearing from someone's screen is a convenience. **The real check happens when the action is submitted**, every time, whichever route it came from — a button, a keyboard shortcut, a direct link, a second browser tab. A refused action is also written to the audit log, which is what lets an owner tell the difference between "nobody tried" and "somebody was blocked". See [Audit log](/platform/security/audit-log).

### A dash means "not shown to you", not "nothing there"

Figures degrade rather than error. Someone without **View cost prices and margin** sees **Hidden — needs authorisation** where the margin would be, and a **—** in a column of numbers. It never shows a zero, because a zero is a number you could act on and it would be a lie.

If a report looks empty, check the permission before you conclude there was no business.

## Check it worked

* The sheet's warning banner is gone next time you open it, and the button reads **Save changes** rather than **Save and start enforcing**.
* The person can still do their job — ask them to try the thing they do most.
* An act you switched off is refused for them, with a message saying so.
* A figure you withheld reads **Hidden — needs authorisation** on their screen and normally on yours.

## If something goes wrong

<AccordionGroup>
  <Accordion title="Somebody can do more than their permissions allow">
    They are probably an owner or a manager — both bypass this system entirely. Otherwise, they have never been saved in this sheet, so nothing is being enforced for them yet. Open their sheet and save it.
  </Accordion>

  <Accordion title="Somebody suddenly cannot do a new thing">
    Capabilities added since they were last saved arrive switched off, badged **New**. Open their sheet, switch on what they need, and save again.
  </Accordion>

  <Accordion title="I switched a permission on and the page is still missing">
    Wrong gate. Permissions govern actions on pages a person's **role** already opens; if the page itself is missing, that is the role, the plan, the care area or the edition. Work down [Who can see and do what](/start/roles-and-access).
  </Accordion>

  <Accordion title="A number shows as a dash for me too">
    You are being governed by this system as well. Ask an owner to review your own sheet — or, if you are the owner, check you are signed in to the workspace you think you are.
  </Accordion>

  <Accordion title="I want to undo everything I did to one person">
    **Unrestrict…** returns them to exactly the state they were in before their first save. It is safe, and reversible by saving again.
  </Accordion>

  <Accordion title="Failed to save permissions.">
    Only owners and managers may change these. If you are one and it still fails, reload and try once more before [contacting support](/platform/help/contact-support).
  </Accordion>
</AccordionGroup>

## Related

<Columns cols={2}>
  <Card title="Roles" icon="https://mintcdn.com/clinikehr/gjlpJWWKqjyYNRzM/images/icons/id-badge.svg?fit=max&auto=format&n=gjlpJWWKqjyYNRzM&q=85&s=2dc1805faf2b5a2b2b82afe565af5247" href="/platform/team/roles" width="24" height="24" data-path="images/icons/id-badge.svg">
    Which pages a person opens in the first place.
  </Card>

  <Card title="Care areas" icon="https://mintcdn.com/clinikehr/gjlpJWWKqjyYNRzM/images/icons/hospital.svg?fit=max&auto=format&n=gjlpJWWKqjyYNRzM&q=85&s=9527bd2e20c0e54ab75827e6bfab3001" href="/platform/team/care-areas" width="24" height="24" data-path="images/icons/hospital.svg">
    Which hospital departments exist at all.
  </Card>

  <Card title="Audit log" icon="https://mintcdn.com/clinikehr/gjlpJWWKqjyYNRzM/images/icons/list-check.svg?fit=max&auto=format&n=gjlpJWWKqjyYNRzM&q=85&s=047747dee72616a7e253f7265154dabe" href="/platform/security/audit-log" width="24" height="24" data-path="images/icons/list-check.svg">
    Where refused actions are recorded.
  </Card>

  <Card title="Invite someone to your team" icon="https://mintcdn.com/clinikehr/nLyvBRumcl1Yk8z3/images/icons/user-plus.svg?fit=max&auto=format&n=nLyvBRumcl1Yk8z3&q=85&s=a3fbf78fb687cbc78acbe559e500b46f" href="/platform/team/invite-staff" width="24" height="24" data-path="images/icons/user-plus.svg">
    Set the starting position when you add them.
  </Card>
</Columns>

<StillStuck topic="a permission that is not behaving" />
