Skip to content

Organizations

Admin → Organizations (/admin/org) edits the top-level Organization document at /organizations/{orgId}. A user in more than one org uses the org list on the left to pick which one to edit; the detail pane on the right is a full profile + member manager.

Only admin and superadmin can open this page. superadmin is additionally required to deactivate an org or change the plan.

Org profile

Click Edit on the header card to open the form. Fields map 1:1 to the Firestore document:

FieldFirestore keyNotes
NamenameShown in every header and report.
DescriptiondescriptionShort one-line tagline.
LogologoS3KeyUpload via the drop-zone; stored in the S3 org-logos/ prefix.
Accent colour (aspirational)brandColorUsed to tint welcome emails and PDF reports — UI lands with the 2026-Q3 branding release.
Welcome message (aspirational)welcomeMessageDisplayed to new members after invite acceptance.
SectorsectorPick-list from ORG_SECTORS (public safety, SAR, military, energy, …).
Contact emailcontactEmailUsed as the reply-to on all org emails.
PhonephoneFree-form.
WebsitewebsiteLink on the org detail header.
CountrycountryUsed for weather/region defaults.
AddressaddressStreet address.
Tax IDtaxIdShown on invoices.

A new org starts with active = true and inherits the guardian plan. The Deactivate button is destructive — it sets active = false and hides the org from everyone except superadmin.

Defaults

The bottom of the detail pane hosts the Defaults section — values every new mission inherits unless overridden at mission-create time:

  • Mission retention — days to keep mission docs + media. Capped by the plan (videoStorageDays limit).
  • E2E default — when on, every new mission has end-to-end encryption enabled for TACLINK traffic. Requires Tactical plan or higher.
  • AI features — per-flag toggles for aiCopilot, aiDetection, liveSubtitles, aiMissionReports. Greyed out where the plan does not support them.
  • Default PTT channels — up to three org-wide channels auto-joined on every mission (Command, Ground, Air is the typical preset).

Integrations

The Integrations drawer is a list of collapsible cards. Each card opens a short form and saves to /organizations/{orgId}/integrations/{provider}.

  • DJI — App ID, App Key, License. Validated against the DJI Developer portal. Without this, dock pairing on DJI management fails with a “missing credentials” banner.
  • Panoptic feeds (aspirational) — sensor-fusion ingestion URL for radar / AIS / ADS-B. Roadmapped alongside the Panoptic sensor-fusion layer.
  • SSO (Command+) — SAML and OIDC. Hidden on Guardian/Tactical.
  • SMTP / Email — custom transport for invites and reports. Defaults to the ARGUS-managed relay.
  • Slack / Teams / Discord — bot tokens that the Workflows page can target.

Members section

The right half of the detail pane hosts a compact member manager. It is the same table as the standalone Users page but scoped to the org selected on the left — handy for super-admins juggling several orgs.

Usage dashboard

Below Integrations, a live Usage strip shows:

  • Seats used / total (from ORG_PLAN_LIMITS[plan].maxUsers).
  • Active missions this month vs. maxOpsPerMonth.
  • TACLINK minutes this billing cycle.
  • Storage consumed (media + audio) against videoStorageDays.

Numbers update every 60 seconds from the /organizations/{orgId}/usage aggregate doc.

Plans

Plan tier is read-only here — change it from Subscription. The four tiers from code:

  • Guardian — 5 seats, 2 streams, 20 ops/mo, 720p. Solo and small-crew.
  • Tactical — 10 seats, 5 streams, unlimited ops, 1080p, E2E, AI detection.
  • Command — 20 seats, 10 streams, 4K, SSO, custom roles, REST API, immutable audit.
  • Sovereign — unlimited everything, white-label, dedicated infra.