[{"data":1,"prerenderedAt":9},["ShallowReactive",2],{"document-en-privacy":3},{"slug":4,"label":5,"description":6,"text":7,"plain":8},"privacy","Privacy Policy","Local data, activation requests, diagnostics, and privacy.","# Privacy Policy\n\n**Version date: October 13, 2026**\n\n**BetterOne** (“we”) values your privacy. This policy describes information **BetterOne Console Server** (“Software”) may process during use, license activation, website access, and technical support, and the purposes of that processing. [Chinese edition](..\u002Fcn\u002FPRIVACY_POLICY.md).\n\n## 1. Principles\n\n**Process only information reasonably necessary to provide the Software, activation, license management, security maintenance, and user support.**\n\nThe main functions run on your own computer, server, Raspberry Pi, or other deployed device. The Software does not automatically upload configuration, accounts, logs, or serial communication to us, and does not periodically validate licenses online in the background.\n\nOnly administrator-initiated online activation, renewal checks, and renewal-code redemption contact the licensing server, as described in section 3. Remote client connections, support material you submit, and proxies or monitoring tools you deploy must be understood according to their actual purposes.\n\n## 2. Information processed locally\n\nThe Software processes serial names, COM or `\u002Fdev\u002Ftty*` identifiers, USB VID\u002FPID, serial numbers and topology, listening addresses, serial parameters, protocol switches, connection state, and diagnostics for discovery, binding, forwarding, and troubleshooting.\n\nSQLite stores console settings, accounts, roles, enabled state, login and password-change times, session versions, API key verification data, and audit records. Passwords are stored as salted Argon2id hashes. API keys are stored as verification HMAC data; plaintext is returned only once at creation. Deployment settings contain a session encryption key and API key pepper and require restricted access and proper backup.\n\nThese local data are controlled by the deployer and are not automatically sent to BetterOne.\n\nAn administrator may generate “System diagnostics” for support. This report is **not redacted**: it includes hostname, process username, paths, **raw device identifiers (motherboard UUID, CPU serial, OS installation ID, and generated UUID)**, serial and USB serial numbers, listening addresses, configuration summaries, and recent logs. Logs may contain client IP addresses, device names, and error details. It excludes user passwords, API keys, session encryption keys, API key pepper, and SSH host private keys.\n\nCollection occurs only after the administrator requests it and confirms the privacy warning. The dialog and report explain that it is for troubleshooting. It is not uploaded automatically; the user decides whether to copy and send it. Each generation is audited without saving the report content. Its heading includes the audit record's request ID so the creator and time can be traced if disclosed. Do not send a report together with a license file. Reports we receive are used only to diagnose and resolve the reported issue.\n\n## 3. Licensing and network requests\n\nLicenses are verified and stored locally, without periodic background online verification. Administrator-initiated activation, renewal checks, or renewal-code redemption contact the `license_server` in `settings.toml`. An empty value disables licensing-server requests.\n\nLicense files contain license ID, logical serial capacity, salted hashes of hardware, installation and generated identity (hardware or installation may be absent), maintenance date, and signature information. They do not contain raw UUIDs, CPU serials, or installation IDs. The Software reads these fields to evaluate licensing; authenticated requests may query details, while anonymous endpoints expose only a limited summary.\n\nActivation sends the entered code, device identity hashes, hostname, operating system and architecture (for example `linux\u002Farm64`), and version to issue and bind a license, identify the device, and enforce seat limits. Renewal checks send the current license file and identity hashes. Renewal-code redemption additionally sends the entered renewal code. The server returns a signed license file. Activation codes are not stored on the device.\n\nFor emailed license or support requests, BetterOne receives the order and contact information you voluntarily provide, and an offline activation request where applicable. Offline requests include the activation code, identity hashes, hostname, version, nonce, and creation time. You transfer them yourself; the Software does not automatically send them.\n\n## 4. Device identifiers\n\nDevice identity has three sources: a motherboard identifier (SMBIOS UUID on Windows; DMI UUID on Linux with CPU serial fallback; CPU serial on Raspberry Pi), an OS installation ID (Windows `MachineGuid` or Linux `machine-id`), and a UUID generated at first installation and saved in configuration and a machine-level file.\n\nEach source is normalized and hashed with the product salt using SHA-256 for local matching and activation. Activation also sends hostname for human identification and operating system\u002Farchitecture. Hostname does not participate in identity matching.\n\nRaw identifiers are **not sent to the licensing server**. License files and activation requests contain hashes, and normal or anonymous endpoints do not return raw identifiers. **System diagnostics is the exception:** an administrator-initiated, unredacted report can include them. It is not uploaded automatically. Send it only to the support staff you contacted and do not publish it. Hashes are available only to authenticated requests and remain identifying information; do not treat them as anonymous data.\n\nThe server may use identity hashes to issue, verify, or migrate licenses and enforce device counts. They are not used for advertising profiles.\n\n## 5. Offline activation and manual import\n\nAn offline device can generate a request for upload to our website from a connected computer and import the resulting license. Alternatively, you may provide orders and necessary contact information by email or an agreed channel for a signed license. Local verification does not make an offline device send network data automatically.\n\nEvery generated request has a new nonce. A request file can be successfully redeemed only once.\n\n## 6. Serial and terminal data\n\nThe Software forwards commands, output, and business byte streams between serial equipment and authorized clients. It currently has no built-in terminal-session recording or persistent storage of terminal bodies. Auditing excludes terminal payloads; necessary forwarding buffers exist in memory during operation.\n\nTerminal contents are not uploaded to BetterOne for commercial licensing. Connected clients receive serial data in their sessions. Separate terminal tools, proxies, or monitors may record it according to their own configuration and policies.\n\nScreenshots, logs, configuration, or terminal contents you voluntarily provide for support are processed only to analyze and resolve the issue. Remove passwords, keys, tokens, and unnecessary business information before submitting them.\n\n## 7. Support\n\nSupport may process names or contact names, company names, email addresses, orders, license keys, Software and OS versions, error logs, crash information, screenshots, configuration and diagnostics you supply, and issue-related correspondence.\n\nThese are used to verify identity or licensing, diagnose problems, respond to support requests, and improve stability.\n\n## 8. Purchases\n\nPayment platforms, sales platforms, or application stores may handle payment and process names, email, addresses, cards, payment accounts, tax information, and orders.\n\nWe generally receive only information needed to fulfill orders and licenses, such as order number, product, payment status, customer name and email, country\u002Fregion, purchase time, and refund status. Full card numbers and security codes are normally handled by payment providers rather than stored by this Software. Platform processing is also governed by its own privacy policy.\n\n## 9. Local logs and audits\n\nThe local audit database records Web login results, sensitive writes, and SSH authentication results, including UTC time, operation, actor identity and role, source IP, request ID, target, and result. Web operations include HTTP status. Source IP is the actual connection address and may be a proxy address.\n\nAudits exclude passwords, cookies, plaintext API keys, raw license files and signatures, request\u002Fresponse bodies, terminal contents, and before\u002Fafter configuration differences. Normal reads, state polling, and WebSocket ticket issuance do not generate audit writes.\n\nApplication logs may contain startup, listener, device and error diagnostics, and console connections: console number, protocol, client IP\u002Fport, authenticated username, duration, and disconnection or refusal reason. Connections are logged only to application logs, not the database or audit table, without serial payloads. Repeated refusals for the same client and reason are rate-limited. Deployers manage log retention, rotation, and access.\n\nThese logs reside in your environment and are not automatically uploaded to BetterOne. There is no automatic activation-log reporting or telemetry service. GitHub, email, and sales-channel platform logs are governed by those platforms.\n\n## 10. Uses we do not make\n\nUnless clearly disclosed and appropriately authorized in the future, information obtained through licensing will not be used to sell personal or device information, build advertising profiles from serial communications, provide terminal contents to advertisers, monitor console sessions without authorization, or obtain data from managed equipment without authorization.\n\n## 11. Sharing\n\nWe do not sell personal information. Necessary information may be shared in the following circumstances.\n\n### Service providers\n\nPossible provider types include payment, cloud hosting, email, error monitoring, or security services. This list does not imply the current Software contains cloud crash-reporting, licensing, or payment SDKs. Before purchase or support submission, the actual channel should identify providers and data processed. Providers should handle only data necessary for their service.\n\n### Legal requirements\n\nWe may disclose information within the scope required by applicable law, courts, regulators, or other legally authorized authorities.\n\n### Business transactions\n\nIn a merger, acquisition, restructuring, or asset transfer, relevant data may transfer with the business and remain subject to applicable data-protection obligations.\n\n## 12. Retention and deletion\n\nWhen new events are written, local SQLite audit records are cleaned in hourly batches, retaining at most 100,000 entries from the last 90 days. Counts can temporarily exceed that cap between cleanups. Retention relies on the deployed host's clock; incorrect time can affect results. There is no API for modifying or deleting individual audit entries.\n\nAccounts, settings, API key verification data, and licenses have no uniform automatic expiry\u002Fdeletion schedule. Administrators may delete accounts or keys through their functions; deployers manage other files, logs, and backups. Account deletion does not delete existing audit entries or backups.\n\nBetterOne receives only license requests, orders, and support material voluntarily submitted. License delivery records support verification of purchased rights, reissue, and migration. Support records are retained to resolve open issues and related follow-up, not to keep complete terminal content for unrelated purposes. When verification or issue handling is no longer needed and no unresolved dispute or legal retention duty exists, relevant material should be deleted or de-identified.\n\nFinancial retention requirements and sales\u002Fsupport record arrangements should be disclosed before purchase or submission. Contact the listed email to ask about retention or request deletion. Reasons will be explained for information retained by law or for unresolved matters.\n\n## 13. Security\n\nWe take reasonable technical and organizational measures, such as protecting actual communication channels, access controls, server restrictions, security updates, and necessary logs and anomaly monitoring.\n\nDefault HTTP\u002FWS is not HTTPS\u002FWSS. Raw TCP and Telnet lack application authentication and encryption. Deployers should use SSH, network isolation, or configured TLS and restrict access to databases, configuration, keys, and backups.\n\nNo computer or Internet system is absolutely secure; we cannot guarantee 100% security for electronic transmission or storage.\n\n## 14. Local deployment\n\nMain functions can run in your own equipment and networks. Accounts, serial connections, device state, terminal communication, and local settings are normally processed by your systems. You are responsible for internal accounts, employee permissions, and data protection.\n\n## 15. Organizational users\n\nOrganizations manage accounts, authorizations, employee notices, and local data protection. The Software records the described operation\u002Fauthentication audits but has no terminal-body recording function.\n\nIf an organization records sessions using clients, proxies, or other tools, it must notify relevant personnel and comply with applicable rules. Those capabilities are not built-in Software functions. Manage logs, backups, and file permissions accordingly.\n\n## 16. User rights\n\nApplicable data-protection law may provide rights to access, correct, delete, or restrict processing of personal information. Submit requests through the contact below. We may reasonably verify the requester's identity and relationship to the data before handling a request.\n\n## 17. Minors\n\nThe Software is a professional tool for computing, networking, device management, and organizational applications, not specifically designed for children. Follow local requirements for guardian permission where applicable.\n\n## 18. Third-party links and services\n\nThe Software or website may link to third-party websites, payment services, download platforms, or other services. They operate independently and process data under their own policies.\n\n## 19. Changes\n\nChanges in features, licensing, payment methods, law, or infrastructure may lead to policy updates. Material changes will be announced through the website, interface, or other appropriate channels.\n\n## 20. Contact\n\nDeveloper: **BetterOne**\n\nOfficial website: **https:\u002F\u002Fgithub.com\u002Fbetter-one-top\u002Fserial-console-server**\n\nPrivacy and support email: **betterone-top@hotmail.com**\n\n\u003C!-- Pre-release legal review note translated from the Chinese source: verify notices and consent, retention, cross-border transfers, diagnostic use, and external commitments against applicable law and actual business practices. -->\n",false,1792221811926]