Thanks for your interest in helping build Glasshaus! This project aims to be the honest personal-exposure scanner — open, transparent, and self-audit-first. Contributions that uphold that spirit are very welcome.
Status: Glasshaus is pre-alpha. The design is captured but implementation is just beginning, so the most valuable contributions right now are connectors, design feedback, and documentation.
By participating you agree to:
- Abide by our Code of Conduct.
- Respect the project's purpose and limits in
DISCLAIMER.md. Glasshaus is a self-audit tool. We will not accept contributions whose primary purpose is to target, surveil, or de-anonymize other people, or to evade platform terms in a way that harms others. - License your contributions under the project's MIT License.
- New connectors — wrapping an OSINT tool or API as a Glasshaus connector. This is the highest-impact contribution.
- Correlation & scoring — improving entity resolution, confidence, and the exposure score.
- Remediation guidance — mapping exposure types to concrete, accurate advice.
- Frontend / UX — the dossier card, the Explore-mode graph view.
- Docs, tests, bug reports.
Every connector, no matter what it wraps, must:
- Implement the common
Connectorinterface and emit only normalized Finding records — never tool-native output. - Declare its metadata honestly:
accepts(selector types),cost,rate_limit,requires_key,intrusiveness, andtier(fast/deep). - Tag each finding with the correct
exposure_typeso remediation mapping works. - Attach provenance to every finding (source, queried selector, evidence reference).
- Respect rate limits and fail in isolation — a connector error must never abort a scan.
- Never require committing a real API key; keys are supplied by the operator at runtime.
A connector-authoring guide will live in docs/ once the connector framework lands. Until then, open a discussion/issue describing the tool you want to integrate.
The toolchain is still being set up; this section will be expanded as the codebase lands. Expected shape:
- Fork and branch from
main(feature/<short-name>orconnector/<tool-name>). - Keep changes focused; one logical change per pull request.
- Add or update tests for behavior you change.
- Run the linters/formatters and the test suite before pushing.
- Open a pull request describing what changed and why, and link any related issue.
- Write clear, imperative commit messages ("Add Holehe connector", not "added stuff").
- Keep PRs reviewable; explain trade-offs in the description.
- Be responsive to review feedback — we aim to be kind and constructive in return.
Open a GitHub issue or discussion. For anything security-sensitive, follow SECURITY.md instead of filing a public issue.