LogoDicto Docs

Set up the client

Connect managed workstations and browser applications to your Dicto server.

Before you begin#

Have the public API URL, an approved Dicto release, and a provisioned account or SSO provider. Check API reachability from the user's network. Use the API base URL, such as https://api.dicto.example.com, without a trailing slash, query, fragment or /auth suffix.

Desktop installation#

Install the Windows, macOS or Linux release through your software distribution process. Download the app schema and configuration example. Place config.yaml beside the actual Dicto executable:

PlatformTypical location
Windows C:\Program Files\Dicto\config.yaml, beside Dicto.exe
macOS/Applications/Dicto.app/Contents/MacOS/config.yaml
Linux/opt/dicto/config.yaml, beside the Dicto binary

Paths depend on the installation. On macOS, Show Package Contents opens the application bundle. Include configuration through your managed installation process and verify the resulting signed app according to that process.

Minimal managed configuration:

# yaml-language-server: $schema=./app.schema.json
config_version: 1
server_config:
  api_url: https://api.dicto.example.com

Save app.schema.json beside the file for editor validation. Startup validation uses the schema embedded in Dicto, so distributing the schema beside the executable is optional.

Managed updates and telemetry#

For centrally controlled updates and disabled analytics/error reporting:

config_version: 1
server_config:
  api_url: https://api.dicto.example.com
app_updater:
  enabled: false
  check_automatically: false
analytics:
  enabled: false
sentry:
  enabled: false

Omitted settings inherit release defaults. Managed YAML takes precedence over compiled server defaults. Restart Dicto after changes. Incorrect types, unknown keys, unsupported values or invalid URLs stop startup rather than silently reverting to other settings.

`config.json` is no longer supported. Follow the [YAML migration instructions](/configuration#migrate-from-configjson) before rolling out this release.

Features and SSO#

Merge these sections into your configuration as needed:

feature_flags:
  scripto: enabled
  chat: hidden
  tools: disabled
authentication:
  sso_browser_mode: system
  allow_integrated_sso: true

enabled makes a feature available, hidden starts it off and permits a Developer Settings toggle, and disabled makes it unavailable. Server policies and service availability still apply. Desktop SSO uses the system browser by default. You can select integrated when allowed, or set allow_integrated_sso: false to enforce the system browser.

The app schema lists all supported keys. Use lowercase enum values and unquoted booleans. Omit optional settings rather than supplying null.

Web application containers#

The management app has its own deployment guide, including public API configuration, path prefixes and auth callbacks. The reference setup pins its image and configuration.

For the end-user web app, deploy your approved ghcr.io/truhnlab/dicto-app release behind HTTPS, route to its container port 80, and use BASE_HREF=/ for its own hostname (or the actual slash-terminated path prefix). Choose Custom server during onboarding and enter the public API URL. The selection is stored in the browser. Add that browser origin and its actual auth callback to the server configuration and verify sign-in and a nested-page reload.

Desktop config.yaml does not configure management browser runtime settings. Keep credentials and provider keys out of both public browser applications.

Verify the installation#

  1. Open Dicto and confirm it connects to your intended server.
  2. Sign in with a provisioned account or your configured SSO flow.
  3. Grant microphone permission. Desktop auto-paste may require additional platform permissions.
  4. Select or create a workspace as permitted by your account.
  5. Record a short sample, stop recording, and confirm transcription completes.
  6. Restart and verify that the connection and sign-in flow still work.

Use troubleshooting for configuration, connection or transcription failures.