A Klaus Title Count Is Not a Klaus Inventory
Klaus is a small Git web viewer. Its pages may be mounted behind a reverse proxy, embedded in an internal developer portal, or presented under a custom title. The word Klaus is also a common personal name. A title search can therefore produce a large set of pages that have nothing to do with the Git application.
On 2026-11-11 at 08:46:55 +08:00, title="Klaus" returned 4,077 ZoomEye matches with page 1, page size 1, and sub_type=all. The more specific app="Klaus" query returned 1 match at 08:46:53 +08:00. The links are the title query and the application query.
The gap is a clear warning. The title query is not a product inventory. The application query is more precise but very small, which may reflect a limited fingerprint rather than a small installed base. We report both observations and make no claim that the difference represents unmanaged deployments.
Authentication belongs at the proxy
Klaus supports Git Smart HTTP and is commonly deployed behind a web server for authentication and TLS. The Git HTTP protocol expects the surrounding HTTP server to handle authentication. The Klaus service may then serve repository pages to any request that reaches it.
That architecture creates three separate questions:
- Does every external route require authentication?
- Does the proxy strip client-supplied identity headers and set its own after login?
- Can a repository be reached through a second hostname, port, or direct application path that bypasses the proxy?
Test the public route, the direct application listener, and the repository clone URL. A page that returns a login prompt is not proof that the underlying listener is closed. An internal address can still be reachable from another network segment.
Limit what the viewer can reveal
Klaus can display repository history and code. A public repository may be an intentional publication. A private repository that becomes readable because the reverse proxy path matching is too broad is a different outcome. Inventory which repositories are configured, whether the viewer can serve archives, and whether commit metadata includes sensitive author addresses or internal paths.
Review the Git transport path separately from the HTML browser. Smart HTTP clients use distinct requests to discover and fetch packs. An access rule that protects the web UI but leaves the transport route open can still expose the repository. Use an unauthenticated Git client to test the full clone path, not just a browser fetch.
Build a verified inventory
Start with the application fingerprint and then confirm the product through a response, asset, or administrative configuration. Do not count every title match as Klaus. For each confirmed instance, record:
- proxy and authentication layer;
- repository root and mount path;
- public and internal routes;
- anonymous read behavior;
- clone and archive behavior;
- owner and review date.
Run a negative test from the same network position as an external user. A denial on the primary hostname should be repeated on alternate hostnames and direct ports. If the service is internal-only, record the network control that enforces that boundary.
The useful conclusion
The Klaus title count is useful for demonstrating why product-name searches need interpretation. The application count gives a narrower candidate set. Neither replaces a deployment check.
Klaus is small enough that the security review should be simple: identify the listener, put it behind a correct authentication layer, confirm every repository path is covered, and test the clone route. A large title count does not change those steps.

