Skip to main content

Overview

Formal Endpoint reads ~/.formal/config.toml on startup. Restart Formal Endpoint after you edit the file. On macOS, Forced .mobileconfig keys override ~/.formal/config.toml. See MDM overrides.

config.toml settings

Every key the Endpoint reads from ~/.formal/config.toml:
Omit [oidc] and auth_mode unless the Endpoint should authenticate with OIDC. Use oidc.env or oidc.file instead of oidc.provider when the JWT comes from an environment variable or a file. See Log In with OIDC.

Configuring Transparent Mode on Startup

To avoid toggling Transparent Mode every time you open Formal Endpoint, configure it in ~/.formal/config.toml.
enable specifies whether the endpoint agent should try to enable Transparent Mode upon startup. If omitted, enable defaults to false. enforce controls whether you can change Transparent Mode behavior with formal transparent-proxy install, formal transparent-proxy enable, and the tray toggle. If omitted, enforce defaults to false.
Privileged users can still disable the network extension without formal transparent-proxy enable or formal transparent-proxy disable.
fail can be open or closed. If the endpoint agent errors, open preserves network connectivity. closed keeps enforcing that Transparent Mode is running. If omitted, fail defaults to open. allow_quic controls whether Transparent Mode allows QUIC traffic (UDP/443). Blocking QUIC is required to intercept Claude Chat sessions in the Claude Desktop App. If omitted, allow_quic defaults to false. intercept_localhost controls whether Transparent Mode intercepts IPv4 loopback traffic, such as local tunnels on 127.0.0.1. If omitted, intercept_localhost defaults to false. See Transparent Mode for install and enable steps.

MDM overrides (macOS)

Forced .mobileconfig keys override ~/.formal/config.toml. On macOS, Forced keys in the com.formal.desktop domain take precedence over the file. They apply even when config.toml is absent. Deploy the values as Forced (locked) keys in a com.apple.ManagedClient.preferences payload. Generate the profile from Endpoint Rollout in the Control Plane. These config.toml keys have no MDM mapping: postgres_db, launch_commands, auth_mode, and [oidc].

Require a password to uninstall

Set the uninstallPasswordHash managed preference to protect formal uninstall. This key exists only in the .mobileconfig profile. It is not a config.toml setting. When the key is present, the CLI prompts for the password. It refuses to remove Formal unless the password matches. Enter an Uninstall Password on the Configuration Profile step in Endpoint Rollout. Formal embeds the SHA-256 hex digest in the profile. The plaintext password never leaves your browser.
This is a deterrent, not tamper protection. A user with sudo can still stop processes and delete files manually.

Next Steps

Formal Endpoint

Install the app, log in, and connect to resources

Linux

Install the headless package on Debian or Ubuntu

MDM Integration

Deploy Formal Endpoint with your MDM