the signals and their derived score are provisional and subject to change.
validate manually before sharing.
d41d86cdf3ae9547ef2e89e5686f2c6cc3920370b66f56414bb61cd677f3fb8155e8ab319b611726Authored: 4 weeks ago (Mon, 17 Aug 2026 01:56:30 +0000)Match: noreply@anthropic.comf900851073fd17d9796825cea769018f2588b3a4Authored: 4 weeks ago (Mon, 17 Aug 2026 01:52:37 +0000)Match: noreply@anthropic.comc9bbaf4b05946fa0c7e4c134a78a4cef47a9e30aAuthored: 4 weeks ago (Mon, 17 Aug 2026 01:49:04 +0000)Match: noreply@anthropic.com26c152097776645fb55a483502acf4ef452aa4b3Authored: 1 month ago (Thu, 6 Aug 2026 05:43:00 +0000)Match: Co-authored-by: Claude Opus 5 <noreply@anthropic.com>384fa4d637b2dc4ddea70b926a67d40776e2929cAuthored: 1 month ago (Sun, 26 Jul 2026 20:13:45 +0000)Match: noreply@anthropic.com2ea1f0bc6c8484649d0412191731d6c850d1f36eAuthored: 1 month ago (Sun, 26 Jul 2026 19:44:20 +0000)Match: noreply@anthropic.com6dd904b5164cf33f0e46833f1e5e4adb4eed9877Authored: 1 month ago (Sun, 26 Jul 2026 19:41:39 +0000)Match: noreply@anthropic.comde502415646ba1ecde87f22e6fa698594fc141d2Authored: 1 month ago (Sun, 26 Jul 2026 19:41:39 +0000)Match: noreply@anthropic.combbfa34c8caf0dca48a20bca46b4342802351719dAuthored: 1 month ago (Sun, 26 Jul 2026 19:41:23 +0000)Match: noreply@anthropic.comf3f43222e281f4ff270ca2d8f140d71a834698a7Authored: 1 month ago (Sun, 26 Jul 2026 19:40:38 +0000)Match: noreply@anthropic.com95d153fb7324ef97a49e832f73670d6225d609bbAuthored: 1 month ago (Sun, 26 Jul 2026 19:39:59 +0000)Match: noreply@anthropic.com9a9278195ab764576d45aa8ad99bef1552708e79Authored: 1 month ago (Mon, 20 Jul 2026 02:02:01 +0000)Match: Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>007be56a4496643c9e687a58c7cfef86b31440a4Authored: 1 month ago (Sun, 19 Jul 2026 19:44:09 +0000)Match: noreply@anthropic.com8e199ca09ab0fff09694f5e1ab8cfcf7b30fe7aaAuthored: 1 month ago (Sun, 19 Jul 2026 19:43:04 +0000)Match: noreply@anthropic.comd8bfbe786a5b04f9ae0b6be810bb911d95d31144Authored: 1 month ago (Sun, 19 Jul 2026 19:23:00 +0000)Match: noreply@anthropic.com932c5b0323cc439f4110e7e1b5ff7d944a0eaa4bAuthored: 1 month ago (Sun, 19 Jul 2026 19:06:53 +0000)Match: noreply@anthropic.com2b89160f46ae312d1838680ac5948774ffff839bAuthored: 1 month ago (Sun, 19 Jul 2026 18:53:11 +0000)Match: noreply@anthropic.comb07f33d516d56298062478793476571beee65e69Authored: 1 month ago (Sun, 19 Jul 2026 18:31:21 +0000)Match: noreply@anthropic.com7695ed1139cbc7e42f02e29b4900a634e8046c20Authored: 1 month ago (Sun, 19 Jul 2026 18:20:37 +0000)Match: noreply@anthropic.comf976bba0bc034f514853efd8166e291c09ea2846Authored: 1 month ago (Sun, 19 Jul 2026 18:10:30 +0000)Match: noreply@anthropic.comf6910f465e9dd03285cf2656fe9ca9a84a17398eAuthored: 1 month ago (Sun, 19 Jul 2026 06:02:56 +0000)Match: noreply@anthropic.com9b0202fcb95c88f5c725e1c7e05fd1664d93df70Authored: 1 month ago (Sun, 19 Jul 2026 06:02:44 +0000)Match: noreply@anthropic.com653f17a0046b6250bbdca3e7e286dc85586b6046Authored: 1 month ago (Sun, 19 Jul 2026 05:51:37 +0000)Match: noreply@anthropic.comeff13073193053ad9d585f95d08c65164be074a6Authored: 1 month ago (Sun, 19 Jul 2026 05:05:10 +0000)Match: Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>57ef534c6b616e7fe25d0bb1fade814510973c7cAuthored: 1 month ago (Sun, 19 Jul 2026 04:08:23 +0000)Match: Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1fc30ee427e170fc36401ce5ff215a287b7ef7b7Authored: 1 month ago (Sun, 19 Jul 2026 03:03:00 +0000)Match: Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>3a5cee8c7c54e5977ebbd8f203d03f3a69ea5637Authored: 1 month ago (Sun, 19 Jul 2026 02:58:50 +0000)Match: Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>aca9994b8f43055710a0632c0a8646b3ada26b58Authored: 1 month ago (Sun, 19 Jul 2026 01:57:22 +0000)Match: Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>812259ebff53c7a735f14ad43b2bbb4e2a09bfb5Authored: 1 month ago (Sun, 19 Jul 2026 01:17:12 +0000)Match: noreply@anthropic.com83b08643dcd8b73b03b21ecf087b8fda59b109f6Authored: 1 month ago (Sat, 18 Jul 2026 00:07:19 +0000)Match: Claude-Session: https://claude.ai/code/session_01BZSwy1qCmhotyRun8UKNKc5ee84c0a2683bc690f5d74b277b8e696befdd83fAuthored: 2 months ago (Sun, 12 Jul 2026 22:12:18 +0000)Match: Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>3dd0a1612d55f9323521dd2de331b589cf897357Authored: 2 months ago (Sun, 12 Jul 2026 22:09:00 +0000)Match: Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>4e75d6f2c19bc942da627038d9893e1676f8d4f0Authored: 2 months ago (Sun, 5 Jul 2026 19:45:53 +0000)Match: Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>024a3709c10f2802ef45c183e006a2d492ae3dfcAuthored: 2 months ago (Sun, 5 Jul 2026 17:17:25 +0000)Match: Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>0e49f6e67d8943895baba57a7d6ed0eab1825aafAuthored: 2 months ago (Sun, 5 Jul 2026 02:10:21 +0000)Match: Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>40a20e6b4b7d183d5f2c5111938f3a2eb64c1e54Authored: 2 months ago (Sun, 5 Jul 2026 01:58:50 +0000)Match: Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>5515324a3d4d96bc02a36f0da3e04db43c3e0b24Authored: 2 months ago (Sun, 5 Jul 2026 01:53:27 +0000)Match: Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>2c3afe00f73be1d4924886f3664b5c0477df5589Authored: 2 months ago (Sat, 4 Jul 2026 22:35:07 +0000)Match: Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>cbde195aaa93b17434228ffb38b4726df29965b1Authored: 2 months ago (Sat, 4 Jul 2026 22:01:01 +0000)Match: Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>ca382a0de543805b5a255d04879caf55d6db7135Authored: 5 months ago (Thu, 16 Apr 2026 04:59:59 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>ff154eb133e0d2e4f5ddc6bbe5a07d242d16adeaAuthored: 5 months ago (Thu, 16 Apr 2026 04:59:59 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>14594cc0b6db20df4237d2e06babdcf24766de8dAuthored: 5 months ago (Thu, 16 Apr 2026 04:37:43 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>e6bf49e8029a3342d66d3d663f538cf997ebd62cAuthored: 5 months ago (Mon, 13 Apr 2026 05:06:05 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>17070e3f6bb29cd133c956d2d329c37f21d04c1eAuthored: 5 months ago (Mon, 13 Apr 2026 04:53:21 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>e082329896d54b86c5fc52e31f98fcffc3202e62Authored: 5 months ago (Mon, 13 Apr 2026 04:52:12 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>90ca6868f7b7bf538c1aebe1fd79daf8b8d9d5a5Authored: 5 months ago (Sun, 12 Apr 2026 20:46:46 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>7269b249bc6eb933b8ac7d54a6fb167a646dd1f5Authored: 5 months ago (Sun, 12 Apr 2026 20:29:58 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>d50a41377c24c871fb0b48a69ccaf0ea494d2f94Authored: 5 months ago (Sun, 12 Apr 2026 17:20:06 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>49205aed6df931dcd0db3c5d0b821d31279aaa3eAuthored: 5 months ago (Sun, 12 Apr 2026 05:02:36 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>4a8a21973507f34df950ea6ff743f0b9cf9884ddAuthored: 5 months ago (Sun, 12 Apr 2026 05:02:36 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>b5fabc38119a5fc892893e8c3c32af2aee4bcf8bAuthored: 5 months ago (Sun, 12 Apr 2026 05:01:23 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>88422fe135ea5289bdb28ae82b1576da5aac4745Authored: 5 months ago (Sun, 12 Apr 2026 03:34:42 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>ab14750344a9a294c4ec45133fdcdf6d986ce7c8Authored: 5 months ago (Sun, 12 Apr 2026 03:17:57 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>52ae3db5c4d788c0c726eeebacd9278c217da2ccAuthored: 5 months ago (Sun, 12 Apr 2026 02:59:49 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>cd9a7ef7868cd18055f2b835efae67fd3f5a2266Authored: 5 months ago (Sun, 12 Apr 2026 02:49:27 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>890a9c61559208582e742b0784331e371521a9c1Authored: 5 months ago (Sun, 12 Apr 2026 02:49:06 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>18a611b60288434b3d69c2ea290747bfeeec2215Authored: 5 months ago (Thu, 9 Apr 2026 04:41:45 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>11136dadee2e07efc4670033c3ce63d239c6c78cAuthored: 5 months ago (Thu, 9 Apr 2026 04:36:34 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>a87bfe40f6b4e56803c663a0f8244184a3f4b413Authored: 5 months ago (Thu, 9 Apr 2026 04:19:19 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>f5f8cc1717ffd8a21c9b0d0613ef63393bee8f28Authored: 5 months ago (Thu, 9 Apr 2026 04:12:01 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>cec73b0f2946819b74dbdd41f810ac25d6ae6142Authored: 5 months ago (Wed, 8 Apr 2026 04:30:00 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>d02141b856c6b427eed3e034b3f1a8d4021226baAuthored: 5 months ago (Tue, 7 Apr 2026 16:47:29 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>f94d4abdc3f5d8d7c456b382f42fffd540fa8fc7Authored: 5 months ago (Mon, 6 Apr 2026 02:11:05 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>36341f5ccaab0d044a3dda670a86a08d14ac78a4Authored: 5 months ago (Sun, 5 Apr 2026 21:26:38 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>d13f6748738b99cfafbf8c904c5d7f13a6b08536Authored: 5 months ago (Sun, 5 Apr 2026 17:31:52 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>19db3d228854d1223691d7542f4df9fbe590d058Authored: 5 months ago (Sun, 5 Apr 2026 17:25:58 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>7864b57e93951565c6fe1c6fa196d61c0c4f54e2Authored: 5 months ago (Sat, 4 Apr 2026 03:56:06 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>faab27390776eafe76ee6a074e04f3c689244a9cAuthored: 5 months ago (Fri, 3 Apr 2026 22:14:42 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>bb7201812320189dee3964c754156ff3155196e8Authored: 5 months ago (Fri, 3 Apr 2026 21:43:27 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>4b4ddf46c7bbf5d01ff20d98a25b08b2aeb4f8cbAuthored: 5 months ago (Fri, 3 Apr 2026 21:38:52 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>9705cbfc8ce2a4e6f09b9c0e892bcd1d18bc06c6Authored: 5 months ago (Fri, 3 Apr 2026 05:20:39 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>081c61c632ffc6513bab47ad04b72b37faa98f2fAuthored: 5 months ago (Thu, 2 Apr 2026 17:53:26 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>6be70c7727f76f57e5b84f1a9a41bbacc6c65eaaAuthored: 5 months ago (Thu, 2 Apr 2026 05:15:23 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>cb0647f3b00454226366ce7cd82a0f6ef2dd789cAuthored: 5 months ago (Wed, 1 Apr 2026 04:30:08 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>a3d667af6804b675697ef5b05cf83e708d53a7d6Authored: 5 months ago (Wed, 1 Apr 2026 04:13:34 +0000)Match: Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>f9c15ac2d834ec541aba5f267e0d9b3b9da11e6eAuthored: 5 months ago (Wed, 1 Apr 2026 03:41:14 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>98f8111fffc25a948f2314874233caea10761637Authored: 5 months ago (Mon, 30 Mar 2026 05:25:15 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>30f67531589aa061c031b1d881fd88a2be9b1469Authored: 5 months ago (Mon, 30 Mar 2026 05:21:18 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>a3ae8e3ffcfbe9a045cdda72581ecb8047d6bbdaAuthored: 5 months ago (Mon, 30 Mar 2026 04:49:48 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>93ff4f90c5a295f3d36e7c377eb041726560f573Authored: 5 months ago (Sat, 21 Mar 2026 18:30:22 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>7d91be014d528bff647a4da299c3ccccaa2d5ef6Authored: 6 months ago (Wed, 11 Mar 2026 09:18:48 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>0c50a97228fffc920fa0adffeb6579c882dd8134Authored: 6 months ago (Wed, 11 Mar 2026 05:08:32 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>bdb06b5aaef06708d79356ce352b7a6bc5dfed24Authored: 6 months ago (Wed, 11 Mar 2026 03:05:21 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>89cb0c08690e25dd687070a8dd9e2ec13c630c9eAuthored: 6 months ago (Sun, 8 Mar 2026 23:41:13 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>7f8abe71724331f3e14a8ebe549e2df18d55bd00Authored: 6 months ago (Sun, 8 Mar 2026 20:01:12 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>97a2a100c6943b426de116e1216f454b5daf3e8cAuthored: 6 months ago (Sun, 8 Mar 2026 18:29:03 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>0b97c05aa24d70a17e274cb35326b74db9f095f2Authored: 6 months ago (Fri, 6 Mar 2026 06:43:54 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>9a2eb773778e47bed2bf9c4158aec0fbaf81bd2cAuthored: 6 months ago (Fri, 6 Mar 2026 06:22:32 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>caea80bf8316c6e43c7409aabde7a9a5627aa4d1Authored: 6 months ago (Fri, 6 Mar 2026 06:14:15 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>ce2b010558ec2862914a3b95fc1d600d9e49ef29Authored: 6 months ago (Wed, 4 Mar 2026 04:09:40 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>75041b44585e8337b7113282c8f5c69d2e8b2536Authored: 6 months ago (Wed, 4 Mar 2026 03:45:27 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>e119e51a007f3a6ca1e26dee658fb2bf53470a69Authored: 6 months ago (Wed, 4 Mar 2026 02:12:41 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>589b0f6af8dd425248ce3ba212e90d9645f2e1c7Authored: 6 months ago (Tue, 3 Mar 2026 21:00:33 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>9786fdc82dea6648cae968cbfb9cf19614a2a897Authored: 6 months ago (Tue, 3 Mar 2026 18:03:35 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1238c6b9d03dba8bd67e270f59c62c6fd537be33Authored: 6 months ago (Fri, 27 Feb 2026 06:45:05 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>ab74f1645610d93ba2f2770693cf0cc701641810Authored: 6 months ago (Thu, 26 Feb 2026 07:29:32 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>55adae648a8fae720fbe8f0eeba09e28c05541cdAuthored: 7 months ago (Fri, 13 Feb 2026 17:40:02 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>c206992f30f8a20d4692ee26a094e5187f908493Authored: 7 months ago (Fri, 13 Feb 2026 17:37:33 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>00d2130375d80b529e4f377514a2dce3e063bb27Authored: 7 months ago (Fri, 13 Feb 2026 17:36:42 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>d0ccab8a99ac3d8c8204f4282a644cf122e3f990Authored: 7 months ago (Fri, 13 Feb 2026 17:35:42 +0000)Match: Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>KeeForge/Services/AppSupport/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/Views/DatabaseList/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/Views/Group/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/Services/Cloud/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/Services/AutoFill/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/Views/TOTP/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/Views/Settings/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForgeMacUITests/CLAUDE.mdTool: claude-codeAGENTS.mdAutoFillExtension/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/Views/SearchAndTags/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/Views/Cloud/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/Views/Components/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/Extensions/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForgeTests/Support/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForgeTests/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/Models/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/Views/Entry/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/Services/Persistence/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/Views/Unlock/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/ViewModels/CLAUDE.mdTool: claude-codeAGENTS.mdCLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/Services/Security/CLAUDE.mdTool: claude-codeAGENTS.mdKeeForge/App/CLAUDE.mdTool: claude-codeAGENTS.md.claudeTool: claude-code.claudeTool: claude-code.claudeTool: claude-code.claudeTool: claude-code.agents/skills/publish-app-store-version/SKILL.mdTool: unspecified---
name: publish-app-store-version
description: Prepare and publish an already-built KeeForge version — iOS, macOS, or both — through the App Store Connect website. Use when the user asks to create or finish an App Store version, publish an uploaded build, prepare an App Review submission, stage everything before the final submit, or operate App Store Connect after the release/tag/CI workflow is complete. Covers build processing, export compliance, localized release notes, reviewer information and test.agents/skills/keeforge-github-issues/SKILL.mdTool: unspecified---
name: keeforge-github-issues
description: >
Create, edit, comment on, close, reopen, classify, or change project fields for issues in
KeeForge/KeeForge. Use whenever an action will mutate a KeeForge GitHub issue. Do not use for
read-only issue searches or reviews that will not change GitHub state.
---
# KeeForge GitHub Issues
Apply this workflow before every GitHub issue mutation, including mutations requested as part of
another workflow. Keep the mutation within the user's authorized scope.
##.agents/skills/spec-creator/SKILL.mdTool: unspecified---
name: spec-creator
description: >
Turn a feature request into implementation-ready spec files for a coding agent.
Use whenever the user wants to plan, scope, or write a spec for a feature about
to be built: "write a spec for X", "plan feature Y", "how should we build Z",
"draft an implementation plan". Produces a parent epic plus one file per
independently-buildable slice. Prefer this skill when the audience is a coding
agent, not an exec. Auto-applies the KeeForge overlay when the repo look.agents/skills/release/SKILL.mdTool: unspecified---
name: release
description: >
Run the KeeForge three-channel release process: cut a release/{major}.{minor} branch, build
iOS, Mac App Store, and direct-download Mac candidates from one immutable RC, soak the exact
artifacts, and ship the exact accepted builds. Bumps versions and the globally monotonic repo
build in project.yml, updates CHANGELOG.md and the What's New sheet, runs both local KDBX
compatibility gates plus the local Mac smoke, and pushes rc/{version}-b{repoBuild} tags so Xcode
C.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecified.agentsTool: unspecifiedKeeForge/Views/Cloud/AGENTS.mdTool: agents-md# Cloud Views
Cloud provider file browsing and the manual WebDAV connect form.
## Screen Map
- `WebDAVConnectView.swift` owns the manual WebDAV connect sheet (server address, username, password with `PasswordInputRow`, advanced unencrypted-HTTP opt-in, inline error, Connect/Cancel), backed by `WebDAVConnectViewModel`. Its nested sheet sizes itself to the form, so nothing is clipped today, but the `Form` still takes `macGroupedForm()` for the sheet rule above; each field takes `macFormFieldStyle()`, and tAutoFillExtension/AGENTS.mdTool: agents-md# AutoFillExtension
This target provides password, passkey, one-time-code, and new-credential save/generate fulfillment through `AuthenticationServices`.
## Main Files
- `CredentialProviderCoordinator.swift` is the platform-neutral core: request handling (passwords, passkeys, one-time codes, save/generate-password), vault access and unlock orchestration, credential matching, passkey assertion, and the `cleanup()` teardown lifecycle. It must stay free of UIKit/AppKit so both the iOS and macOS shells can hKeeForge/Views/Group/AGENTS.mdTool: agents-md# Group Views
Post-unlock group navigation, the group editor, and the group icon and move-destination pickers.
## Screen Map
- `GroupListView.swift`, `EntryListView.swift`, `EntryDetailView.swift`, and `SearchView.swift` own post-unlock navigation, entry/group creation and deletion affordances, expired-entry list/detail warnings, enabled expiration timestamps, detail presentation, and the global read-only + unsaved-change surfaces shown while a database is open. On macOS the sidebar column cannot host puKeeForge/Views/SearchAndTags/AGENTS.mdTool: agents-md# SearchAndTags Views
Search results and the tag browser.
## Screen Map
- `TagListView.swift` and `TagEntriesView.swift` own the tag browser. `TagListView.swift` also declares `TagDestination` — the `Hashable` navigation value both stack shells register (`UUID` already means "group" and `KPEntry` "entry") — and `TagAccessibility`, the shared per-tag identifier-suffix normalizer. Entry points: the root-only "Tags" row in `GroupListView.swift` (`group-list.tags-row`, in-file `TagBrowserRow`, visible evKeeForge/Services/Security/AGENTS.mdTool: agents-md# Security Services
This folder holds device-security integrations and secret-handling helpers outside the core models.
## Main Files
- `BiometricService.swift` wraps LocalAuthentication flows used by the app and AutoFill.
- `KeychainService.swift` stores composite keys with biometric access control, shared with the extension via the keychain access group (see the invariant below).
- `PasskeyCrypto.swift` handles passkey-related crypto helpers used by the extension flow: PEM key handling and assertion siKeeForge/Services/AppSupport/AGENTS.mdTool: agents-md# App Support Services
This folder holds app-scoped helpers that support UI behavior and secondary product surfaces.
## Main Files
- `SettingsService.swift` decides what is local-only versus App Group-shared with the extension. It also owns `MacLockPolicy` and documents how the iOS lock-on-background default maps to the macOS screen-lock/sleep/screensaver/session-resign triggers.
- `MacLockMonitor.swift` (KeeForgeMac target only) observes the system notifications that make up the macOS auto-lock guaranteKeeForge/Views/Entry/AGENTS.mdTool: agents-md# Entry Views
Entry detail, editing, history, attachments, icon selection, and the shared row-action state.
## Screen Map
- `PendingRowActions.swift` is the single home for the row-action state the three shells share: `PendingEntryDeletion`, `PendingGroupDeletion`, `PendingDeletion` (with `confirmationAlert(viewModel:)`), and `PendingMove`. `GroupListView.swift`, `EntryListView.swift`, and the macOS `../../App/RegularDatabaseWorkspaceView.swift` all build their delete confirmations and move sheets from iKeeForge/Views/DatabaseList/AGENTS.mdTool: agents-md# DatabaseList Views
Database picking, creation, per-database settings, master-key changes, and export to Files.
## Screen Map
- `DatabaseListView.swift` takes `isSidebarColumn` from its host — the split view's sidebar column passes `true`, the compact full-screen root leaves it `false` — and styles its list from it: `.sidebar` in a column, `.insetGrouped` full screen. It is passed in rather than read from `horizontalSizeClass`, which a sidebar column reports as compact however wide the window is. ThKeeForge/Views/Components/AGENTS.mdTool: agents-md# Components Views
Reusable controls shared across the feature folders.
## Screen Map
- `FaviconView.swift` renders an entry's icon: a custom `Meta/CustomIcons` image, a cached/fetched favicon, or the standard-icon glyph fallback. The fallback's colour is keyed to `backgroundProminence` — accent normally, white when it sits on a selected row's accent fill, which is the one case `.tint` would otherwise render accent-on-accent.
- `PasswordInputRow.swift` owns editable password entry controls shared by maKeeForge/Models/AGENTS.mdTool: agents-md# Models Folder
This folder holds the data and logic that the rest of the app depends on. It is the most security-sensitive part of the repo.
## High-Risk Core
The canonical high-risk file list (kept in sync with `AGENTS.md`): `KDBXParser.swift`, `KDBX3Parser.swift`, `KDBXWriter.swift`, `KDBXXMLSerializer.swift`, `KDBXCrypto.swift`, `KDBXOuterCipher.swift`, `OpaqueXMLNodes.swift`, `DatabaseDraft.swift`, `EntryEdit.swift`, `Entry.swift`, `Group.swift`, `EncryptedValue.swift`, `TOTPGenerator.swift`.
- `KDKeeForge/Extensions/AGENTS.mdTool: agents-md# Extensions Folder
Use this folder for small app-specific extensions and conformances that are shared across multiple views or models but do not justify their own feature folder.
## Current Files
- `NavigationConformances.swift` keeps navigation state workable with the app's model types.
- `PlatformCompat.swift` is the shared iOS/macOS compatibility shim for the macOS port: `PlatformImage` (`UIImage`/`NSImage`) + `Image(platformImage:)`, `PlatformTextContentType`, UIKit semantic color names on `NSColor`KeeForgeTests/AGENTS.mdTool: agents-md# KeeForge Unit Tests
Use this folder to find the smallest test slice that proves a change. Prefer unit tests over UI tests unless the behavior is truly UI-driven.
## Running Tests
```bash
xcodebuild test -project KeeForge.xcodeproj -scheme KeeForge \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro' \
-only-testing:KeeForgeTests/DatabaseViewModelTests -quiet
```
- Run only the classes touched by the change.
- `-only-testing:` takes test **class** names; the map below lists files, and the two.github/AGENTS.mdTool: agents-md# GitHub CI And Templates
GitHub Actions workflows, issue/PR templates, funding config, and repo assets. Actions is one leg of CI; Xcode Cloud and a local release gate cover the rest.
## Workflows
- `workflows/pr-tests.yml` — required PR gate (jobs `unit-tests` and `macos-unit-tests`, both required status checks alongside DCO on `main` and `release/**`). Runs on every PR regardless of base branch, so stacked PRs (which target the branch below them) get the same gate: `iPhone 17 Pro, OS=latest`, `-only-KeeForge/App/AGENTS.mdTool: agents-md# App Folder
This folder owns app startup, scene transitions, and the adaptive root shell that connects the database list to one active database session.
## Main Files
- `KeeForgeApp.swift` creates the shared `DatabaseListViewModel`, owns the optional active `DatabaseViewModel`, chooses the compact vs regular-width root layout, and wires global scene-phase behavior. One `#if DEBUG` launch-argument hook (developer tooling, no Release effect): in `rootView`, `-autofill-store-inspector` replaces the normal KeeForge/Services/Persistence/AGENTS.mdTool: agents-md# Persistence Services
This folder owns database references, cached copies, file access, and local-save infrastructure.
## Main Files
- `AppGroupContainer.swift` is the single resolution point for App Group storage: the container directory (`AppGroupContainer.url`) and the shared `UserDefaults` suite (`AppGroupContainer.defaults`). Every reader and writer of shared storage — this folder, `../AppSupport/SettingsService.swift`, `../AppSupport/FaviconService.swift`, `../AutoFill/AutoFillDiagnostics.swift`KeeForgeTests/Support/AGENTS.mdTool: agents-md# Test Support
Shared test infrastructure: fixtures, fakes, spies, and assertion helpers. Nothing here declares a test class — suites live one level up in `../`.
## Helpers
- `TestDatabaseSupport.swift` builds fixture URLs, supports fixture subdirectories, reads non-database fixture bytes (`fixtureData(named:extension:bundle:)`, for key files), and creates bookmark-backed `DatabaseReference` values for tests.
- `FakeCredentialIdentityStore.swift` is the lock-guarded in-memory `CredentialIdentityStorePrKeeForge/Services/Cloud/AGENTS.mdTool: agents-md# Cloud Services
This folder owns provider abstractions plus the cloud-backed open/save pipeline.
## Main Files
- `CloudSyncModels.swift` describes cloud provider files and sync metadata used by the database list and sync coordinator. Optimistic concurrency uses a single opaque `rev` field; the provider-specific mapping (Dropbox rev, OneDrive cTag/eTag, WebDAV ETag → `rev`) happens in the this folder providers.
- `CloudProvider.swift` and `CloudProviderRegistry.swift` define the provider boundary the rAGENTS.mdTool: agents-md# AGENTS.md
Entry point for coding agents working on KeeForge. This file is intentionally brief; most useful guidance now lives in folder-local docs next to the code.
## High level guidance
- Do not preserve backward compatibility unless required by the existing install base. Remove obsolete paths instead of adding compatibility layers, fallbacks, or migrations.
- Choose the simplest implementation that fully meets the current requirements. Avoid speculative abstractions, configuration, and indirection.
KeeForge/ViewModels/AGENTS.mdTool: agents-md# ViewModels Folder
Observable app state lives here. Keep business rules here and keep views thin.
## Main View Models
- `DatabaseListViewModel.swift` owns the database list screen: add/remove/reorder, quick launch, nicknames, read-only toggles, key-file association, cloud database selection, row-status derivation, pending-upload counts/conflicts, and manual "push pending changes". `setAutoFillEnabled` invokes its `autoFillEnabledRefreshHandler` (the refresh bridge `../Views/README.md` references) so an KeeForge/Views/Unlock/AGENTS.mdTool: agents-md# Unlock Views
Unlocking a single database: password and key-file entry, biometric affordances.
## Screen Map
- `UnlockView.swift` owns password/key-file entry and biometric affordances for one database. Its header padlock: `isSealed` starts shut, and `sealShutIfArrivingFromLock` replays open-to-shut only when `DatabaseViewModel.didManuallyLock` says the user pressed Lock (cleared on open in `../../App/KeeForgeApp.swift`); regular shells only — compact returns to the database list on lock and gets its KeeForge/Views/TOTP/AGENTS.mdTool: agents-md# TOTP Views
TOTP enrollment: QR scanning and the incoming-URL destination picker.
## Screen Map
- `TOTPQRScannerSheet.swift` (whole file `#if os(iOS)`; VisionKit's `DataScannerViewController` does not exist on macOS, where the scan affordance is hidden) is the TOTP enrollment camera sheet: a `DataScannerViewController` representable restricted to QR symbology. Scanning starts from a deferred main-actor task with one retry (`startScanning()` fails before the scanner is on screen), a still-failing start sKeeForgeMacUITests/AGENTS.mdTool: agents-md# KeeForge macOS UI Tests
Smoke suite for the native macOS app (target `KeeForgeMacUITests`, scheme `KeeForgeMac`). Methodology and fixture guidance live in `../KeeForgeUITests/README.md`; this suite reuses the same fixtures and accessibility identifiers — preserve them in both places. `MacUITestCase` mirrors the iOS target's fixture-injection launch environment but uses clicks, `typeKey` keyboard shortcuts, and right-click context menus instead of taps/swipes.
## Test Classes
- `MacSmokeUITests` — uKeeForge/Views/Settings/AGENTS.mdTool: agents-md# Settings Views
App settings, release education, support surfaces, and DEBUG-only developer tooling.
## Screen Map
- `SettingsView.swift`, `AcknowledgmentsView.swift`, and `TipJarView.swift` own secondary settings and support surfaces. `SettingsView.swift` contains the in-file sub-screens `SecuritySettingsView`, `AutoFillSettingsView`, `DisplaySettingsView`, `AboutSettingsView`, `AboutSectionContent`, `MacSecuritySettingsTab`, and `MacDisplaySettingsTab`; identifiers: `settings.tab.{security,autofill,diKeeForge/Services/AutoFill/AGENTS.mdTool: agents-md# AutoFill Services
This folder holds extension-facing helpers shared between the main app and the AutoFill target.
## Main Files
- `AutoFillSaveCoordinator.swift` stages and saves new credentials, refreshes shared caches, and queues deferred cloud uploads when needed.
- `CredentialMatcher.swift` matches KeePass entries to web domains and usernames for AutoFill suggestions.
- `CredentialIdentityStoreManager.swift` mirrors unlocked entries into the system credential identity store. It also owns `Credentia.claude/*File: .gitignoreTool: claude-code