Admin and deployment guide

Rolling Nib out to a team. Organization setup, managed settings, installs and updates, network requirements, telemetry, platform support, and where data lives.

This guide is for the people who roll Nib out and keep it in policy. Items marked Not yet don't exist today. We list them so you can plan around them.

Set up the organization

  1. Create the organization and invite people under Account → Organization. Roles are owner, admin and member; see Organizations.

  2. Choose a plan under Account → Plan & billing. Enterprise is a contract; write to sales@nib.gg.

  3. Set spend limits:

    • the monthly cap on usage beyond the plan;
    • a default monthly budget per member, with per-member overrides.

    You can also export usage as CSV for chargeback. See Plans and billing.

  4. Decide data handling. Under Plan & billing → Nib models and your data, Team and Enterprise can require zero data retention for Nib models. Prompts to Nib models never go to providers that may train on them. See Your data.

  5. Read the activity log under Account → Organization → Activity, or export it as JSON lines for a SIEM.

Not yet:

  • single sign-on (SAML or OIDC), SCIM provisioning, domain verification and auto-join;
  • custom roles;
  • policy pushed from the cloud to devices.

Managed settings

Nib reads a managed settings file that users can't override. Deploy it with your usual tooling: MDM file payloads, Group Policy file copy, or configuration management.

OSManaged settingsManaged MCP servers
macOS/Library/Application Support/Nib/managed-settings.jsonmanaged-mcp.json in the same folder
WindowsC:\Program Files\Nib\managed-settings.jsonmanaged-mcp.json in the same folder
Linux/etc/nib/managed-settings.jsonmanaged-mcp.json in the same folder

Managed files already deployed for other agents in the same format (…/ClaudeCode/…, /etc/claude-code/…) are also read, at lower precedence than Nib's. A managed NIB.md in the same folder adds organization-wide instructions to every session.

Precedence, highest first: managed, then command-line --settings, then the project's local settings, then the project's settings, then the user's settings.

  • Single values come from the highest level that sets them.
  • Lists are combined.

Some keys work differently:

KeyEffect
permissions.disableBypassPermissionsMode, permissions.disableAutoModeUsers can't switch sessions to bypass or auto mode (managed file only; set elsewhere, they're ignored with a warning)
permissions.blockReadsOutsideWorkingDirectoriesAccepted so existing settings load, but not applied yet
sandbox.allowUnsandboxedCommands: falseNo command may leave the OS sandbox, even with approval, and bypass mode keeps it on. On a computer with no sandbox, sandbox.failIfUnavailable: true refuses shell commands
availableModelsOnly these models can be used. The highest level's list replaces all others
allowedMcpServers, deniedMcpServersWhich MCP servers may connect, matched by name, URL or command
strictKnownMarketplaces, allowedExtensionsWhich Hub marketplaces and extensions may be installed. An empty list blocks installs
sandbox.network.allowedDomainsThe hosts sandboxed commands may reach besides package registries and toolchain downloads, which deniedDomains can refuse. A managed list replaces the user's
allowManagedHooksOnly, allowManagedPermissionRulesOnly, disableAllHooksOnly your hooks and permission rules apply (managed file only)

A project's own settings can't:

  • switch on auto or bypass mode;
  • widen the sandbox;
  • set protected environment variables;
  • add hooks or allow rules before the person trusts the folder.

If a managed file isn't valid JSON, it's skipped with a warning. Validate it before you roll it out.

Not yet:

  • native MDM formats (configuration profiles, ADMX);
  • managed keys for telemetry, sync, turning the Hub off, or updates;
  • a provider allowlist.

Install and update

Desktop app. Bundle id gg.nib.desktop, published by Wex Labs Limited. Downloads are at nib.gg/download.

OSPackagesNotes
macOS 12 Monterey or later, Apple silicon or IntelUniversal .dmgThe macOS app isn't notarized by Apple yet, so macOS won't open a downloaded copy until its quarantine flag is cleared. No .pkg yet. Deploy the .app with your MDM

Windows and Linux follow in a later release.

Silent installs use the standard installer switches (NSIS /S, msiexec /qn). We haven't tested them across versions yet.

Updates.

  • The desktop app asks the update feed, updates.nib.gg, for a newer version at launch and every 4 hours, and asks before installing. The stable channel is the default, and people can switch to beta in the app.
  • The feed's update files redirect to GitHub releases (§ Network).
  • Not yet: turning updates off, pinning a version, or setting the channel by policy.

CLI.

Available with the first public release.

  • For CI, nib setup-token registers a device token.

Network

Nib needs outbound HTTPS to:

HostWhat forWhen
api.nib.ggAccount, sync, Nib models, the model catalogue (at startup and daily), managed web search and cloud dictation, telemetry you opted intoSigned in
app.nib.ggThe web appUsing it in a browser
hub.nib.ggExtensions and the HubBrowsing or installing extensions
updates.nib.ggDesktop app updates: the update feed and its update filesChecking for updates, at launch and every 4 hours
nib.ggDownloads and the CLI's install script (/download, /install, /releases)Installing or updating
github.com, release-assets.githubusercontent.comRelease files, which the update feed and the site's download links redirect toInstalling or updating
Your model providers' APIsCalls with your own provider keys, e.g. api.anthropic.com, api.openai.com, openrouter.aiUsing your own keys
api.github.com, or your GitHub Enterprise ServerGitHub features; nib update reads the latest CLI release from api.github.comWhen connected, or updating the CLI

Sync and remote control use a WebSocket to api.nib.gg.

On the computer:

  • The daemon listens on 127.0.0.1 only, on a random port.
  • It refuses other addresses unless started with --allow-remote.
  • Its sandbox proxy and preview server also bind to loopback.

Proxies and custom CAs:

  • The CLI and the daemon follow the standard HTTPS_PROXY, NO_PROXY and NODE_EXTRA_CA_CERTS variables. Test them in your environment before you roll out.
  • Not yet: reading the system proxy or PAC files in the desktop app, and client certificates (mTLS).

Telemetry

Telemetry is off until a person opts in during setup:

  • crash reports are scrubbed of paths, tokens and code;
  • usage metrics are counts and timings, labelled by model.

To keep it off on a machine, set NIB_TELEMETRY=off or DO_NOT_TRACK=1 in the environment. The CLI and the daemon honour it. Not yet: a managed setting that turns it off fleet-wide in the desktop app.

Platform support

macOSLinuxWindows
Shell sandboxYes (Seatbelt)Yes (bubblewrap, which must be installed; without it, as on Windows)No: shell commands run unsandboxed, each judged by the permission mode, unless sandbox.failIfUnavailable: true refuses them
Sandbox network allowlistEnforcedThrough the proxy only (not a hard block)—
Secret storage, desktopKeychainSecret ServiceCredential Manager
Secret storage, CLIKeychain, through the nib-keychain helper installed beside the daemon. The keys' keychain items trust only that helper, and it answers only the signed daemon; it doesn't ask for Touch ID or your passwordSecret Service (secret-tool)Environment variables

Where data lives on the computer

WhatWhere
Daemon data (sessions database, blobs, worktrees, artifacts)~/.nib for the CLI (NIB_DATA_DIR to change it). The desktop app uses its app data folder, for example ~/Library/Application Support/gg.nib.desktop/daemon on macOS
Settings~/.nib/settings.json; projects use .nib/settings.json
Logsnib-daemon.log in the app's log folder, or ~/.nib/logs. Rotated at 5 × 5 MB; NIB_LOG_LEVEL sets the level
Local audit trailharness/audit/<session>.jsonl in the data folder: permission decisions and proxied connections, kept 90 days (NIB_AUDIT_RETENTION_DAYS)

The cloud keeps data for the periods in Your data.

On this page