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

# Changing permission levels

> Assign vault Operator access and administrator permissions to users.

export const ImageCarousel = ({images, perView = 3, children}) => {
  const [page, setPage] = useState(0);
  const [imgH, setImgH] = useState(0);
  const stripRef = useRef(null);
  const THUMB_MAX_WIDTH = 220;
  const PEEK_WIDTH = 34;
  useEffect(() => {
    const strip = stripRef.current;
    if (!strip) return;
    const measure = () => {
      const box = strip.querySelector("[data-carousel-imgbox]");
      if (box && box.clientHeight) setImgH(box.clientHeight);
    };
    measure();
    const ro = new ResizeObserver(measure);
    ro.observe(strip);
    return () => ro.disconnect();
  }, []);
  const fromChildren = React.Children.toArray(children).map(c => c && c.props && c.props.src ? {
    src: c.props.src,
    alt: c.props.alt
  } : null).filter(Boolean);
  const items = fromChildren.length ? fromChildren : images || [];
  if (!items.length) return null;
  const count = items.length;
  const columns = Math.min(perView, count);
  const totalPages = Math.ceil(count / columns);
  const showControls = totalPages > 1;
  const goTo = p => setPage((p % totalPages + totalPages) % totalPages);
  const prev = () => goTo(page - 1);
  const next = () => goTo(page + 1);
  const start = page * columns;
  const visible = items.slice(start, start + columns);
  const prevPeek = start > 0 ? items[start - 1] : null;
  const nextPeek = start + columns < count ? items[start + columns] : null;
  const renderPeek = (img, side) => {
    if (!img) return null;
    const isLeft = side === "left";
    return <button type="button" onClick={isLeft ? prev : next} aria-hidden="true" tabIndex={-1} style={{
      flex: `0 0 ${PEEK_WIDTH}px`,
      width: PEEK_WIDTH + "px",
      alignSelf: imgH ? "flex-start" : "stretch",
      height: imgH ? imgH + "px" : undefined,
      border: 0,
      padding: 0,
      cursor: "pointer",
      opacity: 0.5,
      borderRadius: isLeft ? "10px 0 0 10px" : "0 10px 10px 0",
      backgroundImage: `url("${img.src}")`,
      backgroundRepeat: "no-repeat",
      backgroundSize: "auto 100%",
      backgroundPosition: isLeft ? "right center" : "left center",
      WebkitMaskImage: `linear-gradient(to ${isLeft ? "left" : "right"}, #000 15%, transparent 100%)`,
      maskImage: `linear-gradient(to ${isLeft ? "left" : "right"}, #000 15%, transparent 100%)`
    }} />;
  };
  const arrowStyle = {
    flex: "0 0 auto",
    width: "30px",
    height: "30px",
    borderRadius: "50%",
    border: "1px solid var(--ad-border, #e4e5e7)",
    background: "var(--background, #fff)",
    fontSize: "16px",
    lineHeight: "28px",
    textAlign: "center",
    cursor: "pointer",
    padding: 0
  };
  return <div style={{
    outline: "none",
    margin: "1.5rem 0"
  }} role={showControls ? "group" : undefined} aria-label={showControls ? "Screenshot carousel" : undefined} aria-roledescription={showControls ? "carousel" : undefined}>
      <div style={{
    display: "flex",
    alignItems: "center",
    gap: "10px"
  }}>
        {showControls && <button type="button" onClick={prev} aria-label="Previous screenshots" style={arrowStyle}>
            ‹
          </button>}

        <div ref={stripRef} style={{
    display: "flex",
    flexWrap: "nowrap",
    alignItems: "flex-start",
    gap: "14px",
    justifyContent: "center",
    flex: 1
  }}>
          {renderPeek(prevPeek, "left")}
          {}
          {Array.from({
    length: columns
  }).map((_, i) => {
    const img = visible[i];
    const slotStyle = {
      margin: 0,
      flex: "1 1 0",
      maxWidth: THUMB_MAX_WIDTH + "px",
      minWidth: 0
    };
    if (!img) {
      return <div key={start + i} aria-hidden="true" style={{
        ...slotStyle,
        visibility: "hidden"
      }} />;
    }
    return <div key={start + i} style={slotStyle}>
                <span data-carousel-imgbox style={{
      display: "block"
    }}>
                  <img src={img.src} alt={img.alt ?? ""} style={{
      display: "block",
      width: "100%",
      height: "auto",
      margin: 0,
      borderRadius: "10px",
      border: "1px solid var(--ad-border, #e4e5e7)"
    }} />
                </span>
                {img.alt && <div style={{
      marginTop: "6px",
      fontSize: "12px",
      lineHeight: 1.4,
      color: "var(--ad-muted, #6b7280)",
      textAlign: "center"
    }}>
                    {img.alt}
                  </div>}
              </div>;
  })}
          {renderPeek(nextPeek, "right")}
        </div>

        {showControls && <button type="button" onClick={next} aria-label="Next screenshots" style={arrowStyle}>
            ›
          </button>}
      </div>

      {showControls && <div style={{
    textAlign: "center",
    marginTop: "8px",
    fontSize: "12px",
    color: "var(--ad-muted, #6b7280)"
  }}>
          {start + 1}
          {visible.length > 1 ? "–" + (start + visible.length) : ""} of {count}
        </div>}
    </div>;
};

## Assigning a user to a vault as an Operator

Administrators with vault management permissions may grant users Operator-level access with privileges to initiate only, or to initiate and approve vault operations.

<Steps>
  <Step title="Open vault settings">
    Tap the desired vault, then tap the **Settings** icon in the upper right corner.
  </Step>

  <Step title="Navigate to Users">
    Select the **Users** section to view and edit the users on this vault policy.
  </Step>

  <Step title="Add the user">
    Tap **Add user** and select the users you want to add to the vault.
  </Step>

  <Step title="Set privileges">
    To restrict a user to initiate-only permissions, tap the user, select **Initiate only**, and tap **Save changes**.
  </Step>

  <Step title="Submit for approval">
    After making all changes, tap **Continue**. Add a comment (optional) and tap **Review** to submit the operation. Other administrators will receive a notification to approve. Once quorum is met, Anchorage Digital will review for approval.
  </Step>
</Steps>

<ImageCarousel>
  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-operator-1.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=8fe3fa3418788c8fd6bb64a04a151b59" alt="Vault settings screen with the Users section highlighted" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-operator-1.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-operator-2.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=e08302b0c01cb26cbaf7fc10d2c50e43" alt="Users list for the vault policy with Add user highlighted" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-operator-2.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-operator-3.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=4cfe40fe35b520c1acc6ff03b4d1a6f2" alt="Add user checklist with no users selected" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-operator-3.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-operator-4.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=626a24b69917ab5ef7e84d33d62a0cbf" alt="Add user checklist with all users selected and Continue highlighted" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-operator-4.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-operator-6.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=388b213c6f1e4f9008e18f1ebc55b80f" alt="User permission screen with Initiate only selected" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-operator-6.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-operator-7.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=0231f3a1f4c59f5fd7fec1d24d93510b" alt="User permission screen with Save changes highlighted" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-operator-7.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-operator-8.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=3edda970443b87af5ac877ae49b21b86" alt="Updated permissions summary with Continue highlighted" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-operator-8.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-operator-9.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=063e2ebc2765c662714750c80799624a" alt="Users list showing newly added users with Continue highlighted" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-operator-9.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-operator-10.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=ddd42bccf784e5a987e042d80fda6e5c" alt="Review operation screen with an optional comment field and Review button" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-operator-10.png" />
</ImageCarousel>

## Assigning a user as an administrator

Administrators may increase or decrease a user's permissions to the administrator level by adding them to the administrator policy.

<Steps>
  <Step title="Navigate to Administrator policy">
    Go to **Policies**, then tap **Administrator policy**.
  </Step>

  <Step title="Open the Users list">
    Select **Users** to view the users on the administrator policy.
  </Step>

  <Step title="Add the user">
    Tap **Add user** and select the user or users to add as administrators.
  </Step>

  <Step title="Set permission level">
    Users can be added with **Initiate only** or **Initiate and approve** permissions. If added with **Initiate and approve**, they'll be added to the default **Any admin operation** rule of the administrator policy.

    <Note>
      To configure more granularly which rules the new user is added to, edit the policy's rules before submitting.
    </Note>
  </Step>

  <Step title="Review the updated user list">
    Confirm the new users appear on the administrator policy, then tap **Continue**.
  </Step>

  <Step title="Save your changes">
    Tap **Save changes**, then follow the prompts to submit biometric approval — quorum approval is required. Once quorum is met, Anchorage Digital will review for approval.
  </Step>
</Steps>

<ImageCarousel>
  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-admin-1.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=c4c90c11144f0b7052d0469eec67c8d8" alt="Policies list with Admin policy highlighted" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-admin-1.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-admin-2.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=019ac6a25409dfa782788417e1919f70" alt="Administrator policy detail screen with Users highlighted" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-admin-2.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-admin-3.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=a0feb6121824308929e45d2be692c506" alt="Administrator policy Users list with Add user highlighted" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-admin-3.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-admin-4.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=eae2398929b00b7a23297aa69bc23a36" alt="Add user checklist for the administrator policy with no users selected" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-admin-4.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-admin-5.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=9a6500a7a3c611cc1b5e0687d93be4a9" alt="Add user checklist for the administrator policy with users selected and Continue highlighted" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-admin-5.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-admin-7.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=91c1275c441e196d9592f5278c726c08" alt="User permission screen with Initiate and approve selected" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-admin-7.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-admin-8.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=69a2e08765678087e6f5567e171969b8" alt="User permission screen with Initiate only selected and Save changes highlighted" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-admin-8.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-admin-9.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=772350ea59357fc7b3b5215d400278c9" alt="Updated administrator permissions summary with Continue highlighted" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-admin-9.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-admin-10.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=a723b73e3b24eaa5c8cb34e33023d7fe" alt="Administrator policy Users list showing newly added users" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-admin-10.png" />

  <img src="https://mintcdn.com/deployment-4/Q6VrRBiEEXtXFQnt/knowledge-base/images/screenshots/permission-admin-11.png?fit=max&auto=format&n=Q6VrRBiEEXtXFQnt&q=85&s=a619612439a6edd356f7909259b28593" alt="Administrator policy overview screen with Save changes highlighted" width="828" height="1792" data-path="knowledge-base/images/screenshots/permission-admin-11.png" />
</ImageCarousel>

## Downgrading an administrator to Operator

Changing a user from administrator to Operator is a two-step change, in this order:

1. Remove the user from the administrator policy. In the iOS app, go to **Policies**, tap **Administrator policy**, open the **Default** rule, and tap **Edit approvers** to remove the user, then submit for quorum approval. From the web dashboard, edit the policy's users under **Settings**, then **Policies**—see [Managing administrator policy users](/knowledge-base/platform/users/web-dashboard/team-policies#managing-administrator-policy-users).
2. Assign the user Operator access in each vault they should keep, following [Assigning a user to a vault as an Operator](#assigning-a-user-to-a-vault-as-an-operator) above.

Both changes are quorum-approved. Assigning Operator access in a vault without first removing the administrator policy leaves the user with administrator permissions.
