-
Notifications
You must be signed in to change notification settings - Fork 47
docs(readme): say plainly whether OpenCompany phones home #2154
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -162,6 +162,36 @@ programming. `opencompany check` reports any problems in plain language, and | |
| adding a new business is a new folder, not a new program. | ||
| [Your first company](gitbooks/get-started/your-first-company.md) walks through it. | ||
|
|
||
| ## What it reports about itself | ||
|
|
||
| Nothing, unless it is a tenant on the TinyHumans hosted platform. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
When a self-hosted or desktop binary is compiled with AGENTS.md reference: AGENTS.md:L122-L127 Useful? React with 👍 / 👎. |
||
|
|
||
| - **A self-hosted or desktop install sends nothing** — and not "nothing by | ||
| default" in the sense of a switch someone could flip. The network client is | ||
| behind a cargo feature the shipped default build does not compile in, so | ||
| there is no code in that binary that could make the request. Getting one out | ||
| of that state takes a recompile, not a config change. | ||
| - **Hosted tenants report product usage**, because the platform builds their | ||
| image with that feature on and injects a project token. What it reports is | ||
| shape and outcome under an opaque id: how many companies are configured, | ||
| which storage backend is in use, whether a turn finished or failed, and token | ||
| and cost counts. | ||
| - **No company content ever leaves, on any install.** Not message text, | ||
| prompts, agent output, file paths, ledger values, tool names or arguments, | ||
| email addresses, company or agent names, task titles, error messages, or | ||
| credentials of any kind. That is enforced by construction rather than by | ||
|
Comment on lines
+179
to
+182
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win 🔎 Supported by static analysis🏁 Script executed: #!/bin/bash
set -e
printf '%s\n' '--- README lines 165-194 ---'
sed -n '165,194p' README.md
printf '%s\n' '--- candidate files ---'
git ls-files | rg -i '(^|/)(readme|.*crash.*|.*sentry.*|.*analytics.*|.*telemetry.*|.*privacy.*|.*report.*)\.(md|mdx|rs|toml|json|ya?ml|ts|tsx|js|jsx)$|(^|/)(readme|.*crash.*|.*sentry.*|.*analytics.*|.*telemetry.*|.*privacy.*|.*report.*)$' | head -200
printf '%s\n' '--- crash/reporting references ---'
rg -n -i --glob '!target/**' --glob '!node_modules/**' 'crash|panic|sentry|analytics|telemetry|diagnostic|error message|product analytics' . | head -300Repository: tinyhumansai/opencompany Length of output: 33840 🤖 get_repo_knowledge executed:
Length of output: 9989 🏁 Script executed: sed -n '165,194p' README.md; printf '%s\n' '---'; rg -n -i 'crash|panic|sentry|analytics|telemetry|diagnostic|error message|product analytics' --glob '!target/**' --glob '!node_modules/**' . | head -300Repository: tinyhumansai/opencompany Length of output: 29234 🏁 Script executed: #!/bin/bash
set -e
sed -n '165,194p' README.md
printf '\n--- references ---\n'
rg -n -i --glob '!target/**' --glob '!node_modules/**' 'crash|panic|sentry|analytics|telemetry|diagnostic|error message|product analytics' . | head -300Repository: tinyhumansai/opencompany Length of output: 29342 🏁 Script executed: #!/bin/bash
set -e
printf '%s\n' '--- crash-reporting specification ---'
sed -n '1,260p' docs/spec/runtime/crash-reporting.md
printf '%s\n' '--- observability files ---'
git ls-files | rg '(^|/)observability|sentry|crash-reporting' | head -100
printf '%s\n' '--- SentryTest and init excerpts ---'
sed -n '90,135p' src/bin/opencompany.rs
sed -n '1905,1945p' src/bin/opencompany.rs
sed -n '2638,2700p' src/bin/opencompany.rs
rg -n -A8 -B8 'pub (async )?fn (init|capture|report)|capture_message|capture_event|set_extra|set_context|before_send|Sentry|sentry::' src frontend/src | head -300Repository: tinyhumansai/opencompany Length of output: 47523 Scope the exclusion guarantee to product analytics. When crash reporting is enabled and an operator configures a DSN, reports can include error messages, stack traces, breadcrumbs, and panics. The specification also permits company IDs, workspace paths, tool names, ledger slugs, and agent-authored text. Replace the unconditional guarantee with: no product-analytics payload contains that content. 🤖 Prompt for AI Agents
Comment on lines
+179
to
+182
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
When an operator compiles crash reporting and configures a DSN, reports may contain company IDs, workspace paths, tool names, ledger slugs, and agent-authored text from error messages, as AGENTS.md reference: AGENTS.md:L122-L127 Useful? React with 👍 / 👎. |
||
| review: a reported property is a word compiled into the binary, a count, a | ||
| number or a boolean, and the type has no `String` variant for runtime text to | ||
| arrive in. | ||
| - **To turn it off**, set `OPENCOMPANY_ANALYTICS=off`. It outranks everything | ||
| else, and boot prints one line saying which way it resolved. | ||
|
|
||
| [`docs/spec/runtime/analytics.md`](docs/spec/runtime/analytics.md) has every | ||
| event and property, the conditions that must all hold before anything is sent, | ||
| and how the opaque id is derived. Crash reporting is separate, off until you | ||
| configure it, and goes to your own Sentry project rather than ours — | ||
| [`docs/spec/runtime/crash-reporting.md`](docs/spec/runtime/crash-reporting.md). | ||
|
|
||
| ## Documentation | ||
|
|
||
| | Where | What's there | | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Qualify the opening statement for explicit opt-in builds.
The analytics specification permits a self-hosted or desktop binary built with
--features analyticsto report whenOPENCOMPANY_ANALYTICS=on, with a token and usable endpoint configured. Change this summary to say that the shipped default build sends nothing, while custom builds can opt in after recompilation.🧰 Tools
🪛 LanguageTool
[grammar] ~167-~167: Use a hyphen to join words.
Context: ... unless it is a tenant on the TinyHumans hosted platform. - **A self-hosted or d...
(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents