diff --git a/node_modules/@turnkey/core/dist/__clients__/core.js b/node_modules/@turnkey/core/dist/__clients__/core.js
index 3400c3d..d5ddc74 100644
--- a/node_modules/@turnkey/core/dist/__clients__/core.js
+++ b/node_modules/@turnkey/core/dist/__clients__/core.js
@@ -2903,6 +2903,20 @@ class TurnkeyClient {
                 if (!publicKeys || publicKeys.length === 0) {
                     return;
                 }
+                // PATCH: Filter out non-Turnkey keychain services to avoid deleting app data
+                // Turnkey uses P256 keys: compressed (66 hex chars) or uncompressed (130 hex chars)
+                // App services: 'secret', 'documentCatalog', 'document-{64-char-hash}', etc.
+                const filteredPublicKeys = publicKeys.filter(key => {
+                    // Only process keys that look like P256 public key hex strings (66 or 130 chars)
+                    // This excludes document hashes (64 chars) and service names with non-hex chars
+                    const isTurnkeyKey = typeof key === 'string' &&
+                                        (key.length === 66 || key.length === 130) &&
+                                        /^[0-9a-fA-F]+$/.test(key);
+                    return isTurnkeyKey;
+                });
+                if (filteredPublicKeys.length === 0) {
+                    return;
+                }
                 const sessionKeys = await this.storageManager?.listSessionKeys();
                 const sessionTokensMap = {};
                 for (const sessionKey of sessionKeys) {
@@ -2911,7 +2925,7 @@ class TurnkeyClient {
                         sessionTokensMap[session.publicKey] = sessionKey;
                     }
                 }
-                for (const publicKey of publicKeys) {
+                for (const publicKey of filteredPublicKeys) {
                     if (!sessionTokensMap[publicKey]) {
                         try {
                             await this.apiKeyStamper?.deleteKeyPair(publicKey);
diff --git a/node_modules/@turnkey/core/dist/__clients__/core.mjs b/node_modules/@turnkey/core/dist/__clients__/core.mjs
index 09353bc..55835bf 100644
--- a/node_modules/@turnkey/core/dist/__clients__/core.mjs
+++ b/node_modules/@turnkey/core/dist/__clients__/core.mjs
@@ -2901,6 +2901,20 @@ class TurnkeyClient {
                 if (!publicKeys || publicKeys.length === 0) {
                     return;
                 }
+                // PATCH: Filter out non-Turnkey keychain services to avoid deleting app data
+                // Turnkey uses P256 keys: compressed (66 hex chars) or uncompressed (130 hex chars)
+                // App services: 'secret', 'documentCatalog', 'document-{64-char-hash}', etc.
+                const filteredPublicKeys = publicKeys.filter(key => {
+                    // Only process keys that look like P256 public key hex strings (66 or 130 chars)
+                    // This excludes document hashes (64 chars) and service names with non-hex chars
+                    const isTurnkeyKey = typeof key === 'string' &&
+                                        (key.length === 66 || key.length === 130) &&
+                                        /^[0-9a-fA-F]+$/.test(key);
+                    return isTurnkeyKey;
+                });
+                if (filteredPublicKeys.length === 0) {
+                    return;
+                }
                 const sessionKeys = await this.storageManager?.listSessionKeys();
                 const sessionTokensMap = {};
                 for (const sessionKey of sessionKeys) {
@@ -2909,7 +2923,7 @@ class TurnkeyClient {
                         sessionTokensMap[session.publicKey] = sessionKey;
                     }
                 }
-                for (const publicKey of publicKeys) {
+                for (const publicKey of filteredPublicKeys) {
                     if (!sessionTokensMap[publicKey]) {
                         try {
                             await this.apiKeyStamper?.deleteKeyPair(publicKey);
