---
title: "Threat Response Messages"
description: "Replace the default DoveRunner threat dialogs with your own branded, localized message templates."
---
> For the complete documentation index, see [llms.txt](/llms.txt).

import { Aside, Steps } from '@astrojs/starlight/components';

<Aside type="note">
This is an Enterprise-plan feature. If **ThreatResponseMessages** does not appear in the Android menu of your Developer Console, contact the [Help Center](https://support.doverunner.com).
</Aside>

When DoveRunner detects a threat — a rooted device, an emulator, a debugger, app tampering, or a hooking framework — the sealed app shows the end user a response dialog and then closes. By default this dialog uses standard, solution-provided messages in the device language.

**Threat Response Messages** lets you replace those defaults with your own reusable **templates**: your wording, your dialog title, your button label, and your colors. Templates are created once and then selected per sealing, so the same template can be reused across builds and apps.

The feature is opt-in. If you do not select a template when sealing, the solution's default messages are used and existing builds are unaffected.

## Where Templates Are Used

A template is not applied by saving it. You apply it when you seal:

- In the sealing wizard, on **Step 5 · Advanced Detection**.
- Or by referencing it from a sealing preset. This is the only way to apply a template when you seal through the CLI — see [`-sealing_preset_name`](../cicd/basic-configuration/).

## Managing Templates

Open **Android Mobile App Security → ThreatResponseMessages**. The list shows every template in your account:

| Column | Description |
| :----- | :---------- |
| **Template Name** | The name you gave the template. |
| **Description** | Optional free-text note. |
| **Type** | `CUSTOM` for templates you created. |
| **Languages** | The language codes the template defines, for example `EN` `KO`. |
| **Last Updated** | When the template was last saved. |
| **Actions** | Preview, edit, duplicate, or delete the template. |

You can search by name or description, and filter the list by type or by language. Use **+ NEW TEMPLATE** to create one, or the duplicate action to branch an existing template rather than starting over.

## Creating a Template

<Steps>

1. Click **+ NEW TEMPLATE**.

2. Replace the default **Untitled Template** name and, optionally, add a description.

3. Add the languages the template should cover (see [Languages](#languages)).

4. Edit the wording on the **MESSAGES** tab and the dialog styling on the **BRANDING** tab.

5. Check the **LIVE PREVIEW** panel, then click **SAVE TEMPLATE**.

</Steps>

### Languages

English (`en`) is included by default. You can add more from the **Add language…** picker:

| | | | |
| :--- | :--- | :--- | :--- |
| `de` German | `es` Spanish | `fr` French | `id` Indonesian |
| `it` Italian | `ja` Japanese | `ko` Korean | `pt` Portuguese |
| `pt_PT` Portuguese (Portugal) | `ru` Russian | `th` Thai | `tr` Turkish |
| `vi` Vietnamese | `zh` Chinese (Simplified) | `zh_TW` Chinese (Traditional) | |

<Aside type="caution">
A single template holds **at most 3 languages**, including English. If you need to cover more, create separate templates and seal a build per language set.
</Aside>

### Messages

The **MESSAGES** tab is pre-populated with the default wording, so you only need to edit the categories you care about. Expand a category to edit its **Title** and **Message**.

There are 11 threat categories, each with one message:

| Category | Shown when |
| :------- | :--------- |
| **Rooted Device** | The device is rooted, or a rooting tool is detected. |
| **Android Emulator** | The app is running in an emulator. |
| **App Cloning Environment** | The app is running in a virtual space, dual-app, or cloned environment. |
| **Developer Options** | Android Developer Options are enabled. |
| **USB Debugging** | ADB/USB debugging is enabled. |
| **Customized ROM** | The device runs a modified system image. |
| **Code Hooking** | A hooking framework is manipulating the app at runtime. |
| **Debugging** | A debugger is attached to the app's process. |
| **Tampering System & Disabling Security** | System security settings have been tampered with or disabled. |
| **Cheat Tool** | A cheat or memory-manipulation tool is detected. |
| **Repackaged Application** | The app has been repackaged or resigned. |

The message body accepts a small set of HTML tags for basic formatting:

```
<b>  <i>  <u>  <br>  <span>
```

### Branding

The **BRANDING** tab controls how the dialog looks. These settings apply to every category in the template.

| Field | Description |
| :---- | :---------- |
| **Dialog Title** | Heading of the threat dialog. |
| **Button Text** | Label on the dismiss button. |
| **Button Color** | Background color of the button. |
| **Button Text Color** | Text color of the button label. |
| **Background Color** | Background color of the dialog. |
| **Text Color** | Color of the dialog body text. |

<Aside type="note">
There is no logo upload — branding is limited to the title, button label, and the four colors above.
</Aside>

### Live Preview

The **LIVE PREVIEW** panel on the right renders the dialog over a mock app screen, exactly as an end user would see it. Page through all 11 categories with the arrows next to the `1/11` counter to check every message before saving.

For reference, the default English dialog for **Rooted Device** reads:

> **Security Alert**
>
> **Rooted Environment Detected**
>
> Not allowed to launch the App on rooted device, app will get closed.
>
> `OK`

## Applying a Template

After the template is saved, seal your app as usual and select the template on **Step 5 · Advanced Detection**. See [Apply DoveRunner Mobile App Security](../android-sealing/) for the rest of the sealing flow.

<Aside type="note">
Changing a template does not change apps that were already sealed. Re-seal the app to pick up edited wording or branding.
</Aside>