diff --git a/Syncbase/Source/Database.swift b/Syncbase/Source/Database.swift
index 3e28791..e0370ff 100644
--- a/Syncbase/Source/Database.swift
+++ b/Syncbase/Source/Database.swift
@@ -418,7 +418,7 @@
               let change = WatchChange(coreChange: coreChange)
               let isUserdataCollection = change.collectionId?.name == Syncbase.UserdataSyncgroupName
               let isInternalUserdata = isUserdataCollection &&
-              (change.row?.hasPrefix(Syncbase.UserdataCollectionPrefix) ?? false)
+              (change.row?.hasPrefix(Syncbase.UserdataInternalPrefix) ?? false)
 
               // There are two diff kinds of watches -- the internal-only version that only passes
               // internal userdata changes (specifically, puts into the userdata collection with the
diff --git a/Syncbase/Source/Syncbase.swift b/Syncbase/Source/Syncbase.swift
index 1dd325f..2cd4fec 100644
--- a/Syncbase/Source/Syncbase.swift
+++ b/Syncbase/Source/Syncbase.swift
@@ -11,7 +11,8 @@
   // Constants
   static let DbName = "db"
   public static let UserdataSyncgroupName = "userdata__",
-    UserdataCollectionPrefix = "__collections/"
+    UserdataInternalPrefix = "internal__/",
+    UserdataInternalSyncgroupPrefix = UserdataInternalPrefix + "syncgroups/"
   // Initialization state
   static var isUnitTest = false
   static var didInit = false
@@ -67,8 +68,8 @@
   ///
   /// The "userdata" collection is a per-user collection (and associated syncgroup) for data that
   /// should automatically get synced across a given user's devices. It has the following schema:
-  /// - `/syncgroups/{encodedSyncgroupId}` -> `nil`
-  /// - `/ignoredInvites/{encodedSyncgroupId}` -> `nil`
+  /// - `internal__/syncgroups/{encodedSyncgroupId}` -> `nil`
+  /// - `internal__/ignoredInvites/{encodedSyncgroupId}` -> `nil`
   ///
   /// Cloud usage is optional. It can be used for initial bootstrapping and increased data
   /// availability. Apps that use a cloud will automatically synchronize data across all of the same
@@ -231,7 +232,7 @@
         continue
       }
       guard let syncgroupId = try? Identifier.decode(
-        row.stringByReplacingOccurrencesOfString(Syncbase.UserdataCollectionPrefix, withString: "")) else {
+        row.stringByReplacingOccurrencesOfString(Syncbase.UserdataInternalSyncgroupPrefix, withString: "")) else {
           print("Syncbase - Unable to decode userdata key: (row)")
           continue
       }
@@ -254,7 +255,7 @@
     guard let userdataCollection = Syncbase.userdataCollection else {
       throw SyncbaseError.IllegalArgument(detail: "No user data collection")
     }
-    try userdataCollection.put(try Syncbase.UserdataCollectionPrefix + syncgroupId.encode(), value: NSData())
+    try userdataCollection.put(try Syncbase.UserdataInternalSyncgroupPrefix + syncgroupId.encode(), value: NSData())
   }
 
   static func syncgroupInUserdata(syncgroupId: Identifier) throws -> Bool {
@@ -267,7 +268,7 @@
     guard let userdataCollection = Syncbase.userdataCollection else {
       throw SyncbaseError.IllegalArgument(detail: "No user data collection")
     }
-    return try userdataCollection.exists(try Syncbase.UserdataCollectionPrefix + syncgroupId.encode())
+    return try userdataCollection.exists(try Syncbase.UserdataInternalSyncgroupPrefix + syncgroupId.encode())
   }
 
   /// Returns the shared database handle. Must have already called `configure` and be logged in,
