diff --git a/gradle/variables.gradle b/gradle/variables.gradle
index 108fa0e7e4a2cb3019f3b382926982fd1f32cc30..a91f5b7c05552ffbbbb034df253cd2856dc49a63 100644
--- a/gradle/variables.gradle
+++ b/gradle/variables.gradle
@@ -4,9 +4,9 @@ ext {
     nav_version = '2.5.3'
     tor_version = '0.4.8.9-1'
     obfs4_version = '0.0.14-tor2'
-    snowflake_version = '2.5.1'
+    snowflake_version = '2.9.1'
     junit_version = '5.7.2'
     mockk_version = '1.10.4'
     ktlint_plugin_version = '10.2.1'
-    onionwrapper_version = '0.0.7'
+    onionwrapper_version = '0.1.0'
 }
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 944ff03efa98486fcef1f720b6a7e7fcb77daff4..d137a1b61e2f33dcaa23d85d92c143a3488a0b61 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -3133,44 +3133,44 @@
             <sha256 value="9feb0d95ecef6e394b2a55ec4e451ec659f84a705345976053de166b157a0460" origin="Generated by Gradle"/>
          </artifact>
       </component>
-      <component group="org.briarproject" name="onionwrapper-android" version="0.0.7">
-         <artifact name="onionwrapper-android-0.0.7.aar">
+      <component group="org.briarproject" name="onionwrapper-android" version="0.1.0">
+         <artifact name="onionwrapper-android-0.1.0.aar">
             <sha256 value="d761854dac454616b3e0ca099b2cd17060365ce4316afe495cc7ae86b6c81d15" origin="Generated by Gradle"/>
          </artifact>
-         <artifact name="onionwrapper-android-0.0.7.module">
-            <sha256 value="36ce596cb48dfdb83b1e4a09e4a5c574ed965821c586d0b91a3ebfc341ee236b" origin="Generated by Gradle"/>
+         <artifact name="onionwrapper-android-0.1.0.module">
+            <sha256 value="163912a34b00afc316328a2559355e3cdf965a2bd2db8e75e03a82b3bf86f527" origin="Generated by Gradle"/>
          </artifact>
       </component>
-      <component group="org.briarproject" name="onionwrapper-core" version="0.0.7">
-         <artifact name="onionwrapper-core-0.0.7.jar">
-            <sha256 value="918b5851f4a05a3bc0835bc7c81d70e598a178c79856fe5c506c261889f4b3fd" origin="Generated by Gradle"/>
+      <component group="org.briarproject" name="onionwrapper-core" version="0.1.0">
+         <artifact name="onionwrapper-core-0.1.0.jar">
+            <sha256 value="3e6631771b891c959403f6145de034c6f9816e7d067808d534f954eef9a1ca35" origin="Generated by Gradle"/>
          </artifact>
-         <artifact name="onionwrapper-core-0.0.7.module">
-            <sha256 value="75ebcd6f55d305a1e45184940b7f48332cdcaafc815a1564b1833993488ea4a5" origin="Generated by Gradle"/>
+         <artifact name="onionwrapper-core-0.1.0.module">
+            <sha256 value="8ccad59794d11502dfd48024cb03ed03f144ab0e7e94b2a9557e34f3e0c7f806" origin="Generated by Gradle"/>
          </artifact>
       </component>
-      <component group="org.briarproject" name="onionwrapper-java" version="0.0.7">
-         <artifact name="onionwrapper-java-0.0.7.jar">
-            <sha256 value="48115772d4348eab6f35e562ae648dd9d7398adb99e5429afb64a62c82f3d27c" origin="Generated by Gradle"/>
+      <component group="org.briarproject" name="onionwrapper-java" version="0.1.0">
+         <artifact name="onionwrapper-java-0.1.0.jar">
+            <sha256 value="c1a961c73f06d28e2a63c301d4e747398745bfc9709ade4ae3ba8818c6849fe0" origin="Generated by Gradle"/>
          </artifact>
-         <artifact name="onionwrapper-java-0.0.7.module">
-            <sha256 value="1760f9256afbb4ed3603484ce27a77be6912f45819768e95b18845bbf93648a3" origin="Generated by Gradle"/>
+         <artifact name="onionwrapper-java-0.1.0.module">
+            <sha256 value="cabcf088c78de7fca7a71c6242b47d7e72fd7fbcbcaa02c1f6fcf24dcbfd23fe" origin="Generated by Gradle"/>
          </artifact>
       </component>
-      <component group="org.briarproject" name="snowflake-android" version="2.5.1">
-         <artifact name="snowflake-android-2.5.1.jar">
-            <sha256 value="88ec81c17b1b6fa884d06839dec0330e328b45c89f88c970a213ce91ca8eac87" origin="Generated by Gradle"/>
+      <component group="org.briarproject" name="snowflake-android" version="2.9.1">
+         <artifact name="snowflake-android-2.9.1.jar">
+            <sha256 value="8d6195637edbe3717d205c2e524e9d3cb742b90fc67b10565d16262af134e489" origin="Generated by Gradle"/>
          </artifact>
-         <artifact name="snowflake-android-2.5.1.pom">
-            <sha256 value="982c1b2e81d7f8e8e82013a3b5de3501cb24cece1411a5cd834965d5b40634b3" origin="Generated by Gradle"/>
+         <artifact name="snowflake-android-2.9.1.pom">
+            <sha256 value="550526c404e9a9105e9eae55490eac874b07febce4e64b1053cf357144f7c204" origin="Generated by Gradle"/>
          </artifact>
       </component>
-      <component group="org.briarproject" name="snowflake-linux" version="2.5.1">
-         <artifact name="snowflake-linux-2.5.1.jar">
-            <sha256 value="edc807dcb7758365970d95525e4749349a27f462d0e2df6505ad1ca65fb296d2" origin="Generated by Gradle"/>
+      <component group="org.briarproject" name="snowflake-linux" version="2.9.1">
+         <artifact name="snowflake-linux-2.9.1.jar">
+            <sha256 value="36b2f406f67a1bf3b4a6cecbba2e153ad939209cc9c22299e4161019dbae0e03" origin="Generated by Gradle"/>
          </artifact>
-         <artifact name="snowflake-linux-2.5.1.pom">
-            <sha256 value="5603bc6b5e8787e478ae8b1cb0a0b66f838503fafa1698bb3b6bd3c503db4d95" origin="Generated by Gradle"/>
+         <artifact name="snowflake-linux-2.9.1.pom">
+            <sha256 value="9aa9b67b311ab926884a1394a095fd95b9d1ca4bb2549aa7c334da76d7dfc49e" origin="Generated by Gradle"/>
          </artifact>
       </component>
       <component group="org.briarproject" name="tor-android" version="0.4.8.9-1">
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/settings/SettingsFragment.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/settings/SettingsFragment.kt
index 9909cb82ff1d7a2f62dc33bf26a9ad4f9cd8655d..8f416e850cda507659d571431e745787c9de5486 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/settings/SettingsFragment.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/settings/SettingsFragment.kt
@@ -14,7 +14,6 @@ import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
 import org.briarproject.mailbox.R
 import org.briarproject.mailbox.android.ui.MailboxViewModel
-import org.briarproject.mailbox.core.settings.SettingsManager
 import org.briarproject.mailbox.core.tor.NetworkManager
 import org.briarproject.mailbox.core.tor.TorConstants.BRIDGE_AUTO
 import org.briarproject.mailbox.core.tor.TorConstants.BRIDGE_AUTO_DEFAULT
@@ -49,9 +48,6 @@ class SettingsFragment : PreferenceFragmentCompat() {
     private lateinit var brideTypePrefs: List<SwitchPreferenceCompat>
     private lateinit var bridgeTypesCategory: PreferenceCategory
 
-    @Inject
-    lateinit var settingsManager: SettingsManager
-
     @Inject
     lateinit var torSettingsStore: TorSettingsStore
 
@@ -122,12 +118,12 @@ class SettingsFragment : PreferenceFragmentCompat() {
     private fun onAutoChanged(auto: Boolean) {
         autoPref.isChecked = auto
         val country = locationUtils.currentCountry
-        val doBridgesWork = circumventionProvider.doBridgesWork(country)
+        val useBridgesByDefault = circumventionProvider.shouldUseBridges(country)
         // if automatic mode is on, we show what Tor is using, otherwise we show what user has set
         if (auto) {
             setIsPersistent(false)
-            usePref.isChecked = doBridgesWork
-            onUseBridgesChanged(doBridgesWork)
+            usePref.isChecked = useBridgesByDefault
+            onUseBridgesChanged(useBridgesByDefault)
             val autoTypes = if (networkManager.networkStatus.isIpv6Only) {
                 listOf(MEEK, SNOWFLAKE)
             } else {
@@ -141,7 +137,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
         } else {
             setIsPersistent(true)
             val useBridges =
-                torSettingsStore.getBooleanAndStoreDefault(usePref, BRIDGE_USE, doBridgesWork)
+                torSettingsStore.getBooleanAndStoreDefault(usePref, BRIDGE_USE, useBridgesByDefault)
             onUseBridgesChanged(useBridges)
             val customTypes = torPlugin.customBridgeTypes
             torSettingsStore.getBooleanAndStoreDefault(
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorPlugin.java b/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorPlugin.java
index 6da3f8e7e9b90336a5aaccd00aa25b1614a90e27..26f4903ff73644f8ab79b898fc9bab73812b3cd6 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorPlugin.java
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorPlugin.java
@@ -54,7 +54,7 @@ public class AndroidTorPlugin extends AbstractTorPlugin {
 			File torDirectory,
 			IntSupplier portSupplier) {
 		super(ioExecutor, settingsManager, networkManager, locationUtils,
-				circumventionProvider, portSupplier, SDK_INT >= 25,
+				circumventionProvider, portSupplier,
 				new AndroidTorWrapper(app, wakeLockManager, ioExecutor,
 						eventExecutor, architecture, torDirectory, SOCKS_PORT,
 						CONTROL_PORT));
diff --git a/mailbox-core/src/main/java/org/briarproject/mailbox/core/tor/AbstractTorPlugin.java b/mailbox-core/src/main/java/org/briarproject/mailbox/core/tor/AbstractTorPlugin.java
index 3a39b7febbaf05e6b76051fe9ed9dfb83a59aa18..cd3c436a7694eae44284966490263319e778c097 100644
--- a/mailbox-core/src/main/java/org/briarproject/mailbox/core/tor/AbstractTorPlugin.java
+++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/tor/AbstractTorPlugin.java
@@ -95,7 +95,6 @@ public abstract class AbstractTorPlugin implements TorPlugin, EventListener {
 	private final LocationUtils locationUtils;
 	private final CircumventionProvider circumventionProvider;
 	private final IntSupplier portSupplier;
-	private final boolean canVerifyLetsEncryptCerts;
 	private final TorWrapper tor;
 	private final AtomicBoolean used = new AtomicBoolean(false);
 
@@ -109,7 +108,6 @@ public abstract class AbstractTorPlugin implements TorPlugin, EventListener {
 			LocationUtils locationUtils,
 			CircumventionProvider circumventionProvider,
 			IntSupplier portSupplier,
-			boolean canVerifyLetsEncryptCerts,
 			TorWrapper tor) {
 		this.ioExecutor = ioExecutor;
 		this.settingsManager = settingsManager;
@@ -117,7 +115,6 @@ public abstract class AbstractTorPlugin implements TorPlugin, EventListener {
 		this.locationUtils = locationUtils;
 		this.circumventionProvider = circumventionProvider;
 		this.portSupplier = portSupplier;
-		this.canVerifyLetsEncryptCerts = canVerifyLetsEncryptCerts;
 		this.tor = tor;
 		// Don't execute more than one connection status check at a time
 		connectionStatusExecutor =
@@ -232,7 +229,7 @@ public abstract class AbstractTorPlugin implements TorPlugin, EventListener {
 			List<String> bridges = new ArrayList<>();
 			for (BridgeType bridgeType : bridgeTypes) {
 				bridges.addAll(circumventionProvider.getBridges(bridgeType,
-						countryCode, canVerifyLetsEncryptCerts));
+						countryCode));
 			}
 			tor.enableBridges(bridges);
 		}
@@ -357,7 +354,7 @@ public abstract class AbstractTorPlugin implements TorPlugin, EventListener {
 	private List<BridgeType> getBridgeTypes(String country, boolean ipv6Only) {
 		List<BridgeType> bridgeTypes = emptyList();
 		boolean bridgesNeeded =
-				circumventionProvider.doBridgesWork(country);
+				circumventionProvider.shouldUseBridges(country);
 		boolean bridgeAuto =
 				settings.getBoolean(BRIDGE_AUTO, BRIDGE_AUTO_DEFAULT);
 		if (bridgeAuto) {
diff --git a/mailbox-lib/src/main/java/org/briarproject/mailbox/core/tor/JavaTorPlugin.java b/mailbox-lib/src/main/java/org/briarproject/mailbox/core/tor/JavaTorPlugin.java
index e3ac9442c417773c6c296454d9c97fd87f4a9398..72b3096102e667af296546bce7d0c08bd628be49 100644
--- a/mailbox-lib/src/main/java/org/briarproject/mailbox/core/tor/JavaTorPlugin.java
+++ b/mailbox-lib/src/main/java/org/briarproject/mailbox/core/tor/JavaTorPlugin.java
@@ -43,7 +43,7 @@ public class JavaTorPlugin extends AbstractTorPlugin {
 			File torDirectory,
 			IntSupplier portSupplier) {
 		super(ioExecutor, settingsManager, networkManager, locationUtils,
-				circumventionProvider, portSupplier, true,
+				circumventionProvider, portSupplier,
 				new UnixTorWrapper(ioExecutor, eventExecutor, architecture,
 						torDirectory, SOCKS_PORT, CONTROL_PORT));
 	}