No Castles backend
OAuth and Gmail API traffic goes directly between the local Castles process and Google. Castles operates without a hosted application server.
Local Gmail relationship discovery
Castles is a local command-line application. It reads an explicitly authorized Gmail mailbox, derives privacy-minimized relationship findings, and keeps those findings on your device.
A deliberately small boundary
OAuth and Gmail API traffic goes directly between the local Castles process and Google. Castles operates without a hosted application server.
Message headers, visible text, and links are processed in bounded memory. Raw messages, subjects, bodies, and complete URLs are not stored by Castles.
Privacy-minimized signals and findings are saved in a local SQLite database. Castles has no analytics, advertising, telemetry, or automatic uploads.
The public onboarding goal
127.0.0.1 for the protected desktop callback.Current availability: public no-file onboarding is undergoing Google verification and is not yet available. Stable version 0.1.2 remains intended for advanced users who explicitly supply their own Google desktop OAuth client.
Current stable release
Python 3.12 or newer and uv are required. Verify the release checksum before installation when your environment requires artifact verification.
uv tool install https://github.com/luigiverona/castles/releases/download/v0.1.2/castles-0.1.2-py3-none-any.whl
castles --version
castles logout removes saved Castles authorization from the local device. You can separately revoke the Google grant in your Google Account and delete local findings or exports whenever you choose.