diff --git a/resources/static/shared/network.js b/resources/static/shared/network.js
index be58ccc312ca02b373365023ce7121e82b64da58..c00f33e66321def6555563cbd241793095083aee 100644
--- a/resources/static/shared/network.js
+++ b/resources/static/shared/network.js
@@ -17,7 +17,8 @@ BrowserID.Network = (function() {
       mediator = bid.Mediator,
       xhr = bid.XHR,
       post = xhr.post,
-      get = xhr.get;
+      get = xhr.get,
+      storage = bid.Storage;
 
   function onContextChange(msg, result) {
     context = result;
@@ -29,6 +30,12 @@ BrowserID.Network = (function() {
     auth_status = result.auth_level;
     code_version = result.code_version;
 
+    // when session context returns with an authenticated user, update localstorage
+    // to indicate we've seen this user on this device
+    if (result && result.userid) {
+      storage.usersComputer.setSeen(result.userid);
+    }
+
     // seed the PRNG
     // FIXME: properly abstract this out, probably by exposing a jwcrypto
     // interface for randomness