NO BLOAT
Designed to avoid unnecessary components, background services, and resource consumption. Background services, timers and polling loops are inventoried and classified as essential, optional or candidate-for-optimization.
GLDoze is built around performance, transparency, and user control. We believe your computer should serve you without unnecessary background activity, concealed surveillance, or hidden access mechanisms. This page states what the project commits to, what has actually been verified, and what remains open — without claims we cannot back up.
Official GLDoze development commitments, each backed by engineering practice rather than marketing language.
Designed to avoid unnecessary components, background services, and resource consumption. Background services, timers and polling loops are inventoried and classified as essential, optional or candidate-for-optimization.
No intentional secret monitoring of users or concealed collection of their personal activity.
No hidden usage analytics or undisclosed reporting of personal system information to GLDoze developers. This website carries no analytics, trackers or third-party scripts either.
No intentionally concealed mechanisms designed to bypass security protections or grant unauthorized access. Privileged operations require explicit administrator authentication, documented per operation.
No secret universal developer credential for unlocking users' protected vaults or encrypted data. Vault keys are derived from the user's own credentials only.
Changing a commitment is a documented process in the project's SECURITY.md, not a silent wording edit.
Telemetry means usage analytics, behavioural data or personal system information transmitted to developers without the user asking. Loading a website you typed is not telemetry. Requesting an answer from a remote AI provider you configured is your directed activity — it still requires transparency, which is what this page provides.
A full audit of the application, installer scripts and this website found no first-party telemetry, analytics, tracking pixels or third-party tracking scripts. The embedded browser's background services that could report usage (component updater, network-time, usage-metrics reporting, domain reliability, background networking) are explicitly disabled on the browser's startup configuration, with a regression test guarding those settings. An automated no-telemetry scan runs with the project's test suite.
Honest limitation: absence of findings in an audit is not proof that no network activity can ever occur. The audit method, every inventoried connection and its purpose are published in the repository's network activity inventory.
What connects out, when, and who decides.
The bootstrap script downloads from this site over HTTPS and verifies a GPG signature against a pinned fingerprint before anything is installed. Nothing checks in silently in the background.
SSH/rsync to hosts you configure, websites you open in the integrated browser, mail you fetch, and media add-ons you enable connect only when you use them. These are inventoried per component.
Beyond the explicit install/update download, the audit found no built-in reporting to GLDoze developers. Browser background reporting services are switched off and pinned by tests.
A local model alone does not guarantee an offline application — so the boundary is stated explicitly.
The local model server listens on loopback only. Vision (image) requests are hard-routed to local workers by default and fail with a clear error instead of silently going remote.
Remote providers exist only when you add one yourself, with your own API key stored in credential storage — never in logs or settings files. Chat can use a configured provider; a hard "local only" switch disables even that.
Chat displays the provider and model, and labels remote providers plainly. Cross-provider fallback without disclosure was found in the audit, fixed, and is now covered by tests.
Stored per user, protected by your own secrets, never written to logs.
Passwords, SSH secrets and API keys live in the per-user keyring daemon (or the system secret service, if you prefer) — encrypted at rest with modern AEAD and a memory-hard KDF, reachable only inside your session.
Copies are conditionally cleared after a timeout you configure — and we say plainly that a desktop clipboard manager may still retain them. Secrets are wiped from memory on every exit path and never appear in status text or logs.
SSH and mail integrations receive secrets through scoped local channels; automated tests scan source for credential-shaped strings and for secrets leaking into log statements.
The password manager's guarantees — and their honest limits.
Details, threat model and the specialist-review checklist: GLVault architecture notes and the GLVault security model.
Root access exists — always explicit, always yours to approve.
Some operations genuinely require administrator rights (installing, service control, protected files). GLDoze routes them through the system's polkit mechanism: every privileged action demands administrator authentication — never your own account's password as a stand-in — with the scope shown before you approve. A dedicated root helper speaks a fixed, validated request protocol over a local-only socket and re-checks identity and policy on every call.
The distinction this project holds itself to: a legitimate privileged helper has a documented purpose, an explicit authorization requirement and a stated boundary. A backdoor would be an undocumented way around one. An independent-style review of every authentication and privilege surface found two real defects (an over-broad grant and a shared default room key), both fixed with regression tests pinning them: authentication & privilege review.
Everything on this page is checkable.
Source, issues and development happen in public on the project's own Forgejo. The audit documentation — baseline, network inventory, minimal-system design, privilege review, vault model, AI data flows — lives in the repository next to the code it describes.
Anti-regression guards for polkit grants, telemetry patterns, secret leakage, documentation integrity and vault/recovery behaviour run with the test suite, so the commitments degrade loudly instead of silently.
Security-sensitive choices are recorded in the repository's security documentation, with a defined process for changing the five commitments.
How to reach the project, and what to expect.
Open an issue on the public tracker at git.gldoze.de/gldoze/desktop for problems that are safe to discuss openly, including privacy regressions and hardening gaps. Include what you did, what you expected, what happened, and the version or commit you tested.
For reports that should not be public, write to security@gldoze.de. Mail lands in a local mailbox on the project's own server (the same host that runs the Forgejo and this domain's DNS) — no third-party mail service is involved. Transport uses opportunistic STARTTLS; no response time is promised, same as the tracker. The full policy, including triage order and what reports can reasonably expect (without response-time promises we could not keep), is in SECURITY.md.
Internal engineering assessments — not independent certification. No security audit by a third party, no certification, and no claim of perfect security or zero vulnerabilities is made.
Open items we do not hide:
Full evidence, methodology and limitations: docs/security/ in the source repository.