Blocksi Filter - Mosyle iOS Configuration Guide
The following contains procedures for deploying Blocksi Filter (full URL + granular YouTube filtering solution) through Mosyle.
Blocksi Filter app - The filter itself.
Blocksi certificate profile - Allows the filter to protect web traffic on the device.
Per-app VPN profile - Turns on filtering for the built-in Safari browser and provides the connection that managed apps are attached to.
Prerequisites
Ensure the following prerequisites are in place before proceeding with deployment:
Administrator access to Mosyle.
Your Blocksi Super-Admin account email address.
Send your Organization ID and organization name to Blocksi Support to authorize your district's use of the Blocksi Filter app. Refer to the Getting Your Organization ID and Name section for more information.
Ensure that Custom Apps and the Volume Purchase Program (VPP) are fully enabled and configured. Refer to the Configuring Volume Purchasing section for more information.
Your Mosyle account is connected to Apple Business Manager or Apple School Manager.
Supervised iPads or iPhones running iOS 16 or later are enrolled in Mosyle through Apple School Manager or Apple Business Manager. A device group exists that contains the target devices.
A filtering policy must be created and configured on the Blocksi Admin Dashboard.
The Blocksi Filter app is assigned to the location that your MDM uses in Apple School Manager or Apple Business Manager, and has synced into Mosyle.
Sign in to your Apple School Manager account with your Administrator credentials.
Click your account name in the lower left-hand corner, and then click Preferences from the pop-up menu.
Go to Organization Information.
Locate your Organization ID and Organization Name.
Send this information to Blocksi. It is required to add your organization to the approved list of customers who can use Blocksi's filtering app.
Sign in to your company's account at business.apple.com (Apple Business Manager) or school.apple.com (Apple School Manager).
Click your account name in the top right corner, then click Settings from the drop-down menu.
Click Payments and Billing.
Under the Apps and Books tab, scroll to the Content Tokens section and click Download next to the correct server location token. The token is downloaded to the Downloads folder on your computer.
In Mosyle, navigate to Management > Manage iOS / iPadOS / watchOS, then click Applications on the left and select Apple Apps and Books (VPP). The Apple Apps and Books page opens.

Click Add account and enter a name in the Account name text box.

Click Select file and select the
.vpptokenfile that you downloaded.Tip
To install free apps faster during Automated Device Enrollment, select YES, Pre-Assign App Licenses for Automated Device Enrollment Devices from the drop-down list, then click Select and choose the Automated Device Enrollment profiles.
Click Save.
In Mosyle, navigate to Management > Manage iOS / iPadOS / watchOS, then select Install App from the Management Profiles menu on the left.

Click Add new profile. The Install Apps panel opens to the right.

Configure the following:
Profile Name - Enter
Blocksi Filter App.Installation source - Select the Apps and Books (VPP) location that the Blocksi Filter app is assigned to.
Assignment method - Select Device based - Assign licenses to device serial number.

Note
Device-based assignment is recommended for shared, device-enrolled devices.
Click Click to add an app. The Select the apps window opens.

Select Blocksi Filter, then click the
button in the top right.
Note
Blocksi Filter and the legacy Blocksi For iPad app can both appear in this list. Make sure that you select Blocksi Filter.
Under Profile Assignment, click the
button to open the Profile Assignment window and select your target devices.Note
Note which devices you assign here. The Blocksi certificate profile and the per-app VPN profile must be assigned to the same devices.

Click Save.
Important
Wait until the app shows as installed on at least one test device before continuing. The profiles in the following sections refer to the network extension of the app, and filtering cannot start until the app is installed.
Download URLs
The relevant .mobileconfig file can be downloaded using the following link:
Blocksi_Filter_CA.mobileconfig- Delivers the Blocksi certificate.
In Mosyle, navigate to Management > Manage iOS / iPadOS / watchOS, then select Certificates/Custom Profiles from the Management Profiles menu on the left.
Note
If Certificates/Custom Profiles is not listed, click Activate New Profile Type and activate it.

Click New. The configuration panel opens to the right.

Configure the following:
Name - Enter
Blocksi Certificate.Configuration File - Click Select File and upload
Blocksi_Filter_CA.mobileconfig.Profile Assignment - Assign the profile to the same devices you assigned the Blocksi Filter app to.

Click Save. The custom profile appears in the Certificates/Custom Profiles section and is enabled by default.
Note
On supervised devices, the certificate is trusted automatically, so it does not need to be enabled manually under Settings > General > About > Certificate Trust Settings.
The per-app VPN profile is the working filtering configuration. It turns on filtering for the built-in Safari browser and creates the connection that managed apps are attached to. Configure the file with your Organization ID before you upload it to Mosyle.
Mosyle can attach an app only to a profile created under VPN. Because the per-app VPN profile is uploaded as a custom profile, you create a reference profile under VPN for apps to attach to. The reference profile is never installed on devices. It only supplies the identifier that links the app to the connection that the per-app VPN profile delivers.
You need the reference profile only if you filter browsers other than Safari. Safari is filtered by the per-app VPN profile alone.
Important
Never assign the reference profile to devices. If you assign it, it installs alongside the working profile and browsing stops.
In Mosyle, navigate to Management > Manage iOS / iPadOS / watchOS, then select VPN from the Management Profiles menu on the left.

Click Add new profile. The configuration panel opens to the right.

Configure the following:
Connection Name - Enter
Blocksi per-app VPN (reference).Connection Type - Select Custom SSL.
Identifier - Enter
com.blocksi.filter.PacketTunnel.Server - Enter
127.0.0.1.Account and Password - Leave both empty. If your browser fills them in, clear them.

Select Configure add-on App Layer VPN.
In VPNUUID, replace the generated value with the following value, exactly:
B10C5100-1A2B-4C3D-9E4F-0A1B2C3D4E5F
Note
If Mosyle does not accept this value, keep the value that Mosyle generated and enter that same value in the
VPNUUIDkey ofBlocksi_Filter_Mosyle.mobileconfigbefore you upload it.
Leave Profile Assignment empty.
Click Save. The custom profile appears in the VPN section and is enabled by default.
Download URLs
The relevant .mobileconfig file can be downloaded using the following link:
Blocksi_Filter_Mosyle.mobileconfig- Configures Safari filtering and provides the connection for managed apps.
Download the
Blocksi_Filter_Mosyle.mobileconfigfile.Open the downloaded
.mobileconfigfile using any text or code editor.In the
VendorConfigdict, configure the following keys:organizationId- Replaceadmin@blocksi.netwith your Blocksi Organization ID.adminPassword- Leave the default value, or replace it with a password of your choice. This password protects access to the app details in the Blocksi Filter app.userId- Leave the value set to%Email%. Mosyle replaces this variable with the email address of the assigned user.snAnalytics- Leave the value unchanged. This key reports the serial number of the device for analytics only, and is separate from theserialNumberkey used for serial number-based filtering.useDhcpDns- Leave the value set to<true/>. The filter uses the DNS servers provided by your network and falls back to public DNS servers if none are available.
Leave every other value unchanged.

Save the file.
Note
The profile reports the assigned user of the device to Blocksi so that activity is attributed correctly. This requires the device to have a user assigned in Mosyle. Devices without an assigned user, such as shared devices, receive a blanket filtering policy instead.
By default, the profile identifies devices by their assigned user. Configure the profile as described in this section when you want the filter to identify devices by serial number instead, such as on shared devices without an assigned user.
Download the
Blocksi_Filter_Mosyle.mobileconfigfile.Open the downloaded
.mobileconfigfile using any text or code editor.In the
VendorConfigdict, configure the following keys:organizationId- Replaceadmin@blocksi.netwith your Blocksi Organization ID.adminPassword- Leave the default value, or replace it with a password of your choice. This password protects access to the app details in the Blocksi Filter app.userId- Replace the key name withserialNumber, and replace the%Email%value with%SerialNumber%, so that the two lines read as follows:<key>serialNumber</key> <string>%SerialNumber%</string>
snAnalytics- Leave the value unchanged. This key reports the serial number of the device for analytics only, and is separate from theserialNumberkey used for serial number-based filtering.useDhcpDns- Leave the value set to<true/>. The filter uses the DNS servers provided by your network and falls back to public DNS servers if none are available.
Leave every other value unchanged.
Important
Enter
%SerialNumber%exactly as shown, including both percent signs and the capitalization. Each MDM uses a different variable name, and Mosyle does not resolve the variable if the name does not match.
Save the file.
Note
You must still select Enable Variables for this profile when you upload this profile, otherwise %SerialNumber% is sent to the device as literal text. Refer to the Uploading the Per-App VPN Profile to Mosyle section for more information.
By default, the filter resolves DNS through the DNS servers that DHCP provides on your network. If DHCP does not provide DNS servers, or they do not respond, the filter falls back to built-in public DNS servers. Configure the profile as described in this section when you want the filter to use specific DNS servers instead. You can combine this configuration with the other optional configurations by editing the relevant keys in the same profile.
Download the
Blocksi_Filter_Mosyle.mobileconfigfile.Open the downloaded
.mobileconfigfile using any text or code editor.In the
VendorConfigdict, configure the following keys:organizationId- Replaceadmin@blocksi.netwith your Blocksi Organization ID.adminPassword- Leave the default value, or replace it with a password of your choice. This password protects access to the app details in the Blocksi Filter app.userId- Leave the value set to%Email%. Mosyle replaces this variable with the email address of the assigned user.snAnalytics- Leave the value unchanged. This key reports the serial number of the device for analytics only, and is separate from theserialNumberkey used for serial number-based filtering.useDhcpDns- Leave the value set to<true/>. The filter uses the DNS servers provided by your network and falls back to public DNS servers if none are available.dnsServers- Add thednsServerskey after theuseDhcpDnskey and enter your DNS server addresses as an array, in priority order, as shown in the following example. These servers are used instead of the DHCP DNS servers.<key>dnsServers</key> <array> <string>10.0.0.53:5353</string> <string>[2001:db8::1]:5353</string> </array>
Leave every other value unchanged.
Note
Each
dnsServersentry is an IPv4 or IPv6 address and can include a port. Enclose IPv6 addresses in square brackets when you add a port, as shown in the example.
Save the file.
Configure the profile as described in this section when your network uses the captive portal of the Blocksi Appliance. Captive portal detection works only with the Blocksi Appliance, not with captive portals from other providers. When captive portal detection is turned on, the filter detects the Blocksi Appliance captive portal on the network and hands off DNS resolution to the Blocksi DNS-over-HTTPS (DoH) service. You can combine this configuration with the other optional configurations by editing the relevant keys in the same profile.
Download the
Blocksi_Filter_Mosyle.mobileconfigfile.Open the downloaded
.mobileconfigfile using any text or code editor.In the
VendorConfigdict, configure the following keys:organizationId- Replaceadmin@blocksi.netwith your Blocksi Organization ID.adminPassword- Leave the default value, or replace it with a password of your choice. This password protects access to the app details in the Blocksi Filter app.userId- Leave the value set to%Email%. Mosyle replaces this variable with the email address of the assigned user.snAnalytics- Leave the value unchanged. This key reports the serial number of the device for analytics only, and is separate from theserialNumberkey used for serial number-based filtering.useDhcpDns- Leave the value set to<true/>. The filter uses the DNS servers provided by your network and falls back to public DNS servers if none are available.
Leave every other value unchanged.
Add the following lines after the
useDhcpDnskey:<key>capPortalEnabled</key><true/> <key>capPortalHost</key> <string>capportal.blocksi.net</string> <key>capPortalPort</key> <integer>81</integer> <key>capPortalDohUrl</key> <string>https://capportal.blocksi.net/dns-query/normaldns</string>
Enter the lines as shown. The
capPortalDohUrlvalue is the recommended server URL for Blocksi Filter. Refer to the Choosing a Server URL section.
Save the file.
Important
Upload the file as a custom profile. Rebuilding it in the Mosyle VPN editor produces a profile that Mosyle either refuses with a status of Removed by compatibility, or installs without filtering ever starting.
In Mosyle, navigate to Management > Manage iOS / iPadOS / watchOS, then select Certificates/Custom Profiles from the Management Profiles menu on the left.
Note
If Certificates/Custom Profiles is not listed, click Activate New Profile Type and activate it.

Click New. The configuration panel opens to the right.

Configure the following:
Name - Enter
Blocksi per-app VPN.Configuration File - Click Select File and upload the
.mobileconfigfile you configured under the Configuring the Per-App VPN Profile section.Profile Settings - Select Enable Variables for this profile. Without it, the user identifier is sent literally instead of being resolved.
Profile Assignment - Assign the profile to the same devices you assigned the Blocksi Filter app to.

Click Save. The custom profile appears in the Certificates/Custom Profiles section and is enabled by default.
Safari is covered by the per-app VPN profile and needs nothing further. Other browsers are filtered only if they are installed as managed apps through Mosyle and attached to the Blocksi Filter connection. Repeat the relevant procedure for each browser that you want filtered.
Important
The Blocksi per-app VPN (reference) profile appears in the VPNs Selector window only after you create it. Refer to the Creating the Reference Profile section.
If the browser is already deployed and managed by Mosyle, you do not need to add it again. Attach it to the Blocksi Filter connection instead.
In Mosyle, navigate to Management > Manage iOS / iPadOS / watchOS, then select Install App from the Management Profiles menu on the left.

Click the name of the profile that installs the browser app to open the Install Apps panel.

Hover over the app tile and click the
button. The Per-App Configuration window for the browser opens.
Select Configure VPN from the drop-down list, then select the Activate this configuration checkbox.

Under VPN Profile Selected, click Select. The VPNs Selector window opens.
Select the Blocksi per-app VPN (reference) profile you previously created, then click the
button in the top right.
Clear the Assign this VPN profile to all devices that are assigned to this profile checkbox.
Note
The per-app VPN profile already delivers the working connection. Leaving this checkbox selected installs the reference profile as well and stops browsing.

Click Confirm, then click Save.
Note
The attachment is applied when the app is installed. If the app is already on the device, reinstall it from Mosyle so that the new setting takes effect.
In Mosyle, navigate to Management > Manage iOS / iPadOS / watchOS, then select Install App from the Management Profiles menu on the left.

Click Add new profile. The Install Apps panel opens to the right.
Configure the following:
Profile Name - Enter a name for the profile (e.g., Google Chrome).
Installation source - Select App Store.
Assignment method - Select Device based - Assign licenses to device serial number.

Click Click to add an app. The Select the apps window opens.

Search for the browser, select it, then click the
button in the top right.
Hover over the app tile and click the
button. The Per-App Configuration window for the browser opens.
Select Configure VPN from the drop-down list, then select the Activate this configuration checkbox.

Under VPN Profile Selected, click Select. The VPNs Selector window opens.
Select the Blocksi per-app VPN (reference) profile you previously created, then click the
button in the top right.
Clear the Assign this VPN profile to all devices that are assigned to this profile checkbox.
Note
The per-app VPN profile already delivers the working connection. Leaving this checkbox selected installs the reference profile as well and stops browsing.

Click Confirm.
Under Profile Assignment, click the
button to open the Profile Assignment window and select the same devices you assigned the Blocksi Filter app to.Click Save.
To validate the deployment, verify that the app and profiles are installed on the target device and that filtering is working correctly.
Open Settings on the target device and navigate to General > VPN & Device Management. The Blocksi certificate profile and the per-app VPN profile should both be listed. The reference profile must not appear.

Open Safari on the target device and navigate to a site that your policy allows. The site loads normally.
Navigate to some sites that should be blocked by your policy.
Verify that the Blocksi block page appears, with no certificate warning.
Repeat both checks in each managed browser that you attached to the filter.

In Mosyle, navigate to Management > Devices > Commands Activity Log. There should be no failed commands for the target device.
Open Safari on the target device so that the filter activates.
Open Settings on the target device and navigate to VPN > Blocksi Filter. The VPN shows a status of Connected.


Open Safari on the target device so that the filter activates.
Open the Blocksi Filter app. The app should report your organization and the assigned user. Until the filter activates, the app may report that no organization is configured.
Important
If the deployment does not behave as expected, refer to the Troubleshooting article.