# White Labeling the iOS, macOS, and Android enrollment pages

## Getting Started

This article explains how to customize the enrollment page for iOS, macOS (MDM), and Android devices - the enrollment page is what is made visible for your end users when they enroll their devices manually (BYOD or manual enrollment).

<table id="bkmrk-feature-customizatio"><thead><tr style="background-color: rgb(251, 238, 184);"><th>Feature</th><th>Customization type</th><th>Technology</th></tr></thead><tbody><tr><td>iOS, macOS MDM, Android</td><td>Server template</td><td>HTML</td></tr></tbody></table>

<table id="bkmrk-managed-platform-ser"><tbody><tr style="background-color: rgb(251, 238, 184);"><td>Managed Platform</td><td>Server Platform</td><td>Location</td></tr><tr><td>Android</td><td>macOS and Linux</td><td>`/usr/local/filewave/django/user_templates/android/welcome.html`</td></tr><tr><td>iOS and macOS</td><td>macOS and Linux</td><td>`/usr/local/filewave/django/user_templates/ios/welcome.html`</td></tr></tbody></table>

This HTML document is actually a template, containing variables that will be replaced by the real values when processed by the FileWave server. We are using [Django template language](https://docs.djangoproject.com/en/1.11/ref/templates/) - but in a very limited way; only a few variables are important.

#### iOS and MacOS

<table id="bkmrk-variable-usage-stati"><thead><tr style="background-color: rgb(251, 238, 184);"><th>variable</th><th>usage</th></tr></thead><tbody><tr><td>`static`</td><td>Path where FileWave stores static files like icons, css files</td></tr><tr><td>`<already_trusted_ca`</td><td>True if the server has a valid, trusted SSL certificate</td></tr></tbody></table>

The template will show one or two steps depending on the SSL certificate your server is using.

In case of self signed certificate:

- step 1 is to download the certificate (to be manually installed in the device trust store); link must point to "/CA"
- step 2 is to enroll the device; link must point to "/enroll"

In case of trusted certificate (recommended):

- step 1 is to enroll the device; link must point to "/enroll"

#### Android

<table id="bkmrk-variable-usage-stati-1"><thead><tr style="background-color: rgb(251, 238, 184);"><th>variable</th><th>usage</th></tr></thead><tbody><tr><td>`static`</td><td>Path where FileWave stores static files like icons, css files</td></tr><tr><td>`filewave_version`</td><td>FileWave server current version. "12.4.0" for instance</td></tr><tr><td>server\_host</td><td>FileWave server FQDN as set in preferences. "[server.filewave.ch](http://server.filewave.ch)" for instance</td></tr><tr><td>server\_port</td><td>FileWave server port as set in preferences. 20443 by default.</td></tr></tbody></table>

Android template always shows two steps:

- step 1 is to download FileWave Android Native App Portal on FileWave CDN, using *filewave\_version* variable. You may want to change this link if you have a custom Android Native App Portal.
- step 2 is to automatically configure the Android Native App Portal, once it has been installed, using *server\_host* and *server\_port* variables.

**Additional files**

Additional files can be placed in the same directory and will be served with the **/user\_templates/ios/** prefix. For instance, if you want to include a CSS file, you can add to your index.html:

```html
<link rel='stylesheet' href="/user_templates/ios/enroll.css" />
```

And copy "enroll.css" in the same directory as index.html.