diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java
index b322d1d045f39e1632911f1c545a0d3c5b56e147..10e30bb0e7ac108a84b6c4865664fc43f0717d22 100644
--- a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java
+++ b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java
@@ -442,9 +442,6 @@ public class AccountController {
   @DELETE
   @Path("/signaling_key")
   public void removeSignalingKey(@Auth DisabledPermittedAccount disabledPermittedAccount) {
-    Account account = disabledPermittedAccount.getAccount();
-    account.getAuthenticatedDevice().get().setSignalingKey(null);
-    accounts.update(account);
   }
 
   @Timed
@@ -463,7 +460,6 @@ public class AccountController {
     device.setLastSeen(Util.todayInMillis());
     device.setCapabilities(attributes.getCapabilities());
     device.setRegistrationId(attributes.getRegistrationId());
-    device.setSignalingKey(attributes.getSignalingKey());
     device.setUserAgent(userAgent);
 
     setAccountRegistrationLockFromAttributes(account, attributes);
@@ -625,7 +621,6 @@ public class AccountController {
     Device device = new Device();
     device.setId(Device.MASTER_ID);
     device.setAuthenticationCredentials(new AuthenticationCredentials(password));
-    device.setSignalingKey(accountAttributes.getSignalingKey());
     device.setFetchesMessages(accountAttributes.getFetchesMessages());
     device.setRegistrationId(accountAttributes.getRegistrationId());
     device.setName(accountAttributes.getName());
diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/DeviceController.java b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/DeviceController.java
index 6864d1fc0d6bffb0eb6cfdcdc1b64f3d51b084c9..8e7cf4d4d71c754dd1e33507d3d0dc4d112cf4c6 100644
--- a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/DeviceController.java
+++ b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/DeviceController.java
@@ -188,7 +188,6 @@ public class DeviceController {
       Device device = new Device();
       device.setName(accountAttributes.getName());
       device.setAuthenticationCredentials(new AuthenticationCredentials(password));
-      device.setSignalingKey(accountAttributes.getSignalingKey());
       device.setFetchesMessages(accountAttributes.getFetchesMessages());
       device.setId(account.get().getNextDeviceId());
       device.setRegistrationId(accountAttributes.getRegistrationId());
diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/entities/AccountAttributes.java b/service/src/main/java/org/whispersystems/textsecuregcm/entities/AccountAttributes.java
index 99f91696b67f08b952615dea0c19e980dc2a21da..b9c8185d9056559f453468ca10ef180e51495c84 100644
--- a/service/src/main/java/org/whispersystems/textsecuregcm/entities/AccountAttributes.java
+++ b/service/src/main/java/org/whispersystems/textsecuregcm/entities/AccountAttributes.java
@@ -6,20 +6,13 @@ package org.whispersystems.textsecuregcm.entities;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.google.common.annotations.VisibleForTesting;
+import java.util.List;
 import org.hibernate.validator.constraints.Length;
-import org.whispersystems.textsecuregcm.storage.Device;
 import org.whispersystems.textsecuregcm.storage.Device.DeviceCapabilities;
 import org.whispersystems.textsecuregcm.storage.PaymentAddress;
 
-import javax.annotation.Nullable;
-import java.util.List;
-import java.util.Optional;
-
 public class AccountAttributes {
 
-  @JsonProperty
-  private String signalingKey;
-
   @JsonProperty
   private boolean fetchesMessages;
 
@@ -54,13 +47,12 @@ public class AccountAttributes {
   public AccountAttributes() {}
 
   @VisibleForTesting
-  public AccountAttributes(String signalingKey, boolean fetchesMessages, int registrationId, String pin) {
-    this(signalingKey, fetchesMessages, registrationId, null, pin, null, null, true, null);
+  public AccountAttributes(boolean fetchesMessages, int registrationId, String pin) {
+    this(fetchesMessages, registrationId, null, pin, null, null, true, null);
   }
 
   @VisibleForTesting
-  public AccountAttributes(String signalingKey, boolean fetchesMessages, int registrationId, String name, String pin, String registrationLock, List<PaymentAddress> payments, boolean discoverableByPhoneNumber, final DeviceCapabilities capabilities) {
-    this.signalingKey              = signalingKey;
+  public AccountAttributes(boolean fetchesMessages, int registrationId, String name, String pin, String registrationLock, List<PaymentAddress> payments, boolean discoverableByPhoneNumber, final DeviceCapabilities capabilities) {
     this.fetchesMessages           = fetchesMessages;
     this.registrationId            = registrationId;
     this.name                      = name;
@@ -71,10 +63,6 @@ public class AccountAttributes {
     this.capabilities              = capabilities;
   }
 
-  public String getSignalingKey() {
-    return signalingKey;
-  }
-
   public boolean getFetchesMessages() {
     return fetchesMessages;
   }
diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/storage/Account.java b/service/src/main/java/org/whispersystems/textsecuregcm/storage/Account.java
index 7692afdb09fef07d772a004228e05518a1e0e5b4..eb65431e98e437182b3e76ce25016dee4f766fba 100644
--- a/service/src/main/java/org/whispersystems/textsecuregcm/storage/Account.java
+++ b/service/src/main/java/org/whispersystems/textsecuregcm/storage/Account.java
@@ -103,7 +103,7 @@ public class Account implements Principal  {
   }
 
   public void removeDevice(long deviceId) {
-    this.devices.remove(new Device(deviceId, null, null, null, null, null, null, null, false, 0, null, 0, 0, "NA", 0, null));
+    this.devices.remove(new Device(deviceId, null, null, null, null, null, null, false, 0, null, 0, 0, "NA", 0, null));
   }
 
   public Set<Device> getDevices() {
diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/storage/Device.java b/service/src/main/java/org/whispersystems/textsecuregcm/storage/Device.java
index f6160693c857509a931cee426daf0a47a93981b7..e7e65e9da915ccfa83fc24c20726c25be1e9769f 100644
--- a/service/src/main/java/org/whispersystems/textsecuregcm/storage/Device.java
+++ b/service/src/main/java/org/whispersystems/textsecuregcm/storage/Device.java
@@ -29,9 +29,6 @@ public class Device {
   @JsonProperty
   private String  salt;
 
-  @JsonProperty
-  private String  signalingKey;
-
   @JsonProperty
   private String  gcmId;
 
@@ -71,7 +68,7 @@ public class Device {
   public Device() {}
 
   public Device(long id, String name, String authToken, String salt,
-                String signalingKey, String gcmId, String apnId,
+                String gcmId, String apnId,
                 String voipApnId, boolean fetchesMessages,
                 int registrationId, SignedPreKey signedPreKey,
                 long lastSeen, long created, String userAgent,
@@ -81,7 +78,6 @@ public class Device {
     this.name                    = name;
     this.authToken               = authToken;
     this.salt                    = salt;
-    this.signalingKey            = signalingKey;
     this.gcmId                   = gcmId;
     this.apnId                   = apnId;
     this.voipApnId               = voipApnId;
@@ -184,14 +180,6 @@ public class Device {
     this.capabilities = capabilities;
   }
 
-  public String getSignalingKey() {
-    return signalingKey;
-  }
-
-  public void setSignalingKey(String signalingKey) {
-    this.signalingKey = signalingKey;
-  }
-
   public boolean isEnabled() {
     boolean hasChannel = fetchesMessages || !Util.isEmpty(getApnId()) || !Util.isEmpty(getGcmId());
 
diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/storage/DeviceTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/storage/DeviceTest.java
index bf0321eccb216afabe48de4ab34febcaa89e8e32..dde3c513fe6cef6702d09d379c14b1387d062bc3 100644
--- a/service/src/test/java/org/whispersystems/textsecuregcm/storage/DeviceTest.java
+++ b/service/src/test/java/org/whispersystems/textsecuregcm/storage/DeviceTest.java
@@ -23,7 +23,7 @@ public class DeviceTest {
     @Parameters(method = "argumentsForTestIsEnabled")
     public void testIsEnabled(final boolean master, final boolean fetchesMessages, final String apnId, final String gcmId, final SignedPreKey signedPreKey, final Duration timeSinceLastSeen, final boolean expectEnabled) {
         final long lastSeen = System.currentTimeMillis() - timeSinceLastSeen.toMillis();
-        final Device device = new Device(master ? 1 : 2, "test", "auth-token", "salt", "signaling-key", gcmId, apnId, null, fetchesMessages, 1, signedPreKey, lastSeen, lastSeen, "user-agent", 0, null);
+        final Device device = new Device(master ? 1 : 2, "test", "auth-token", "salt", gcmId, apnId, null, fetchesMessages, 1, signedPreKey, lastSeen, lastSeen, "user-agent", 0, null);
 
         assertEquals(expectEnabled, device.isEnabled());
     }
@@ -70,7 +70,8 @@ public class DeviceTest {
     @Parameters(method = "argumentsForTestIsGroupsV2Supported")
     public void testIsGroupsV2Supported(final boolean master, final String apnId, final boolean gv2Capability, final boolean gv2_2Capability, final boolean gv2_3Capability, final boolean expectGv2Supported) {
         final Device.DeviceCapabilities capabilities = new Device.DeviceCapabilities(gv2Capability, gv2_2Capability, gv2_3Capability, false, false, false);
-        final Device                    device       = new Device(master ? 1 : 2, "test", "auth-token", "salt", "signaling-key", null, apnId, null, false, 1, null, 0, 0, "user-agent", 0, capabilities);
+        final Device                    device       = new Device(master ? 1 : 2, "test", "auth-token", "salt",
+            null, apnId, null, false, 1, null, 0, 0, "user-agent", 0, capabilities);
 
         assertEquals(expectGv2Supported, device.isGroupsV2Supported());
     }
diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/tests/auth/BaseAccountAuthenticatorTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/tests/auth/BaseAccountAuthenticatorTest.java
index 2199189db79fe7610aff7d71d8643758e118868e..b5ffd4009ac21bc1b451c07d8256f5bcf461ce61 100644
--- a/service/src/test/java/org/whispersystems/textsecuregcm/tests/auth/BaseAccountAuthenticatorTest.java
+++ b/service/src/test/java/org/whispersystems/textsecuregcm/tests/auth/BaseAccountAuthenticatorTest.java
@@ -45,9 +45,12 @@ public class BaseAccountAuthenticatorTest {
         clock                      = mock(Clock.class);
         baseAccountAuthenticator   = new BaseAccountAuthenticator(accountsManager, clock);
 
-        acct1      = new Account("+14088675309", AuthHelper.getRandomUUID(random), Set.of(new Device(1, null, null, null, null, null, null, null, false, 0, null, yesterday, 0, null, 0, null)), null);
-        acct2      = new Account("+14098675309", AuthHelper.getRandomUUID(random), Set.of(new Device(1, null, null, null, null, null, null, null, false, 0, null, yesterday, 0, null, 0, null)), null);
-        oldAccount = new Account("+14108675309", AuthHelper.getRandomUUID(random), Set.of(new Device(1, null, null, null, null, null, null, null, false, 0, null, oldTime, 0, null, 0, null)), null);
+        acct1      = new Account("+14088675309", AuthHelper.getRandomUUID(random), Set.of(new Device(1, null, null, null,
+            null, null, null, false, 0, null, yesterday, 0, null, 0, null)), null);
+        acct2      = new Account("+14098675309", AuthHelper.getRandomUUID(random), Set.of(new Device(1, null, null, null,
+            null, null, null, false, 0, null, yesterday, 0, null, 0, null)), null);
+        oldAccount = new Account("+14108675309", AuthHelper.getRandomUUID(random), Set.of(new Device(1, null, null, null,
+            null, null, null, false, 0, null, oldTime, 0, null, 0, null)), null);
     }
 
     @Test
diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/AccountControllerTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/AccountControllerTest.java
index 432c2c6a7209c16661a45b1c6450563dada335f8..254b9e997172c2b6a1cfe9eb6ca51da857c0c04f 100644
--- a/service/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/AccountControllerTest.java
+++ b/service/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/AccountControllerTest.java
@@ -78,7 +78,6 @@ import static org.mockito.Mockito.isA;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.notNull;
-import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
@@ -550,7 +549,7 @@ public class AccountControllerTest {
                  .target(String.format("/v1/accounts/code/%s", "1234"))
                  .request()
                  .header("Authorization", AuthHelper.getAuthHeader(SENDER, "bar"))
-                 .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 2222, null),
+                 .put(Entity.entity(new AccountAttributes(false, 2222, null),
                                MediaType.APPLICATION_JSON_TYPE), AccountCreationResult.class);
 
     assertThat(result.getUuid()).isNotNull();
@@ -571,7 +570,7 @@ public class AccountControllerTest {
                     .target(String.format("/v1/accounts/code/%s", "1234"))
                     .request()
                     .header("Authorization", AuthHelper.getAuthHeader(SENDER, "bar"))
-                    .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 2222, null, null, null, null, false, null),
+                    .put(Entity.entity(new AccountAttributes(false, 2222, null, null, null, null, false, null),
                             MediaType.APPLICATION_JSON_TYPE), AccountCreationResult.class);
 
     assertThat(result.getUuid()).isNotNull();
@@ -592,7 +591,7 @@ public class AccountControllerTest {
                  .target(String.format("/v1/accounts/code/%s", "666666"))
                  .request()
                  .header("Authorization", AuthHelper.getAuthHeader(SENDER_HAS_STORAGE, "bar"))
-                 .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 2222, null),
+                 .put(Entity.entity(new AccountAttributes(false, 2222, null),
                                     MediaType.APPLICATION_JSON_TYPE), AccountCreationResult.class);
 
     assertThat(result.getUuid()).isNotNull();
@@ -609,7 +608,7 @@ public class AccountControllerTest {
                  .target(String.format("/v1/accounts/code/%s", "1234"))
                  .request()
                  .header("Authorization", AuthHelper.getAuthHeader(SENDER_OLD, "bar"))
-                 .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 2222, null),
+                 .put(Entity.entity(new AccountAttributes(false, 2222, null),
                                     MediaType.APPLICATION_JSON_TYPE));
 
     assertThat(response.getStatus()).isEqualTo(403);
@@ -624,7 +623,7 @@ public class AccountControllerTest {
                  .target(String.format("/v1/accounts/code/%s", "1111"))
                  .request()
                  .header("Authorization", AuthHelper.getAuthHeader(SENDER, "bar"))
-                 .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 3333, null),
+                 .put(Entity.entity(new AccountAttributes(false, 3333, null),
                                     MediaType.APPLICATION_JSON_TYPE));
 
     assertThat(response.getStatus()).isEqualTo(403);
@@ -639,7 +638,7 @@ public class AccountControllerTest {
                  .target(String.format("/v1/accounts/code/%s", "333333"))
                  .request()
                  .header("Authorization", AuthHelper.getAuthHeader(SENDER_PIN, "bar"))
-                 .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 3333, "31337"),
+                 .put(Entity.entity(new AccountAttributes(false, 3333, "31337"),
                                     MediaType.APPLICATION_JSON_TYPE), AccountCreationResult.class);
 
     assertThat(result.getUuid()).isNotNull();
@@ -654,7 +653,7 @@ public class AccountControllerTest {
                  .target(String.format("/v1/accounts/code/%s", "666666"))
                  .request()
                  .header("Authorization", AuthHelper.getAuthHeader(SENDER_REG_LOCK, "bar"))
-                 .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 3333, null, null, Hex.toStringCondensed(registration_lock_key), null, true, null),
+                 .put(Entity.entity(new AccountAttributes(false, 3333, null, null, Hex.toStringCondensed(registration_lock_key), null, true, null),
                                     MediaType.APPLICATION_JSON_TYPE), AccountCreationResult.class);
 
     assertThat(result.getUuid()).isNotNull();
@@ -670,7 +669,7 @@ public class AccountControllerTest {
                  .target(String.format("/v1/accounts/code/%s", "666666"))
                  .request()
                  .header("Authorization", AuthHelper.getAuthHeader(SENDER_REG_LOCK, "bar"))
-                 .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 3333, null, null, Hex.toStringCondensed(registration_lock_key), null, true, null),
+                 .put(Entity.entity(new AccountAttributes(false, 3333, null, null, Hex.toStringCondensed(registration_lock_key), null, true, null),
                                     MediaType.APPLICATION_JSON_TYPE), AccountCreationResult.class);
 
     assertThat(result.getUuid()).isNotNull();
@@ -704,7 +703,7 @@ public class AccountControllerTest {
                    .target(String.format("/v1/accounts/code/%s", "666666"))
                    .request()
                    .header("Authorization", AuthHelper.getAuthHeader(SENDER_REG_LOCK, "bar"))
-                   .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 3333, null, null, null, null, true, null),
+                   .put(Entity.entity(new AccountAttributes(false, 3333, null, null, null, null, true, null),
                                       MediaType.APPLICATION_JSON_TYPE), AccountCreationResult.class);
 
       assertThat(result.getUuid()).isNotNull();
@@ -722,7 +721,7 @@ public class AccountControllerTest {
                  .target(String.format("/v1/accounts/code/%s", "333333"))
                  .request()
                  .header("Authorization", AuthHelper.getAuthHeader(SENDER_PIN, "bar"))
-                 .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 3333, "31338"),
+                 .put(Entity.entity(new AccountAttributes(false, 3333, "31338"),
                                     MediaType.APPLICATION_JSON_TYPE));
 
     assertThat(response.getStatus()).isEqualTo(423);
@@ -737,7 +736,7 @@ public class AccountControllerTest {
                  .target(String.format("/v1/accounts/code/%s", "666666"))
                  .request()
                  .header("Authorization", AuthHelper.getAuthHeader(SENDER_REG_LOCK, "bar"))
-                 .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 3333, Hex.toStringCondensed(new byte[32])),
+                 .put(Entity.entity(new AccountAttributes(false, 3333, Hex.toStringCondensed(new byte[32])),
                                     MediaType.APPLICATION_JSON_TYPE));
 
     assertThat(response.getStatus()).isEqualTo(423);
@@ -752,7 +751,7 @@ public class AccountControllerTest {
                  .target(String.format("/v1/accounts/code/%s", "333333"))
                  .request()
                  .header("Authorization", AuthHelper.getAuthHeader(SENDER_PIN, "bar"))
-                 .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 3333, null),
+                 .put(Entity.entity(new AccountAttributes(false, 3333, null),
                                     MediaType.APPLICATION_JSON_TYPE));
 
     assertThat(response.getStatus()).isEqualTo(423);
@@ -770,7 +769,7 @@ public class AccountControllerTest {
                  .target(String.format("/v1/accounts/code/%s", "666666"))
                  .request()
                  .header("Authorization", AuthHelper.getAuthHeader(SENDER_REG_LOCK, "bar"))
-                 .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 3333, null),
+                 .put(Entity.entity(new AccountAttributes(false, 3333, null),
                                     MediaType.APPLICATION_JSON_TYPE));
 
     assertThat(response.getStatus()).isEqualTo(423);
@@ -793,7 +792,7 @@ public class AccountControllerTest {
                  .target(String.format("/v1/accounts/code/%s", "444444"))
                  .request()
                  .header("Authorization", AuthHelper.getAuthHeader(SENDER_OVER_PIN, "bar"))
-                 .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 3333, "31337"),
+                 .put(Entity.entity(new AccountAttributes(false, 3333, "31337"),
                                     MediaType.APPLICATION_JSON_TYPE));
 
     assertThat(response.getStatus()).isEqualTo(413);
@@ -811,7 +810,7 @@ public class AccountControllerTest {
                    .target(String.format("/v1/accounts/code/%s", "444444"))
                    .request()
                    .header("Authorization", AuthHelper.getAuthHeader(SENDER_OVER_PIN, "bar"))
-                   .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 3333, null),
+                   .put(Entity.entity(new AccountAttributes(false, 3333, null),
                                       MediaType.APPLICATION_JSON_TYPE), AccountCreationResult.class);
 
       assertThat(result.getUuid()).isNotNull();
@@ -831,7 +830,7 @@ public class AccountControllerTest {
                     .queryParam("transfer", true)
                     .request()
                     .header("Authorization", AuthHelper.getAuthHeader(SENDER_TRANSFER, "bar"))
-                    .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 2222, null),
+                    .put(Entity.entity(new AccountAttributes(false, 2222, null),
                             MediaType.APPLICATION_JSON_TYPE));
 
     assertThat(response.getStatus()).isEqualTo(409);
@@ -847,7 +846,7 @@ public class AccountControllerTest {
                     .queryParam("transfer", true)
                     .request()
                     .header("Authorization", AuthHelper.getAuthHeader(SENDER_TRANSFER, "bar"))
-                    .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 2222, null),
+                    .put(Entity.entity(new AccountAttributes(false, 2222, null),
                             MediaType.APPLICATION_JSON_TYPE));
 
     assertThat(response.getStatus()).isEqualTo(200);
@@ -862,7 +861,7 @@ public class AccountControllerTest {
                     .target(String.format("/v1/accounts/code/%s", "1234"))
                     .request()
                     .header("Authorization", AuthHelper.getAuthHeader(SENDER_TRANSFER, "bar"))
-                    .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 2222, null),
+                    .put(Entity.entity(new AccountAttributes(false, 2222, null),
                             MediaType.APPLICATION_JSON_TYPE));
 
     assertThat(response.getStatus()).isEqualTo(200);
@@ -1210,7 +1209,7 @@ public class AccountControllerTest {
                     .target("/v1/accounts/attributes/")
                     .request()
                     .header("Authorization", AuthHelper.getAuthHeader(AuthHelper.VALID_NUMBER, AuthHelper.VALID_PASSWORD))
-                    .put(Entity.json(new AccountAttributes("keykeykeykey", false, 2222, null, null, null, null, true, null)));
+                    .put(Entity.json(new AccountAttributes(false, 2222, null, null, null, null, true, null)));
 
     assertThat(response.getStatus()).isEqualTo(204);
     verify(directoryQueue, never()).refreshRegisteredUser(any());
@@ -1223,7 +1222,7 @@ public class AccountControllerTest {
                     .target("/v1/accounts/attributes/")
                     .request()
                     .header("Authorization", AuthHelper.getAuthHeader(AuthHelper.UNDISCOVERABLE_NUMBER, AuthHelper.UNDISCOVERABLE_PASSWORD))
-                    .put(Entity.json(new AccountAttributes("keykeykeykey", false, 2222, null, null, null, null, true, null)));
+                    .put(Entity.json(new AccountAttributes(false, 2222, null, null, null, null, true, null)));
 
     assertThat(response.getStatus()).isEqualTo(204);
     verify(directoryQueue, times(1)).refreshRegisteredUser(AuthHelper.UNDISCOVERABLE_ACCOUNT);
@@ -1236,7 +1235,7 @@ public class AccountControllerTest {
                     .target("/v1/accounts/attributes/")
                     .request()
                     .header("Authorization", AuthHelper.getAuthHeader(AuthHelper.VALID_NUMBER, AuthHelper.VALID_PASSWORD))
-                    .put(Entity.json(new AccountAttributes("keykeykeykey", false, 2222, null, null, null, null, false, null)));
+                    .put(Entity.json(new AccountAttributes(false, 2222, null, null, null, null, false, null)));
 
     assertThat(response.getStatus()).isEqualTo(204);
     verify(directoryQueue, times(1)).refreshRegisteredUser(AuthHelper.VALID_ACCOUNT);
diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/DeviceControllerTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/DeviceControllerTest.java
index 5715dec841086c4cdddeb712769b846c473befa8..83fa3df47c129a61fcdcda5c102bb65206444452 100644
--- a/service/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/DeviceControllerTest.java
+++ b/service/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/DeviceControllerTest.java
@@ -136,7 +136,7 @@ public class DeviceControllerTest {
                                        .target("/v1/devices/5678901")
                                        .request()
                                        .header("Authorization", AuthHelper.getAuthHeader(AuthHelper.VALID_NUMBER, "password1"))
-                                       .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 1234, null),
+                                       .put(Entity.entity(new AccountAttributes(false, 1234, null),
                                                           MediaType.APPLICATION_JSON_TYPE),
                                             DeviceResponse.class);
 
@@ -171,7 +171,7 @@ public class DeviceControllerTest {
                                  .target("/v1/devices/5678902")
                                  .request()
                                  .header("Authorization", AuthHelper.getAuthHeader(AuthHelper.VALID_NUMBER, "password1"))
-                                 .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 1234, null),
+                                 .put(Entity.entity(new AccountAttributes(false, 1234, null),
                                                     MediaType.APPLICATION_JSON_TYPE));
 
     assertThat(response.getStatus()).isEqualTo(403);
@@ -185,7 +185,7 @@ public class DeviceControllerTest {
                                  .target("/v1/devices/1112223")
                                  .request()
                                  .header("Authorization", AuthHelper.getAuthHeader(AuthHelper.VALID_NUMBER_TWO, AuthHelper.VALID_PASSWORD_TWO))
-                                 .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 1234, null),
+                                 .put(Entity.entity(new AccountAttributes(false, 1234, null),
                                                     MediaType.APPLICATION_JSON_TYPE));
 
     assertThat(response.getStatus()).isEqualTo(403);
@@ -211,7 +211,7 @@ public class DeviceControllerTest {
                                  .target("/v1/devices/5678901")
                                  .request()
                                  .header("Authorization", AuthHelper.getAuthHeader(AuthHelper.VALID_NUMBER, "password1"))
-                                 .put(Entity.entity(new AccountAttributes("keykeykeykey", false, 1234, "this is a really long name that is longer than 80 characters it's so long that it's even longer than 204 characters. that's a lot of characters. we're talking lots and lots and lots of characters. 12345678", null, null, null, true, null),
+                                 .put(Entity.entity(new AccountAttributes(false, 1234, "this is a really long name that is longer than 80 characters it's so long that it's even longer than 204 characters. that's a lot of characters. we're talking lots and lots and lots of characters. 12345678", null, null, null, true, null),
                                                     MediaType.APPLICATION_JSON_TYPE));
 
     assertEquals(response.getStatus(), 422);
@@ -222,7 +222,7 @@ public class DeviceControllerTest {
   @Parameters(method = "argumentsForDeviceDowngradeCapabilitiesTest")
   public void deviceDowngradeCapabilitiesTest(final String userAgent, final boolean gv2, final boolean gv2_2, final boolean gv2_3, final int expectedStatus) throws Exception {
     Device.DeviceCapabilities deviceCapabilities = new Device.DeviceCapabilities(gv2, gv2_2, gv2_3, true, false, true);
-    AccountAttributes accountAttributes = new AccountAttributes("keykeykeykey", false, 1234, null, null, null, null, true, deviceCapabilities);
+    AccountAttributes accountAttributes = new AccountAttributes(false, 1234, null, null, null, null, true, deviceCapabilities);
     Response response = resources.getJerseyTest()
             .target("/v1/devices/5678901")
             .request()
@@ -262,7 +262,7 @@ public class DeviceControllerTest {
   @Test
   public void deviceDowngradeGv1MigrationTest() {
     Device.DeviceCapabilities deviceCapabilities = new Device.DeviceCapabilities(true, true, true, true, false, false);
-    AccountAttributes accountAttributes = new AccountAttributes("keykeykeykey", false, 1234, null, null, null, null, true, deviceCapabilities);
+    AccountAttributes accountAttributes = new AccountAttributes(false, 1234, null, null, null, null, true, deviceCapabilities);
     Response response = resources.getJerseyTest()
                                  .target("/v1/devices/5678901")
                                  .request()
@@ -273,7 +273,7 @@ public class DeviceControllerTest {
     assertThat(response.getStatus()).isEqualTo(409);
 
     deviceCapabilities = new Device.DeviceCapabilities(true, true, true, true, false, true);
-    accountAttributes = new AccountAttributes("keykeykeykey", false, 1234, null, null, null, null, true, deviceCapabilities);
+    accountAttributes = new AccountAttributes(false, 1234, null, null, null, null, true, deviceCapabilities);
     response = resources.getJerseyTest()
                         .target("/v1/devices/5678901")
                         .request()
diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/MessageControllerTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/MessageControllerTest.java
index 310469bc760f447ce3efbcf706e79ff0eb88b7c3..965f7345defb357a1efb30ae7ede901d87ba8cd4 100644
--- a/service/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/MessageControllerTest.java
+++ b/service/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/MessageControllerTest.java
@@ -5,10 +5,40 @@
 
 package org.whispersystems.textsecuregcm.tests.controllers;
 
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.anyBoolean;
+import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.argThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+import static org.whispersystems.textsecuregcm.tests.util.JsonHelpers.asJson;
+import static org.whispersystems.textsecuregcm.tests.util.JsonHelpers.jsonFixture;
+
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.collect.ImmutableSet;
 import io.dropwizard.auth.PolymorphicAuthValueFactoryProvider;
 import io.dropwizard.testing.junit.ResourceTestRule;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Optional;
+import java.util.Set;
+import java.util.UUID;
+import java.util.concurrent.TimeUnit;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
 import org.glassfish.jersey.test.grizzly.GrizzlyWebTestContainerFactory;
 import org.junit.Before;
 import org.junit.Ignore;
@@ -40,37 +70,6 @@ import org.whispersystems.textsecuregcm.storage.MessagesManager;
 import org.whispersystems.textsecuregcm.tests.util.AuthHelper;
 import org.whispersystems.textsecuregcm.util.Base64;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Optional;
-import java.util.Set;
-import java.util.UUID;
-import java.util.concurrent.TimeUnit;
-
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.anyBoolean;
-import static org.mockito.Mockito.anyString;
-import static org.mockito.Mockito.argThat;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.when;
-import static org.whispersystems.textsecuregcm.tests.util.JsonHelpers.asJson;
-import static org.whispersystems.textsecuregcm.tests.util.JsonHelpers.jsonFixture;
-
 @Ignore
 public class MessageControllerTest {
 
@@ -104,13 +103,17 @@ public class MessageControllerTest {
   @Before
   public void setup() throws Exception {
     Set<Device> singleDeviceList = new HashSet<Device>() {{
-      add(new Device(1, null, "foo", "bar", "baz", "isgcm", null, null, false, 111, new SignedPreKey(333, "baz", "boop"), System.currentTimeMillis(), System.currentTimeMillis(), "Test", 0, new Device.DeviceCapabilities(true, false, false, true, true, false)));
+      add(new Device(1, null, "foo", "bar",
+          "isgcm", null, null, false, 111, new SignedPreKey(333, "baz", "boop"), System.currentTimeMillis(), System.currentTimeMillis(), "Test", 0, new Device.DeviceCapabilities(true, false, false, true, true, false)));
     }};
 
     Set<Device> multiDeviceList = new HashSet<Device>() {{
-      add(new Device(1, null, "foo", "bar", "baz", "isgcm", null, null, false, 222, new SignedPreKey(111, "foo", "bar"), System.currentTimeMillis(), System.currentTimeMillis(), "Test", 0, new Device.DeviceCapabilities(true, false, false, true, false, false)));
-      add(new Device(2, null, "foo", "bar", "baz", "isgcm", null, null, false, 333, new SignedPreKey(222, "oof", "rab"), System.currentTimeMillis(), System.currentTimeMillis(), "Test", 0, new Device.DeviceCapabilities(true, false, false, true, false, false)));
-      add(new Device(3, null, "foo", "bar", "baz", "isgcm", null, null, false, 444, null, System.currentTimeMillis() - TimeUnit.DAYS.toMillis(31), System.currentTimeMillis(), "Test", 0, new Device.DeviceCapabilities(false, false, false, false, false, false)));
+      add(new Device(1, null, "foo", "bar",
+          "isgcm", null, null, false, 222, new SignedPreKey(111, "foo", "bar"), System.currentTimeMillis(), System.currentTimeMillis(), "Test", 0, new Device.DeviceCapabilities(true, false, false, true, false, false)));
+      add(new Device(2, null, "foo", "bar",
+          "isgcm", null, null, false, 333, new SignedPreKey(222, "oof", "rab"), System.currentTimeMillis(), System.currentTimeMillis(), "Test", 0, new Device.DeviceCapabilities(true, false, false, true, false, false)));
+      add(new Device(3, null, "foo", "bar",
+          "isgcm", null, null, false, 444, null, System.currentTimeMillis() - TimeUnit.DAYS.toMillis(31), System.currentTimeMillis(), "Test", 0, new Device.DeviceCapabilities(false, false, false, false, false, false)));
     }};
 
     Account singleDeviceAccount = new Account(SINGLE_DEVICE_RECIPIENT, SINGLE_DEVICE_UUID, singleDeviceList, "1234".getBytes());
diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/tests/storage/AccountsTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/tests/storage/AccountsTest.java
index c96e15142824cb55a6f7fb9feb4d6b91aaab0c3a..0a6924a5248289566ce891917bd862364138d7b5 100644
--- a/service/src/test/java/org/whispersystems/textsecuregcm/tests/storage/AccountsTest.java
+++ b/service/src/test/java/org/whispersystems/textsecuregcm/tests/storage/AccountsTest.java
@@ -291,7 +291,8 @@ public class AccountsTest {
   private Device generateDevice(long id) {
     Random       random       = new Random(System.currentTimeMillis());
     SignedPreKey signedPreKey = new SignedPreKey(random.nextInt(), "testPublicKey-" + random.nextInt(), "testSignature-" + random.nextInt());
-    return new Device(id, "testName-" + random.nextInt(), "testAuthToken-" + random.nextInt(), "testSalt-" + random.nextInt(), null, "testGcmId-" + random.nextInt(), "testApnId-" + random.nextInt(), "testVoipApnId-" + random.nextInt(), random.nextBoolean(), random.nextInt(), signedPreKey, random.nextInt(), random.nextInt(), "testUserAgent-" + random.nextInt() , 0, new Device.DeviceCapabilities(random.nextBoolean(), random.nextBoolean(), random.nextBoolean(), random.nextBoolean(), random.nextBoolean(), random.nextBoolean()));
+    return new Device(id, "testName-" + random.nextInt(), "testAuthToken-" + random.nextInt(), "testSalt-" + random.nextInt(),
+        "testGcmId-" + random.nextInt(), "testApnId-" + random.nextInt(), "testVoipApnId-" + random.nextInt(), random.nextBoolean(), random.nextInt(), signedPreKey, random.nextInt(), random.nextInt(), "testUserAgent-" + random.nextInt() , 0, new Device.DeviceCapabilities(random.nextBoolean(), random.nextBoolean(), random.nextBoolean(), random.nextBoolean(), random.nextBoolean(), random.nextBoolean()));
   }
 
   private Account generateAccount(String number, UUID uuid) {
diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnectionTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnectionTest.java
index 42d85e64376887ed3a00e5c682327adc9a0073cd..4bb4b71bb3fe911216a5e9acd89c363b17d18dda 100644
--- a/service/src/test/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnectionTest.java
+++ b/service/src/test/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnectionTest.java
@@ -143,7 +143,6 @@ public class WebSocketConnectionTest {
     OutgoingMessageEntityList outgoingMessagesList = new OutgoingMessageEntityList(outgoingMessages, false);
 
     when(device.getId()).thenReturn(2L);
-    when(device.getSignalingKey()).thenReturn(Base64.encodeBytes(new byte[52]));
 
     when(account.getAuthenticatedDevice()).thenReturn(Optional.of(device));
     when(account.getNumber()).thenReturn("+14152222222");
@@ -296,7 +295,6 @@ public class WebSocketConnectionTest {
     OutgoingMessageEntityList   pendingMessagesList = new OutgoingMessageEntityList(pendingMessages, false);
 
     when(device.getId()).thenReturn(2L);
-    when(device.getSignalingKey()).thenReturn(Base64.encodeBytes(new byte[52]));
 
     when(account.getAuthenticatedDevice()).thenReturn(Optional.of(device));
     when(account.getNumber()).thenReturn("+14152222222");
@@ -661,7 +659,6 @@ public class WebSocketConnectionTest {
     OutgoingMessageEntityList outgoingMessagesList = new OutgoingMessageEntityList(outgoingMessages, false);
 
     when(device.getId()).thenReturn(2L);
-    when(device.getSignalingKey()).thenReturn(Base64.encodeBytes(new byte[52]));
 
     when(account.getAuthenticatedDevice()).thenReturn(Optional.of(device));
     when(account.getNumber()).thenReturn("+14152222222");
@@ -735,7 +732,6 @@ public class WebSocketConnectionTest {
     OutgoingMessageEntityList outgoingMessagesList = new OutgoingMessageEntityList(outgoingMessages, false);
 
     when(device.getId()).thenReturn(2L);
-    when(device.getSignalingKey()).thenReturn(Base64.encodeBytes(new byte[52]));
 
     when(account.getAuthenticatedDevice()).thenReturn(Optional.of(device));
     when(account.getNumber()).thenReturn("+14152222222");