Configure the policy file
Use policy.json to apply organization settings at startup across a machine. IT manages this JSON file; Northing reads it without changing it.
Install and verify a policy
Section titled “Install and verify a policy”- Create a JSON object containing only the controls your organization intends to manage. Adapt the example below to your approved settings.
- Install it at the platform path with administrator ownership and permissions that let users read it without changing it.
- Restart Northing. Check the affected Settings pages and any reported policy problems.
- Verify one allowed action and one action the policy should block. Keep a known-good policy copy for recovery.
| Platform | Policy path |
|---|---|
| macOS | /Library/Application Support/Northing/policy.json |
| Windows, in validation | %ProgramData%\Northing\policy.json |
macOS managed-preference payloads and the Windows policy registry are not read as substitutes for this file.
{ "managed": true, "updates": { "enabled": true, "channel": "stable", "packagesUrl": "https://software.example.gov/northing" }, "allowedSources": ["arcgis_public"], "allowLocalMcpServers": false, "allowedMcpServers": [], "defaultWorkspace": "analyst", "ai": { "allowedProviders": ["azure_openai"], "schemaOnly": true, "providers": { "azure_openai": { "endpoints": ["https://gis-ai.example.openai.azure.com"] } } }, "supportAddress": "Contact the GIS service desk"}Replace the example URLs with approved destinations. This sample allows only one outside source and no MCP servers, restricts AI to a pinned Azure endpoint with row values withheld, and leaves update installation to IT. It does not supply credentials or a license.
Choose controls
Section titled “Choose controls”| Keys | Purpose |
|---|---|
allowedSources, blockedSources |
Restrict outside sources by ID. An allow list keeps newly introduced sources disabled unless added. |
allowedMcpServers, blockedMcpServers, allowLocalMcpServers |
Restrict assistant tool servers, including locally launched programs. |
teamFolder, teamSkillsFolder |
Set shared content and curated skill locations. Protect their write access. |
defaultWorkspace, workspaceByUser, workspaceByUserType |
Choose analyst, engineering, or both defaults by organization, account, or ArcGIS user type. |
printTemplates, lockPrintTemplates |
Set preferred print templates and optionally limit the available templates. |
ai, sensitivity, aiRecords |
Control providers, endpoint restrictions, table classifications, retention minimums, and holds. |
networkProxy |
Select system, direct, or manual proxy routing for supported native transports. |
managed, updates |
Control update installation, checks, channel, source, and package location. |
license |
Refer to or contain a protected signed license supplied by IT. |
supportAddress |
Show a plain-text support contact in problem reporting. It does not send reports. |
Outside-source IDs include arcgis_public, overture_places, display_services, elevation_services, and fema_nfhl. MCP server restrictions can match an ID, catalog preset, URL prefix, or command. An empty allow list allows no services in that category. Omit the list if you do not need that restriction.
AI and retention rules
Section titled “AI and retention rules”Provider IDs are anthropic, openai_api, chatgpt_plan, azure_openai, bedrock, and local_openai. ai.schemaOnly withholds row values. Provider endpoints can constrain URLs, host patterns, or AWS regions. Local model endpoints must still be loopback addresses; policy does not enable a remote local-model host.
cjisCapable: true takes effect only with a nonempty endpoint list. It is an administrative declaration about approved endpoints, not a certification supplied by Northing. See AI records and sensitivity before configuring it.
Sensitivity rules match table names or source URLs, with * and ? patterns ignoring case. They set a minimum classification users cannot lower. aiRecords.retentionDays sets minimums for transitory, workingDraft, and decisionSupporting; legalHold holds records until IT removes it.
Diagnose a policy problem
Section titled “Diagnose a policy problem”An unreadable policy blocks outside sources and MCP servers. Invalid governance settings apply conservative restrictions, such as withholding values, allowing no providers, or preventing records deletion. Read the reported problem, repair the file, and restart Northing.
Managed license references have additional protected-file rules, including absolute paths, protected parent directories, and no symlink or junction traversal. A missing managed license does not fall back to a personal key. Follow Licensing for deployment details.