diff --git a/resources/static/test/cases/controllers/pick_email.js b/resources/static/test/cases/controllers/pick_email.js
index 0e6f1b0c1a2de7b2fe365852383be493163b5fbe..9d3678f8c2c53b28dc7fc9c2d4050513038082ef 100644
--- a/resources/static/test/cases/controllers/pick_email.js
+++ b/resources/static/test/cases/controllers/pick_email.js
@@ -32,11 +32,9 @@
   });
 
 
-  function createController(allowPersistent) {
+  function createController() {
     controller = bid.Modules.PickEmail.create();
-    controller.start({
-      allow_persistent: allowPersistent || false
-    });
+    controller.start({});
   }
 
   test("multiple emails - print emails in alphabetical order", function() {
@@ -78,73 +76,26 @@
     equal(label.hasClass("preselected"), false, "the label has no class");
   });
 
-  function testRemember(allowPersistent, remember) {
+  asyncTest("signIn - saves picked email to storage", function() {
     storage.addEmail("testuser@testuser.com", {});
     storage.addEmail("testuser2@testuser.com", {});
-    storage.site.set(testOrigin, "remember", remember);
-
-    createController(allowPersistent);
-
-    // remember can only be checked if allowPersistent is allowed
-    var rememberChecked = allowPersistent ? remember : false;
-
-    equal($("#remember").is(":checked"), rememberChecked, "remember should " + (rememberChecked ? "" : " not " ) + " be checked");
-  }
-
-  test("pickemail controller with allow_persistent and remember set to false", function() {
-    testRemember(false, false);
-  });
-
-  test("pickemail controller with allow_persistent set to false and remember set to true", function() {
-    testRemember(false, true);
-  });
-
-  test("pickemail controller with allow_persistent and remember set to true", function() {
-    testRemember(true, true);
-  });
 
-
-  asyncTest("signIn saves email, remember status to storage when allow_persistent set to true", function() {
-    storage.addEmail("testuser@testuser.com", {});
-    storage.addEmail("testuser2@testuser.com", {});
-
-    createController(true);
+    createController();
 
     $("input[type=radio]").eq(0).trigger("click");
-    $("#remember").attr("checked", true);
 
     var assertion;
 
     register("email_chosen", function(msg, info) {
       equal(storage.site.get(testOrigin, "email"), "testuser2@testuser.com", "email saved correctly");
-      equal(storage.site.get(testOrigin, "remember"), true, "remember saved correctly");
       ok(info.email, "email_chosen message triggered with email");
       start();
     });
     controller.signIn();
   });
 
-  asyncTest("signIn saves email, but not remember status when allow_persistent set to false", function() {
-    storage.addEmail("testuser@testuser.com", {});
-    storage.addEmail("testuser2@testuser.com", {});
-    storage.site.set(testOrigin, "remember", false);
-
-    createController(false);
-
-    $("input[type=radio]").eq(0).trigger("click");
-    $("#remember").attr("checked", true);
-
-    register("email_chosen", function(msg, info) {
-      equal(storage.site.get(testOrigin, "email"), "testuser2@testuser.com", "email saved correctly");
-      equal(storage.site.get(testOrigin, "remember"), false, "remember saved correctly");
-
-      start();
-    });
-    controller.signIn();
-  });
-
   asyncTest("addEmail triggers an 'add_email' message", function() {
-    createController(false);
+    createController();
 
     register("add_email", function(msg, info) {
       ok(true, "add_email triggered");
@@ -157,7 +108,7 @@
     storage.addEmail("testuser2@testuser.com", {});
     storage.addEmail("testuser@testuser.com", {});
 
-    createController(false);
+    createController();
 
     equal($("#email_1").is(":checked"), false, "radio button is not selected before click.");
 
@@ -174,7 +125,7 @@
     storage.addEmail("testuser+test0@testuser.com", {});
     storage.addEmail("testuser+test1@testuser.com", {});
 
-    createController(false);
+    createController();
 
     equal($("#email_1").is(":checked"), false, "radio button is not selected before click.");
 
@@ -187,30 +138,5 @@
     equal($("#email_0").is(":checked"), true, "radio button is correctly selected");
   });
 
-  test("click on the 'Always sign in...' label and checkbox - correct toggling", function() {
-    createController(true);
-
-    var label = $("label[for=remember]"),
-        checkbox = $("#remember").removeAttr("checked");
-
-    equal(checkbox.is(":checked"), false, "checkbox is not yet checked");
-
-    // toggle checkbox to on clicking on label
-    label.trigger("click");
-    equal(checkbox.is(":checked"), true, "checkbox is correctly checked");
-
-    // toggle checkbox to off clicking on label
-    label.trigger("click");
-    equal(checkbox.is(":checked"), false, "checkbox is correctly unchecked");
-
-    // toggle checkbox to on clicking on checkbox
-    checkbox.trigger("click");
-    equal(checkbox.is(":checked"), true, "checkbox is correctly checked");
-
-    // toggle checkbox to off clicking on checkbox
-    checkbox.trigger("click");
-    equal(checkbox.is(":checked"), false, "checkbox is correctly unchecked");
-  });
-
 }());
 
diff --git a/resources/static/test/cases/include.js b/resources/static/test/cases/include.js
index 5c54c0bcfc9a4ac47cb3acb4b5bf3896827a030e..42aa6c6562488a4dfba94cba7b438641c8d0ba02 100644
--- a/resources/static/test/cases/include.js
+++ b/resources/static/test/cases/include.js
@@ -12,10 +12,18 @@
     equal(typeof navigator.id, "object", "navigator.id namespace is available");
   });
 
-  test("navigator.id.getVerifiedEmail is available", function() {
-    equal(typeof navigator.id.getVerifiedEmail, "function", "navigator.id.getVerifiedEmail is available");
+  test("expected public API functions available", function() {
+    _.each([
+      "get",
+      "request",
+      "setLoggedInUser",
+      "logout",
+      "addEventListener",
+      "removeEventListener"
+    ], function(item, index) {
+      equal(typeof navigator.id[ item ], "function", "navigator.id." + item + " is available");
+    });
   });
 
-
 }());
 
diff --git a/resources/static/test/cases/resources/state.js b/resources/static/test/cases/resources/state.js
index c951c5ec98f1b11a55af5b52b98c58a17522a534..a0c7575a9d8b4a306e82ffb24f8decaa2a84fd3a 100644
--- a/resources/static/test/cases/resources/state.js
+++ b/resources/static/test/cases/resources/state.js
@@ -164,11 +164,12 @@
     ok(actions.called.doEmailChosen, "doEmailChosen called");
   });
 
-  test("authenticated - call doEmailChosen", function() {
-    storage.addEmail("testuser@testuser.com", {});
+  asyncTest("authenticated - defer to `email_chosen`", function() {
+    mediator.subscribe("email_chosen", function(msg, data) {
+      equal(data.email, "testuser@testuser.com");
+      start();
+    });
     mediator.publish("authenticated", { email: "testuser@testuser.com" });
-
-    ok(actions.called.doEmailChosen, "doEmailChosen has been called");
   });
 
   test("forgot_password", function() {
@@ -355,11 +356,17 @@
   });
 
   test("null assertion generated - preserve original options in doPickEmail", function() {
-    mediator.publish("start", { allowPersistent: true });
+    mediator.publish("start", {
+      hostname: "http://example.com",
+      privacyURL: "http://example.com/priv.html",
+      tosURL: "http://example.com/tos.html"
+    });
     mediator.publish("assertion_generated", { assertion: null });
 
     equal(actions.called.doPickEmail, true, "doPickEmail callled");
-    equal(actions.info.doPickEmail.allow_persistent, true, "allow_persistent preserved");
+    equal(actions.info.doPickEmail.origin, "http://example.com", "hostname preserved");
+    equal(actions.info.doPickEmail.privacyURL, "http://example.com/priv.html", "privacyURL preserved");
+    equal(actions.info.doPickEmail.tosURL, "http://example.com/tos.html", "tosURL preserved");
   });
 
 }());
diff --git a/resources/static/test/cases/shared/user.js b/resources/static/test/cases/shared/user.js
index 3fd25130ee4260378c98effe2d0e7e06eaccf052..976b55de08e10a565d26acedbfcabf42e1a40b1e 100644
--- a/resources/static/test/cases/shared/user.js
+++ b/resources/static/test/cases/shared/user.js
@@ -1015,95 +1015,22 @@ var vep = require("./vep");
     failureCheck(lib.cancelUser);
   });
 
-  asyncTest("getPersistentSigninAssertion with invalid login - expect null assertion", function() {
-    xhr.setContextInfo("auth_level", undefined);
-
-    lib.syncEmailKeypair("testuser@testuser.com", function() {
-      storage.site.set(testOrigin, "remember", false);
-      storage.site.set(testOrigin, "email", "testuser@testuser.com");
-      xhr.useResult("invalid");
-
-      lib.getPersistentSigninAssertion(function onComplete(assertion) {
-        strictEqual(assertion, null, "assertion with invalid login is null");
-        start();
-      }, testHelpers.unexpectedXHRFailure);
-    }, testHelpers.unexpectedXHRFailure);
-  });
-
-  asyncTest("getPersistentSigninAssertion without email set for site - expect null assertion", function() {
-    xhr.setContextInfo("auth_level", "primary");
-    storage.site.set(testOrigin, "remember", true);
-    storage.site.remove(testOrigin, "email");
-
-    lib.getPersistentSigninAssertion(function onComplete(assertion) {
-      strictEqual(assertion, null, "assertion with no email is null");
-      start();
-    }, testHelpers.unexpectedXHRFailure);
-  });
-
-  asyncTest("getPersistentSigninAssertion without remember set for site - expect null assertion", function() {
-    xhr.setContextInfo("auth_level", "primary");
-    lib.syncEmailKeypair("testuser@testuser.com", function() {
-      storage.site.set(testOrigin, "remember", false);
-      storage.site.set(testOrigin, "email", "testuser@testuser.com");
-      // invalidate the email so that we force a fresh key certification with
-      // the server
-      storage.invalidateEmail("testuser@testuser.com");
-
-      lib.getPersistentSigninAssertion(function onComplete(assertion) {
-        strictEqual(assertion, null, "assertion with remember=false is null");
-        start();
-      }, testHelpers.unexpectedXHRFailure);
-    });
-  });
-
-  asyncTest("getPersistentSigninAssertion with valid login, email, and remember set to true - expect assertion", function() {
-    xhr.setContextInfo("auth_level", "primary");
-    lib.syncEmailKeypair("testuser@testuser.com", function() {
-      storage.site.set(testOrigin, "remember", true);
-      storage.site.set(testOrigin, "email", "testuser@testuser.com");
-      // invalidate the email so that we force a fresh key certification with
-      // the server
-      storage.invalidateEmail("testuser@testuser.com");
-
-      lib.getPersistentSigninAssertion(function onComplete(assertion) {
-        ok(assertion, "we have an assertion!");
-        start();
-      }, testHelpers.unexpectedXHRFailure);
-    });
-  });
-
-  asyncTest("getPersistentSigninAssertion with XHR failure", function() {
-    xhr.setContextInfo("auth_level", "primary");
-    lib.syncEmailKeypair("testuser@testuser.com", function() {
-      storage.site.set(testOrigin, "remember", true);
-      storage.site.set(testOrigin, "email", "testuser@testuser.com");
-      // invalidate the email so that we force a fresh key certification with
-      // the server
-      storage.invalidateEmail("testuser@testuser.com");
-
-      failureCheck(lib.getPersistentSigninAssertion);
-    });
-
-
-  });
 
-  asyncTest("clearPersistentSignin with invalid login", function() {
+  asyncTest("logout with invalid login", function() {
     xhr.setContextInfo("auth_level", undefined);
 
-    lib.clearPersistentSignin(function onComplete(success) {
+    lib.logout(function onComplete(success) {
       strictEqual(success, false, "success with invalid login is false");
       start();
     }, testHelpers.unexpectedXHRFailure);
   });
 
-  asyncTest("clearPersistentSignin with valid login with remember set to true", function() {
+  asyncTest("logout with valid login with remember set to true", function() {
     xhr.setContextInfo("auth_level", "primary");
     storage.site.set(testOrigin, "remember", true);
 
-    lib.clearPersistentSignin(function onComplete(success) {
+    lib.logout(function onComplete(success) {
       strictEqual(success, true, "success flag good");
-      strictEqual(storage.site.get(testOrigin, "remember"), false, "remember flag set to false");
       start();
     }, testHelpers.unexpectedXHRFailure);
   });
diff --git a/resources/static/test/mocks/xhr.js b/resources/static/test/mocks/xhr.js
index 6b82fb2362359f5607173d8f1a2679a60c50160c..16c59dbcf5896e1e8427df3f36966be9ae3708ae 100644
--- a/resources/static/test/mocks/xhr.js
+++ b/resources/static/test/mocks/xhr.js
@@ -141,7 +141,7 @@ BrowserID.Mocks.xhr = (function() {
       };
 
 
-      if(type === "post" && !obj.data.csrf) {
+      if(type === "post" && obj.data.indexOf("csrf") === -1) {
         ok(false, "missing csrf token on POST request");
       }