- Updated session control mechanisms to ensure proper handling of remote input and clipboard operations. - Introduced session authorization checks to validate operator permissions before starting desktop sessions. - Improved input injection logic to prevent unauthorized access during active sessions. - Added new capabilities for managing session flags and controls, ensuring a more robust and secure desktop experience. - Enhanced error handling and logging for better traceability of session-related actions.
4.1 KiB
Support Agent compatibility provenance
Status
Release gate — verification required. BetterDesk Support Agent is a BetterDesk product. Its stock desktop-client compatibility surface must not be described as a fork, clone, independently licensable component, or clean-room implementation until this register and its supporting evidence have been reviewed.
This is a technical provenance process, not legal advice. Licensing, trademarks, patents, and contributor rights require qualified legal review.
Scope
The review covers:
betterdesk-support-agent/signalhost/and its replacement compatibility adapter;betterdesk-server/protos/,web-nodejs/protos/, and generated artifacts;- compatibility framing, cryptography, generated client configuration, and test fixtures;
- branded Support Agent binaries and their third-party notices.
It explicitly does not treat a protocol name, port number, or observed interoperability behavior as proof that an implementation is independently authored.
Required evidence
Before a compatibility release:
- Record the author, date, source-of-truth specification, and review status for every compatibility module and protocol schema.
- Compare the current four protocol-schema copies with the relevant external releases and retain the comparison result for counsel. A documented historic instruction to copy a schema is an audit trigger, not evidence that a current file is safe to relicence.
- If provenance cannot be demonstrated, replace the affected code or schema from a new BetterDesk specification. Do not use cosmetic renaming or formatting changes as remediation.
- Publish an SBOM and
THIRD_PARTY_NOTICESfor every distributable artifact, including bundled codec, UI, and vendor components. - Document the result in the release record before making clean-room or licensing claims.
Clean-room workflow
The implementation uses two deliberately separated inputs:
- A specification role records only public standards and black-box observations made against stock clients: packet captures, externally observable state transitions, public port layout, and independently written test vectors.
- An implementation role receives the BetterDesk specification and those vectors, not external source code, generated artifacts, copied comments, or source-derived test files.
The specification is versioned. Every new wire feature identifies the specification revision and an independently generated test vector.
Architecture boundary
Support Agent has a native BetterDesk session core. Any desktop-client wire compatibility lives behind an explicitly named compatibility adapter with a narrow API:
Compatibility adapter -> Session authorizer -> Passive session core -> Platform services
The adapter may never create a user-facing external-client UI, an outbound connection workflow, or a privilege bypass. It receives a server-authorized, short-lived session grant and can only open an inbound target-side session.
Until the replacement adapter has passed this gate, signalhost is an audited
legacy compatibility surface. It must not become a licensing boundary by
assertion alone.
Schema rules
betterdesk-server/protos/is the current canonical BetterDesk-owned schema source.web-nodejs/protos/is a committed runtime artifact generated bynpm run protocols:sync, never a second source.- Generated Go and browser artifacts are checked for drift in CI.
- Any legacy
hbbmapping is confined to the protocol edge. New application packages, APIs, and documentation use BetterDesk names. - Schema changes require a compatibility test and a provenance entry.
Repository safeguards
npm run check:provenance verifies that active design documentation no longer
contains prohibited copy instructions and that this register is present. It is
a guardrail, not a replacement for source review or legal review.
New code and documentation must not add direct external-source imports, upstream clone/build instructions, or copied protocol artifacts outside an explicitly approved compatibility test fixture with attribution and notice.