← Back to KKTerm

Privacy

KKTerm Privacy Policy

This policy explains what KKTerm stores on your device, when information leaves your device, which third parties may receive it, and the controls available to you.

Effective and last updated: August 30, 2026

Short version

KKTerm is local-first. The project does not operate accounts, advertising, behavioral analytics, or in-app telemetry, and it does not sell personal data. Information leaves your Mac only when needed for a feature you choose—such as connecting to your servers, using a selected AI provider, opening a website, checking for updates, or contacting support.

1. Scope and operator

This policy applies to the official KKTerm desktop application and kkterm.ryantsai.com, maintained by Ryan Tsai and the KKTerm open-source project. It does not replace the policies of remote systems, AI providers, websites, package sources, Custom Modules, or other services you choose to use through KKTerm.

Questions or privacy requests can be emailed to publish@ryantsai.com. Do not include passwords, private keys, access tokens, terminal contents, or unredacted diagnostic files.

2. Information stored locally

KKTerm stores the information required to provide its desktop features on your Mac. Depending on the features you use, this may include:

  • Saved Connections, Workspaces, folders, Dashboard layouts, IT Ops inventory, notes, preferences, histories, and other app configuration.
  • Hostnames, IP addresses, usernames, ports, commands, scripts, file paths, and remote-session settings that you enter.
  • Passwords, passphrases, and AI API keys in the configured secure credential backend, such as the macOS Keychain. KKTerm references SSH private-key files by path rather than copying their contents into its database.
  • Files you deliberately save, export, download, capture, annotate, or back up.
  • Local diagnostic logs. Release builds produce expanded AI debug logs only when Advanced Debugging is enabled; those logs may contain prompts, attachments, tool payloads, terminal context, or generated source and should be treated as sensitive.

This local information is not automatically uploaded to the KKTerm project.

3. When information leaves your device

Connections and remote operations

When you open a Connection or run an operation, KKTerm sends the information required by the selected protocol directly to the endpoint you configured. This can include network addresses, usernames, authentication material, commands, terminal input, files, and other session content. The operator of that endpoint determines how it logs, uses, and retains the information.

AI providers and local AI tools

AI features are optional. When you invoke an AI provider, KKTerm may send that provider the prompt and any context, attachments, screenshots, terminal content, file content, or tool results you deliberately include or authorize. A local CLI may itself communicate with its vendor according to that tool's configuration. KKTerm's approval controls govern app tool execution; they do not change an AI provider's privacy practices or retention rules. Review the selected provider's policy before sending sensitive content.

Websites, downloads, and Custom Modules

Embedded URL Connections and links communicate with the websites you open. Downloads, package catalogs, and installed Custom Modules may communicate with their listed sources or services when you direct them to do so. Those third parties can receive standard network information and any content you submit to them.

Updates and release downloads

KKTerm may request release metadata or downloads from KKTerm's Cloudflare-hosted release service or GitHub. These requests expose ordinary HTTP information such as IP address, user agent, request path, and time to the hosting provider. This information is used for delivery, reliability, abuse prevention, and security—not for advertising or cross-service tracking.

Support and community

If you open a GitHub issue, discussion, or other support request, GitHub and the people who can view that submission receive the information you choose to post. Public submissions are public. GitHub's terms and privacy policy govern its handling of account and submission data.

4. Website data

The KKTerm website does not run developer-operated behavioral analytics or advertising scripts and does not intentionally set marketing cookies. Cloudflare hosts the site and processes standard request and security information. The site also requests font files from Google Fonts, which allows Google to receive ordinary request metadata such as your IP address and browser information. Those providers process information under their own terms and privacy policies.

5. No sale, advertising, or tracking

KKTerm does not sell or rent personal data. The official app contains no advertising SDK and does not combine app activity with third-party data for targeted advertising. The project does not operate a user-account service or collect in-app usage analytics.

6. Third-party safeguards

Service providers used to operate KKTerm-controlled infrastructure are limited to providing functions such as hosting, delivery, reliability, and security, and are expected to handle information under their applicable contractual and privacy safeguards. User-selected remote systems, AI providers, websites, CLIs, and Custom Modules are not controlled by KKTerm; their separate policies apply, and you should use only providers whose protections meet your needs.

7. Retention and deletion

  • Local app data: remains on your Mac until you delete it in KKTerm, remove the relevant files or credentials, reset the app, or uninstall it. Exports and backups remain wherever you placed them until you delete them.
  • KKTerm-operated services: standard hosting and security records are retained according to operational settings and the hosting provider's policies, then deleted or aggregated.
  • Third-party services: remote systems, AI providers, websites, GitHub, and module services retain information according to their own policies and your account settings.

Because KKTerm does not maintain a cloud account or upload its local database to the project, the project normally has no copy of your local app data to delete.

8. Your privacy choices

  • Do not configure or invoke an external AI provider; remove its API key from KKTerm and the macOS Keychain when no longer needed.
  • Review prompts, attachments, context, and requested app-tool actions before approving them.
  • Choose which remote endpoints, websites, downloads, and Custom Modules to use and revoke their credentials directly when appropriate.
  • Delete saved Connections, histories, notes, captures, exports, backups, logs, and other local data using KKTerm or Finder.
  • Use the privacy and deletion controls supplied by each third-party provider for information it received.

For questions about information held by KKTerm-controlled services, contact support. A request may require enough detail to locate the relevant record, but you should never send a password, secret key, or access token.

9. Security

KKTerm uses platform credential storage where available, permission-gated AI tools, local-first storage, and transport security provided by the protocols and services you select. No system is completely secure. Keep KKTerm and your operating system current, verify remote hosts and downloads, protect local backups, and use appropriate access controls on every managed system.

10. Children

KKTerm is a professional infrastructure and development tool and is not directed to children under 13. The project does not knowingly operate accounts for or collect personal information from children.

11. Changes to this policy

This policy may change as KKTerm's features or service providers change. The effective date above will be updated, and material changes will be published at this URL. Continued use after a change is subject to the updated policy.

12. Contact

Email publish@ryantsai.com or use the KKTerm support page. For a security-sensitive report, provide only a non-sensitive summary initially so a private handling path can be arranged.