-
-
Notifications
You must be signed in to change notification settings - Fork 586
Privacy policy update #287
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
Conversation
|
CodeAnt AI is reviewing your PR. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
|
Caution Review failedThe pull request is closed. WalkthroughPRIVACY.md makes opt-out-by-default explicit, renames Anonymous → Pseudonymous Client ID, adds telemetry fields (client info, installation method including DXT, container/environment metadata, file operation sizes, terminal base command), expands error/retention/transfer/rights language, updates opt-out/config paths and contact/changes sections. README.md rewords telemetry to "limited, pseudonymous telemetry" and points to local PRIVACY.md. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes
Possibly related PRs
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
CodeAnt AI finished reviewing your PR. |
💡 Enhance Your PR ReviewsWe noticed that 3 feature(s) are not configured for this repository. Enabling these features can help improve your code quality and workflow: 🚦 Quality GatesStatus: Quality Gates are not enabled at the organization level 🎫 Jira Ticket ComplianceStatus: Jira credentials file not found. Please configure Jira integration in your settings ⚙️ Custom RulesStatus: No custom rules configured. Add rules via organization settings or .codeant/review.json in your repository Want to enable these features? Contact your organization admin or check our documentation for setup instructions. |
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.
Actionable comments posted: 0
🧹 Nitpick comments (3)
PRIVACY.md (3)
15-16: Fix list indentation to match markdown conventions. Nested list items use 4-space indentation but should use 2 spaces per markdown style guidelines.- **Client ID**: A randomly generated UUID that persists between sessions. - - **Purpose**: Used to calculate monthly active users (MAU), retention metrics, and understand usage patterns over time. - - **Privacy Design**: This ID is not derived from hardware or personal information. It is included with telemetry events to enable aggregate analysis. It cannot identify you personally but does allow us to understand usage patterns across sessions. + **Client ID**: A randomly generated UUID that persists between sessions. + - **Purpose**: Used to calculate monthly active users (MAU), retention metrics, and understand usage patterns over time. + - **Privacy Design**: This ID is not derived from hardware or personal information. It is included with telemetry events to enable aggregate analysis. It cannot identify you personally but does allow us to understand usage patterns across sessions.
70-70: Wrap bare URL in markdown link syntax. For better markdown rendering, wrap the URL in brackets.- We use **Google Analytics 4** to process telemetry data. Data is sent securely via HTTPS to Google's servers. Google's privacy policy applies to their processing of this data: https://policies.google.com/privacy + We use **Google Analytics 4** to process telemetry data. Data is sent securely via HTTPS to Google's servers. Google's privacy policy applies to their processing of this data: <https://policies.google.com/privacy>
102-108: Use markdown heading for "Option 2" instead of emphasis. For consistency with "Option 1" style and better document structure, convert bold emphasis to a proper markdown heading.The AI will update your configuration automatically. -**Option 2: Manual configuration** +### Option 2: Manual configuration 1. Edit your configuration file at `~/.desktop-commander/config.json`
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
PRIVACY.md(3 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
PRIVACY.md
15-15: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
16-16: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
70-70: Bare URL used
(MD034, no-bare-urls)
108-108: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
🔇 Additional comments (4)
PRIVACY.md (4)
7-9: Clear opt-out disclosure in opening. The updated introduction effectively communicates the opt-out model upfront, which improves transparency for users.
13-16: Terminology update to "Pseudonymous Client ID" is more accurate. The distinction between pseudonymous and anonymous is technically correct and important for GDPR compliance, and the expanded purpose statement clarifies the UUID's role in MAU and retention metrics.
98-113: Comprehensive opt-out instructions with both AI and manual options. The dual approach (AI-assisted and manual configuration) provides good flexibility. The clarification on line 113 about the UUID remaining in config is appropriate transparency.
119-130: Comprehensive changelog improves transparency. The addition of a structured changelog with detailed change summaries for each version is a best practice for privacy policy updates and helps users understand what changed.
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.
Actionable comments posted: 0
🧹 Nitpick comments (4)
PRIVACY.md (4)
16-19: Fix markdown list indentation formatting.Lines 18–19 have inconsistent indentation (4 spaces instead of 2), which violates markdown linting rules (MD007). While semantically correct, standardize the indentation for consistency with markdown conventions.
Apply this diff to align list indentation:
#### Pseudonymous Client ID - **Client ID**: A randomly generated UUID that persists between sessions. - - **Purpose**: Used to calculate monthly active users (MAU), retention metrics, and understand usage patterns over time. - - **Privacy Design**: This ID is not derived from hardware or personal information. It is included with telemetry events to enable aggregate analysis. It cannot identify you personally but does allow us to understand usage patterns across sessions. + - **Purpose**: Used to calculate monthly active users (MAU), retention metrics, and understand usage patterns over time. + - **Privacy Design**: This ID is not derived from hardware or personal information. It is included with telemetry events to enable aggregate analysis. It cannot identify you personally but does allow us to understand usage patterns across sessions.
71-73: Wrap bare URL in markdown link syntax.The Analytics Provider section appropriately discloses Google Analytics 4 usage, but the URL on line 73 should be formatted as a proper markdown link rather than displayed as bare text (MD034 violation).
Apply this diff to format the URL:
## Analytics Provider -We use **Google Analytics 4** to process telemetry data. Data is sent securely via HTTPS to Google's servers. Google's privacy policy applies to their processing of this data: https://policies.google.com/privacy +We use **Google Analytics 4** to process telemetry data. Data is sent securely via HTTPS to Google's servers. Google's privacy policy applies to their processing of this data: [Google Privacy Policy](https://policies.google.com/privacy)
105-109: Clarify AI-assisted opt-out instruction for better user guidance.The AI-assisted opt-out option is a useful addition, but the example on line 107 could be more natural and user-friendly. The phrasing "Please disable Desktop Commander telemetryEnabled in config" sounds somewhat technical. Consider rewording to be more conversational.
Apply this diff to improve clarity:
**Option 1: Ask the AI** Simply ask Claude (or your AI assistant) to disable telemetry: -> "Please disable telemetry in Desktop Commander" +> "Please disable telemetry in Desktop Commander"
111-116: Use heading syntax instead of emphasis for section heading.Line 111 uses bold emphasis (Option 2: Manual configuration) instead of markdown heading syntax, which violates MD036. Use a heading level (###) for consistency with Option 1 and overall document structure.
Apply this diff to fix the markdown violation:
The AI will update your configuration automatically. -**Option 2: Manual configuration** +### Option 2: Manual configuration + 1. Edit your configuration file at `~/.desktop-commander/config.json`
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
PRIVACY.md(3 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
PRIVACY.md
18-18: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
19-19: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
73-73: Bare URL used
(MD034, no-bare-urls)
111-111: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
🔇 Additional comments (7)
PRIVACY.md (7)
7-12: Clear and privacy-focused introduction to data practices.The revised intro effectively establishes the opt-out model and sets accurate expectations around data minimization and pseudonymous identifiers. The GDPR reference adds appropriate legal context.
21-50: Well-structured telemetry fields with appropriate privacy safeguards.The expanded telemetry field documentation clearly distinguishes between what is collected and emphasizes privacy protections (e.g., sanitized container names, base command names without arguments, file sizes instead of file contents). The additions of client information, installation method, container metadata, and file sizes provide needed transparency.
52-69: Transparent error and IP handling disclosure.The expanded Error Information section clearly communicates what error data is collected with appropriate sanitization guarantees. The new IP Addresses subsection accurately explains that while Google Analytics receives IPs via standard HTTPS, they are anonymized before storage. This transparency supports user trust.
75-95: Comprehensive and transparent privacy safeguards.The expanded Data Usage and Privacy Protection sections clearly articulate the organization's commitment to security (HTTPS, sanitization) and data minimization. The consistent reference to config file paths and UUID lifecycle reinforces transparency around how data is stored and controlled locally.
118-120: Well-articulated GDPR legal basis.The Legal Basis section appropriately explains the legitimate interest legal basis (GDPR Article 6(1)(f)) while acknowledging that pseudonymous data is still personal data under GDPR. The emphasis on sanitization and data minimization demonstrates proportionality.
122-133: Excellent addition of policy change tracking.The new "Changes to This Policy" section and Changelog demonstrate transparency and accountability. The changelog entries are detailed and accurate, making it easy for users to understand what evolved between versions. This is a privacy best practice.
135-141: Consistent and complete policy documentation.The Contact section and Last Updated timestamp provide necessary closure. The December 8, 2025 date is consistent with the changelog and changelog entries.
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.
Actionable comments posted: 1
🧹 Nitpick comments (4)
PRIVACY.md (4)
18-19: Fix markdown list indentation.Markdown linting requires 2-space indentation for nested list items, but the sub-bullets use 4 spaces. This is a minor style issue but should be corrected for consistency.
Apply this diff to fix the indentation:
- **Client ID**: A randomly generated UUID that persists between sessions. - - **Purpose**: Used to calculate monthly active users (MAU), retention metrics, and understand usage patterns over time. - - **Privacy Design**: This ID is not derived from hardware or personal information. It is included with telemetry events to enable aggregate analysis. It cannot identify you personally but does allow us to understand usage patterns across sessions. + - **Purpose**: Used to calculate monthly active users (MAU), retention metrics, and understand usage patterns over time. + - **Privacy Design**: This ID is not derived from hardware or personal information. It is included with telemetry events to enable aggregate analysis. It cannot identify you personally but does allow us to understand usage patterns across sessions.
69-69: Verify Google Analytics 4 IP anonymization behavior and fix bare URL formatting.The statement that GA4 "automatically truncates/anonymizes IP addresses" is important for privacy claims and should be verified against current GA4 documentation. Additionally, line 73 has a bare URL that should be wrapped in markdown link syntax for consistency and accessibility.
Please verify the IP anonymization behavior by searching for the latest Google Analytics 4 documentation. Apply this diff to fix the bare URL:
-We use **Google Analytics 4** to process telemetry data. Data is sent securely via HTTPS to Google's servers. Google's privacy policy applies to their processing of this data: https://policies.google.com/privacy +We use **Google Analytics 4** to process telemetry data. Data is sent securely via HTTPS to Google's servers. Google's privacy policy applies to their processing of this data: [https://policies.google.com/privacy](https://policies.google.com/privacy)Also applies to: 73-73
111-111: Consider using headings instead of bold for "Option 1" and "Option 2".The instructions use bold emphasis (Option 1: and Option 2:) which, while functional, are flagged by markdown linting (MD036) as emphasis used instead of a heading. Converting these to level 4 headings would be more semantically correct.
Apply this diff to convert to headings:
-**Option 1: Ask the AI** +#### Option 1: Ask the AIAnd similarly for Option 2 on the next section.
145-145: Verify the privacy contact email address is actively monitored and fix bare URL formatting.Two concerns:
- The email address
legal@desktopcommander.appappears in lines 145 and 165 as the primary contact for privacy requests and legal matters. Ensure this email is actively monitored and can meet the 30-day response commitment.- Bare URLs should be wrapped in markdown link syntax for consistency and accessibility.
Apply this diff to improve formatting:
-To request access to or deletion of your data, contact legal@desktopcommander.app with your client ID (UUID). +To request access to or deletion of your data, contact [legal@desktopcommander.app](mailto:legal@desktopcommander.app) with your client ID (UUID).And:
-- **General questions:** Open an issue on our [GitHub repository](https://github.com/wonderwhy-er/DesktopCommanderMCP) -- **Privacy concerns or legal matters:** legal@desktopcommander.app +- **General questions:** Open an issue on our [GitHub repository](https://github.com/wonderwhy-er/DesktopCommanderMCP) +- **Privacy concerns or legal matters:** [legal@desktopcommander.app](mailto:legal@desktopcommander.app)Also applies to: 165-165
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
PRIVACY.md(3 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
PRIVACY.md
18-18: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
19-19: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
73-73: Bare URL used
(MD034, no-bare-urls)
111-111: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
145-145: Bare URL used
(MD034, no-bare-urls)
165-165: Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (5)
PRIVACY.md (5)
7-19: Excellent clarity on opt-out model and pseudonymous design.The explicit opt-out messaging and clear explanation of how the pseudonymous UUID enables analytics while protecting privacy is well done. The terminology change from "Anonymous" to "Pseudonymous" is legally more accurate for GDPR compliance.
21-56: Well-documented telemetry fields with clear privacy safeguards.The expanded telemetry field documentation is comprehensive and properly emphasizes sanitization (e.g., container names stripped of unique identifiers, error messages with paths removed). Field categories are logical and the addition of client info, container metadata, and file sizes provides necessary detail for product analytics.
99-99: Verify the 14-month data retention period.The stated retention period should be verified to ensure it aligns with Google Analytics 4's actual default configuration and any applicable regulatory requirements (GDPR, CCPA, etc.).
Please search for the latest Google Analytics 4 documentation to confirm the default data retention period and verify this matches the stated 14 months.
122-133: Excellent addition of Changelog and updated policy date.The new Changelog section provides transparency about policy changes and versions, which is good practice for privacy-sensitive documents. The two entries are clear and the December 8, 2025 update date is current.
Also applies to: 169-169
75-85: Clear and appropriate data usage disclosures.The expanded data usage section appropriately describes how collected telemetry is used for product improvement, with new items for retention/engagement metrics and user experience aligned with the broader policy changes.
| 1. Edit your configuration file at `~/.claude-server-commander/config.json` | ||
| **Option 1: Ask the AI** | ||
| Simply ask Claude (or your AI assistant) to disable telemetry: | ||
| > "Please disable Desktop Commander telemetryEnabled in config" |
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.
Improve the clarity of the AI prompt suggestion.
The suggested prompt on line 107 has awkward wording. "telemetryEnabled" appears to be a code variable name, not part of natural language. Consider rephrasing to be more natural and less technical.
Apply this diff to improve clarity:
-Simply ask Claude (or your AI assistant) to disable telemetry:
-> "Please disable Desktop Commander telemetryEnabled in config"
+Simply ask Claude (or your AI assistant) to disable telemetry:
+> "Please disable telemetry for Desktop Commander"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| > "Please disable Desktop Commander telemetryEnabled in config" | |
| Simply ask Claude (or your AI assistant) to disable telemetry: | |
| > "Please disable telemetry for Desktop Commander" |
🤖 Prompt for AI Agents
In PRIVACY.md around line 107, the suggested prompt uses the code-style token
"telemetryEnabled" which reads awkwardly and is too technical; replace it with a
natural-language instruction such as "Please disable Desktop Commander telemetry
in the configuration" or "Please disable the 'telemetryEnabled' setting for
Desktop Commander in the configuration" so the prompt is clearer and more
user-friendly.
|
CodeAnt AI is running Incremental review Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
Why This Change?
Review after user feedback revealed our privacy policy had inaccuracies:
No changes to actual telemetry collection — this PR makes the policy match reality, be more transparent and aligned with laws in various jurisdictions
Key Changes
Files Changed
PRIVACY.md— Major rewrite for accuracyREADME.md— Simplified to 5 lines + link to PRIVACY.mdSummary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.