Files
BetterDesk/docs/important/support-agent-provenance.md
UNITRONIX ed96e94806 refactor(agent): enhance session management and input handling
- 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.
2026-08-06 00:50:02 +02:00

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:

  1. Record the author, date, source-of-truth specification, and review status for every compatibility module and protocol schema.
  2. 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.
  3. 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.
  4. Publish an SBOM and THIRD_PARTY_NOTICES for every distributable artifact, including bundled codec, UI, and vendor components.
  5. Document the result in the release record before making clean-room or licensing claims.

Clean-room workflow

The implementation uses two deliberately separated inputs:

  1. 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.
  2. 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 by npm run protocols:sync, never a second source.
  • Generated Go and browser artifacts are checked for drift in CI.
  • Any legacy hbb mapping 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.