Effective 7 November 2026
Privacy policy for KERN
This Privacy Policy describes how HalfCycle (“we”, “us”) handles information in connection with KERN for Android, application package org.halfcycle.kern. It applies to the current KERN application. Our other products remain subject to the HalfCycle privacy notice.
KERN does not require an account. You may create, edit and save documents on the device without signing in and without an internet connection. For questions about this Policy, contact racy.gomes@halfcycle.org or use the contact page.
Information stored on the device
Documents that you open or create are stored according to the location you select. KERN may access files and folders that you grant through Android’s document and folder pickers. If you separately enable All files access in Android Settings, KERN may browse and edit shared storage in response to actions you take in the application. That permission does not extend to the private storage of other applications. KERN remains usable through the pickers if All files access is not enabled.
Unsaved drafts, undo and recovery data, file snapshots, preferences, snippets, Git working copies, connection settings and verified host keys are retained in KERN’s private application storage. That storage relies on Android’s application sandbox and on any device encryption provided by the operating system. It is not subject to a separate encryption layer within KERN. Clearing the application’s data or uninstalling KERN deletes that locally stored recovery information.
Android cloud backup and device-to-device transfer of KERN’s private application files are disabled. A copy leaves KERN’s private storage only when you export, share or save it to a destination you select. The receiving application or storage provider then controls that copy under its own terms.
KERN does not request access to contacts, the microphone or device location. It does not display advertising, does not collect an advertising identifier, and does not synchronize folders automatically.
Network communications
KERN does not provide a single control that disables every network function. Documents may nevertheless be created and edited on the device while it is offline. Network communications are limited to the circumstances described in this section.
Automatic update-policy requests
Where the installed build is configured for this function and the device is online, KERN requests its update policy when the application is opened or returned to the foreground. These requests continue when Cloud Services is disabled, and the application does not provide a setting to turn them off. A request may transmit a Firebase installation identifier and application and device metadata to Google. A policy already received may continue to apply while the device is offline. A device that has never connected cannot receive a new remote policy.
Optional cloud services
Settings, under Storage & privacy, provides a Cloud Services control and separate controls for announcements, crash reporting and usage analytics. On a new installation, those optional services are enabled. An existing installation retains its prior selections, including selections that were previously off. Disabling Cloud Services suspends the three optional services without altering their individual settings. These selections are excluded from the import and export of application settings.
Where a build is configured for them, crash reporting and usage analytics may begin at application launch, before the Welcome screen is shown. The Welcome screen discloses that processing and provides the relevant controls. Disabling a service stops further collection by that service. It does not delete information already transmitted to the recipient. Android’s notification permission is independent of these controls and is not granted by enabling a service.
- Usage analytics. Through Google Firebase Analytics, KERN records only designated screen names and one bounded measurement of startup timing. KERN does not submit document contents, file names, file paths, credentials or user identifiers as custom events. Google’s software may nevertheless collect first-open, session and engagement data, application and device metadata, installation identifiers, and approximate geography inferred from the network connection. KERN does not request location permission. Events may be stored on the device and transmitted when a connection is available. Disabling analytics stops collection and resets analytics data stored locally by the service.
- Crash reporting. Through Google Firebase Crashlytics, KERN may transmit sanitized exception classes and technical stack frames for crashes and for certain recorded failures. KERN does not attach document contents, paths, credentials or user identifiers to those reports. The service may still collect session, device and application-not-responding diagnostics. That information is collected even though it is technical in character.
- Announcements. Through Google Firebase Cloud Messaging, and only where the service is enabled, the build is configured, and Android permits notifications, KERN may register a token in order to receive announcements. Android’s notification permission remains a system permission.
Communications at your direction
The following communications occur only when you configure the relevant function and initiate the relevant action.
- Git. For projects managed by KERN, the application may communicate with HTTPS remotes that you configure. Transport-layer certificate checks are required. The working copy is kept in KERN’s private storage.
- SFTP. You may download, edit, review and upload individual files through destinations that you add. Host keys must be verified independently. A changed host key is rejected. KERN does not accept a host key automatically on first connection.
- Artificial intelligence. This function is optional. You provide an OpenAI-compatible HTTPS endpoint and an API key. Unless you select text, no document text is included. Before a request is sent, KERN displays the destination, the instruction and the exact text to be transmitted. KERN does not scan that text for secrets. You should remove any confidential information before confirming the request. The provider receives the instruction, the text you confirm and the model you have configured, and processes that information under its own privacy terms. Redirects are refused. A response is not written into the document unless you accept it.
- Document providers. A cloud document provider that you authorize through Android, such as a file picker offered by that provider, may transmit information under its own terms. Those transmissions are independent of KERN’s Cloud Services controls.
Credentials for Git, SFTP and the artificial-intelligence function are encrypted with AES-GCM under a non-exportable key held in the Android Keystore and are limited to the configured destination. Deleting stored credentials removes that ciphertext. It does not change the Firebase privacy settings. Host names, user names and verified host-key records are retained on the device as connection metadata. Private keys and tokens are excluded from settings export and from diagnostics.
Features that do not transmit document contents
Declarative extensions have no access to code execution, the file system, the network or stored secrets. The restricted terminal operates only within the application-private Git workspace and only through its documented built-in commands. It cannot start subprocesses or access Git metadata, the device root or external storage.
A diagnostics file exported from the application contains the application version, the Android API level, counts and Boolean settings. It does not contain document contents, paths, URIs, remote destinations or credentials. A message supplied by a connected service may be displayed in the application. That display is not an upload of the message through the diagnostics export.
Disclosure
We do not sell personal information. We do not receive the contents of your documents through the optional Google services described above.
Google processes update-policy requests and, where you leave the relevant service enabled, analytics, crash reports and announcement tokens, under Google’s applicable Firebase terms. A Git host, SFTP server, artificial-intelligence provider or share destination receives only the information transmitted to it at your direction. If you contact us for support, we receive the information you include in that communication.
Retention and deletion
Information stored on the device remains there until you delete it, clear the application’s data or uninstall KERN. Local history is limited by default to 100 snapshots and 100 MiB after a save. You may apply that retention limit in Settings. An editable file is limited to 10 MiB, and no more than eight documents may be open at one time. A separate read-only viewer may open a UTF-8 log of up to 100 MiB.
Information that has already been transmitted to Google, a Git host, an SFTP server or an artificial-intelligence provider is retained under that recipient’s terms. Disabling an optional KERN service stops further collection by that service and, in the case of analytics, resets analytics data stored locally. It does not require the recipient to delete information already received. To remove drafts and keys stored by KERN, clear the application’s storage or uninstall the application.
To inquire about a support communication that you sent to us, write to racy.gomes@halfcycle.org.
Children’s privacy
KERN is not directed to children under the age of 13, and we do not knowingly collect personal information from children through the application. If you believe that a child has provided personal information to us, contact us at the address above. Where we hold that information in our support records, we will delete it.
Changes to this Policy
If our practices for storing or transmitting information in KERN change, we will revise this Policy. The effective date above will be updated accordingly. Please review this Policy when you install or update the application.
This Policy is available in the application under Settings, then Help & diagnostics, and at https://halfcycle.org/kern/privacy.