Part of the centralized-monorepo plan: the whole secure stack lives in sccn/secureLSL.
Scope
Bring the security-enabled pylsl binding in as a component (e.g. bindings/pylsl/ or apps/pylsl/).
Current state: neuromechanist/pylsl, branch feature/secure-lsl-support, two commits on top of upstream.
Measured diff vs upstream: 170 insertions across 4 files, zero references to sodium/ChaCha/Ed25519.
The change is ctypes signature declarations plus two properties (security_enabled, security_fingerprint) calling public liblsl C functions, already wrapped in try/except AttributeError with _security_api_available flags so it degrades to a no-op on stock liblsl.
Tasks
Note
The integration contains no cryptography, so the proprietary scope should cover the added code, not the vendored upstream binding.
Part of the centralized-monorepo plan: the whole secure stack lives in
sccn/secureLSL.Scope
Bring the security-enabled pylsl binding in as a component (e.g.
bindings/pylsl/orapps/pylsl/).Current state:
neuromechanist/pylsl, branchfeature/secure-lsl-support, two commits on top of upstream.Measured diff vs upstream: 170 insertions across 4 files, zero references to sodium/ChaCha/Ed25519.
The change is ctypes signature declarations plus two properties (
security_enabled,security_fingerprint) calling public liblsl C functions, already wrapped intry/except AttributeErrorwith_security_api_availableflags so it degrades to a no-op on stock liblsl.Tasks
THIRD-PARTY-NOTICES.md(blocked on Include verbatim third-party license notices #6 / Include verbatim third-party license notices #7)docs/integration/pylsl.mdcovering the security API surface and graceful degradationNote
The integration contains no cryptography, so the proprietary scope should cover the added code, not the vendored upstream binding.