diff --git a/src/leap/soledad/client/_crypto.py b/src/leap/soledad/client/_crypto.py
index 90cfe45b94e9c5a5286e94a165b3b9eff38bac03..ce166c94cdc556eb6c697d84ece8b2633201bf79 100644
--- a/src/leap/soledad/client/_crypto.py
+++ b/src/leap/soledad/client/_crypto.py
@@ -90,7 +90,7 @@ from leap.soledad.common.blobs.preamble import InvalidPreambleException
 from leap.soledad.common.blobs.preamble import decode_preamble
 from leap.soledad.common.blobs.preamble import Preamble
 from leap.soledad.common.blobs.preamble import ENC_SCHEME, ENC_METHOD
-from leap.soledad.common.blobs.preamble import MAGIC
+from leap.soledad.common.blobs.preamble import MAGIC, PREAMBLE_SIZE
 
 
 SECRET_LENGTH = 64
@@ -543,8 +543,7 @@ def _ceiling(size):
 def get_unarmored_ciphertext_size(cleartext_size):
     # used for blobs stream up (so we can tell the server how much data we are
     # sending before starting to encrypt the stream)
-    PREAMBLE_SIZE = 736  # 552 urlsafe base64 encoded (it's always armored)
-    TAG_SIZE = 16
-    SEPARATOR_SIZE = 1
-    size = TAG_SIZE + PREAMBLE_SIZE + SEPARATOR_SIZE
+    tag_size = 16  # AES-GCM 16-byte tag appended to ciphertext
+    separator_size = 1  # space separating content from preamble
+    size = tag_size + PREAMBLE_SIZE + separator_size
     return cleartext_size + size
diff --git a/src/leap/soledad/common/blobs/preamble.py b/src/leap/soledad/common/blobs/preamble.py
index c84ec0facd16a5b6fc4b32d4e45af5125cf072ed..b27c9f3b2e4b5d0eed18a6598235a4fdfd6cf4b4 100644
--- a/src/leap/soledad/common/blobs/preamble.py
+++ b/src/leap/soledad/common/blobs/preamble.py
@@ -36,6 +36,7 @@ LEGACY_PACMAN = struct.Struct('2sbbQ16s255p255p')  # DEPRECATED
 MAGIC = '\x13\x37'
 ENC_SCHEME = namedtuple('SCHEME', 'symkey external')(1, 2)
 ENC_METHOD = namedtuple('METHOD', 'aes_256_ctr aes_256_gcm pgp')(1, 2, 3)
+PREAMBLE_SIZE = 736  # 552 urlsafe base64 encoded (it's always armored)
 
 
 class InvalidPreambleException(Exception):