Skip to main content
All build-time configuration for Wire Android is defined in default.json at the root of the repository. Flags defined at the top level apply to all build flavors. Flavor-specific overrides (under the flavors key) take precedence over top-level defaults.
Values can be overridden by a custom-reloaded.json file in your customization repository. See Customization for the full priority resolution order.

Application identity

application_name
string
default:"Wire"
The display name of the application. Currently informational — the value baked into build configs may differ from what is shown in the launcher.
max_accounts
int
default:"3"
Maximum number of Wire accounts that can be signed in simultaneously on a single device.
allow_account_creation
boolean
default:"true"
When false, the registration screen is hidden and users can only sign in to an existing account. Useful for enterprise deployments where self-registration is not permitted.
allow_sso_authentication_option
boolean
default:"true"
Controls whether the SSO (Single Sign-On) login option is presented to users. Set to false to hide the SSO entry point entirely.

Feature flags

self_deleting_messages
boolean
default:"true"
Enables the self-deleting messages feature, allowing users to send messages that automatically delete after a configurable timer.
Allows team members to generate shareable guest links for conversations so external participants can join without a Wire account.
When enabled, users can optionally protect guest room links with a password. Requires enable_guest_room_link to be true.
public_channels_enabled
boolean
default:"false"
Enables the public channels feature, allowing conversations to be discoverable and joinable by users within the same team.
meetings_enabled
boolean
default:"false"
Controls availability of the Meetings feature. Enabled by default in the dev flavor.
picture_in_picture_enabled
boolean
default:"false"
Enables picture-in-picture mode for ongoing calls, allowing the call UI to float over other apps.
is_bubble_ui_enabled
boolean
default:"true"
Enables the Android bubble UI for incoming messages and calls, showing floating conversation heads.
channels_history_options_enabled
boolean
default:"false"
Enables controls for configuring message history retention options in channels. Enabled in the dev flavor.
conversation_feeder_enabled
boolean
default:"false"
Enables the conversation feeder, an alternative backend-driven approach to loading conversations. Enabled in dev and internal flavors.
paginated_conversation_list_enabled
boolean
default:"true"
Controls whether the conversation list uses paginated loading. When false, all conversations are loaded at once.
call_reactions_enabled
boolean
default:"true"
Enables emoji reactions during active calls.
collabora_integration
boolean
default:"true"
Enables Collabora Online document editing integration within conversations.
file_restriction_enabled
boolean
default:"false"
When true, only file types listed in file_restriction_list can be shared in conversations.
file_restriction_list
string
Comma-separated list of permitted file extensions when file_restriction_enabled is true. Defaults to a broad list of common formats.
force_constant_bitrate_calls
boolean
default:"false"
Forces calls to use a constant bitrate rather than variable bitrate. Can improve call stability on restricted networks.
enable_crossplatform_backup
boolean
default:"true"
Enables the cross-platform backup and restore feature, allowing conversation history to be transferred between devices.
should_display_release_notes
boolean
default:"true"
Controls whether the app shows an in-app release notes screen after an update.
use_new_login_for_default_backend
boolean
default:"true"
When true, the app uses the new unified login flow (email or SSO code in a single field) for the default backend. When false, the classic welcome screen with separate login paths is shown. See ADR-0006.

Security flags

When true, all local data is wiped if the session cookie becomes invalid (e.g., after a forced logout from the backend). Recommended for high-security enterprise deployments.
wipe_on_device_removal
boolean
default:"false"
When true, local data is wiped when the device is removed from the Wire team by an administrator.
wipe_on_rooted_device
boolean
default:"false"
When true, the app detects root access and wipes all local data to protect against extraction via elevated privileges.
The three wipe flags above are irreversible. Once triggered, users cannot recover their local message history. Test thoroughly before enabling in production builds.
lower_keypackage_limit
boolean
default:"false"
Reduces the minimum number of MLS key packages that must be available before the app uploads new ones. Intended for testing environments with constrained key package generation.
enforce_configuration_signature
boolean
default:"true"
When true, the app verifies the cryptographic signature of the build configuration before applying it. Disabled in the dev flavor to ease local development. Set to false only for non-production builds.
configuration_signature_keys
array of strings
List of Ed25519 public keys (Base64-encoded) used to verify the configuration signature when enforce_configuration_signature is true.Default production keys:
MCowBQYDK2VwAyEAFbodixhcegKs4NkpPjjzJYHAxKLlye04SuZ2JNJ9RCc=
MCowBQYDK2VwAyEAkAH9FXpKfjp1PX0HeVo5JeYi6h/zDUNwkURIuEZ+7FY=
cert_pinning_config
object
Certificate pinning configuration. Maps SHA-256 pin hashes to lists of hostname patterns.
"cert_pinning_config": {
    "sha256/fnBeCwh0imI9t46Onid49IwvsB5vcf7RCvafRRdCyRE=": [
        "**.prod-nginz-https.wire.com",
        "**.prod-nginz-ssl.wire.com",
        "**.prod-assets.wire.com",
        "clientblacklist.wire.com"
    ]
}
Only applies to production (prod) flavor by default. Set to an empty object {} to disable pinning.
is_mls_reset_enabled
boolean
default:"true"
Allows the app to reset the MLS (Messaging Layer Security) state for a conversation. Used as a recovery mechanism when MLS state becomes inconsistent.
use_strict_mls_filter
boolean
default:"false"
When true, applies a stricter filter when selecting MLS cipher suites, limiting compatibility to a narrower set of configurations. Set to false in the internal flavor.
mls_read_receipts_enabled
boolean
default:"false"
Enables read receipts for MLS-encrypted conversations.
ignore_ssl_certificates
boolean
default:"false"
Disables SSL certificate validation. Only enabled in the dev flavor for connecting to local or self-signed backends. Never enable in production.

Enterprise flags

emm_support_enabled
boolean
default:"true"
Enables Enterprise Mobility Management (EMM) support via Android’s RestrictionsManager. When enabled, IT administrators can push backend URL, SSO code, and other settings to managed devices via an MDM solution. See ADR-0008.
team_app_lock
boolean
default:"false"
When true, the app lock (PIN/biometric screen) is enforced at the team level. Users cannot disable it.
team_app_lock_timeout
int
default:"60"
Number of seconds of inactivity before the app lock is triggered when team_app_lock is true.
max_remote_search_result_count
int
default:"30"
Maximum number of results returned by remote user/team member searches.
limit_team_members_fetch_during_slow_sync
int
default:"2000"
Maximum number of team members fetched in a single slow sync operation. Limits memory pressure on large teams.

Developer flags

The following flags are configured per-flavor. They default to false at the global level and are enabled only in non-production flavors.
Flagdevstagingbetainternalfdroidprod
developer_features_enabledtruetruetruetruefalsefalse
logging_enabledtruetruetruetruefalsefalse
development_api_enabledtruefalsefalsefalsefalsefalse
ignore_ssl_certificatestrue
analytics_enabledfalsetruetruetruefalsetrue
developer_features_enabled
boolean
default:"false"
Unlocks in-app developer options such as backend switching, debug menus, and experimental UI toggles. Enabled in all non-production flavors.
logging_enabled
boolean
default:"false"
Enables verbose logging output. Disabled in prod and fdroid builds to avoid leaking sensitive information into device logs.
development_api_enabled
boolean
default:"false"
Enables use of development/unstable backend API endpoints. Only enabled in the dev flavor.
debug_screen_enabled
boolean
default:"true"
Controls visibility of the debug screen accessible from app settings. Note: this flag is set globally to true by default; individual flavors may override it.
report_bug_menu_item_enabled
boolean
default:"true"
Shows or hides the “Report a bug” menu item in the app settings screen.
use_async_flush_logging
boolean
default:"false"
Enables asynchronous log flushing for improved performance. Enabled in dev, beta, and internal flavors.
call_quality_menu_enabled
boolean
default:"false"
Enables the call quality feedback menu shown after calls end. Enabled in dev, staging, beta, and internal flavors.
nomad_profiles_enabled
boolean
default:"false"
Enables experimental Nomad profile support. Enabled in the dev flavor.
db_invalidation_control_enabled
boolean
default:"false"
Enables database invalidation control mechanisms for testing purposes. Enabled in the dev flavor, disabled in internal.

Backend defaults

These URLs define the default backend the app connects to on first launch. Users can switch backends at runtime via a deep link (unless restricted by EMM configuration). See Backend configuration for details.
default_backend_url_base_api
string
default:"https://prod-nginz-https.wire.com"
Base URL for the Wire backend REST API.
default_backend_url_accounts
string
default:"https://account.wire.com"
URL for the Wire account management portal, used for password reset and account settings links.
default_backend_url_base_websocket
string
default:"https://prod-nginz-ssl.wire.com"
WebSocket endpoint URL for real-time push messaging when websocket_enabled_by_default is true.
default_backend_url_teams
string
default:"https://teams.wire.com"
URL for the Wire team management web application.
default_backend_url_blacklist
string
default:"https://clientblacklist.wire.com/prod"
URL of the client version blacklist endpoint. The app periodically fetches this to enforce minimum client versions.
default_backend_url_website
string
default:"https://wire.com"
Base URL for the Wire marketing/documentation website, used for help and support links.
default_backend_title
string
default:"wire-production"
Human-readable label for the default backend, displayed in developer/debug screens.
websocket_enabled_by_default
boolean
default:"false"
When true, the app prefers persistent WebSocket connections for push notifications instead of FCM. Useful for environments without Google Play Services or on F-Droid builds.
enable_blacklist
boolean
default:"true"
When true, the app checks default_backend_url_blacklist and blocks usage if the current app version is listed.

Push notifications

firebase_push_sender_id
string
default:"782078216207"
Firebase Cloud Messaging (FCM) sender ID for the production project. Override per-flavor for staging/dev environments.
firebase_app_id
string
default:"1:782078216207:android:d3db2443512d2055"
Firebase application ID for the production project.
google_api_key
string
Google API key associated with the Firebase project for push notifications.
fcm_project_id
string
default:"w966768976"
Firebase project ID. Staging and dev flavors use wiregcmpushstaging.
background_notification_retry_enabled
boolean
default:"true"
Enables exponential backoff retry logic for background notification sync failures.
background_notification_stay_alive_seconds
int
default:"3"
Duration (in seconds) the sync connection stays alive after receiving a push notification when background_notification_retry_enabled is true.

Analytics

analytics_enabled
boolean
Enables anonymous usage analytics via Countly. Disabled by default in the dev and fdroid flavors. Users can also opt out in app settings.
FlavorDefault
prodtrue
stagingtrue
betatrue
internaltrue
devfalse
fdroidfalse
analytics_app_key
string
Countly application key. Production builds use 4483f7a58ae3e70b3780319c4ccb5c88a037be49. Non-production flavors use a separate key.
analytics_server_url
string
default:"https://wire.count.ly/"
Base URL of the Countly analytics server.

Build docs developers (and LLMs) love