Overview
This article contains the Syniti Knowledge Platform (SKP) Connector Security and Requirements information. The following documentation is also available for the SKP Connector:
What Is the SKP Connector?
The SKP Connector is an on-premise service that maintains outbound WebSocket connections to the Syniti Gateway and uses those connections to carry multiplexed TCP streams to approved customer-side services such as databases and applications. The connector is installed inside the customer network and initiates all cloud connectivity itself.
The SKP Connector provides a secure and seamless way to establish and maintain connectivity between remote networks and SKP (see Figure 1).

Figure 1: High Level Architecture
At a high level, the runtime flow is:
The connector starts on a customer-managed Linux or Windows server.
The connector opens a secure WebSocket connection to the Syniti Gateway.
The connector authenticates with its assigned connector credentials.
The Gateway reuses that WebSocket session to request logical TCP tunnels.
The connector opens outbound TCP connections to the requested customer-side targets and forwards traffic over binary WebSocket frames.
The transport is an application-layer tunnel carried over secure WebSocket connections.
Why Did Syniti Create the SKP Connector?
Syniti created the SKP Connector to enable secure connectivity between Syniti Platform and customer-managed systems that are not exposed directly to the internet. Many SKP use cases require access to internal databases, APIs, and other services that remain inside the customer network boundary. The connector addresses that requirement by running inside the customer environment and establishing a secure outbound connection to Syniti, avoiding the need for inbound internet-facing access into customer systems.
The SKP Connector was also designed to align with standard enterprise security and deployment practices. It allows connectivity to be limited to the specific internal hosts and ports required for approved SKP workflows, while remaining subject to the customer’s existing network segmentation, monitoring, hardening, and credential-management controls. In practical terms, the connector provides a controlled way to extend Syniti Platform connectivity into protected customer environments without requiring customers to weaken their existing security posture.

As shown in the above diagram, the SKP sends commands and queries to the SKP Connector. These commands include instructions such as RESTful API calls to local services and data quality queries.
The key to successful processing via the SKP Connector is that, from the SKP Connector instance itself, communication pathways are open to the data storage and processing systems that will be scanned for metadata, queried for data quality concerns, used to execute data migrations, and integrated with the SKP.
SKP Connector Changes: WireGuard to WebSocket
The following is an explanation of changes between the legacy WireGuard-based SKP Connector and the current WebSocket-based SKP Connector. It is intended to support migration planning, customer communication, and eventual retirement of the older connector. The WebSocket-based SKP Connector uses enhanced security technologies, standard networking (IPv4), includes easy update capabilities, and boasts a better performance and experience.
The major change is a shift from a VPN-style WireGuard transport to an application-layer WebSocket tunnel. This changes installation, authentication, network requirements, and customer guidance, while preserving the core goal of secure outbound connectivity from customer-managed environments to Syniti workflows.
Purpose
The legacy connector and the current connector solve the same high-level problem: secure connectivity from Syniti services to customer-managed systems without requiring customer-side services to be exposed directly to the public internet.
What changed is the transport and operating model used to provide that connectivity.
Executive Summary
The legacy connector relied on a WireGuard-based VPN model. The current connector relies on secure outbound WebSocket connections to the Syniti Gateway and multiplexes TCP streams inside those WebSocket sessions.
The practical result is:
no WireGuard interface,
no UDP tunnel to Syniti,
no VPN key exchange workflow,
a simpler outbound network requirement based on HTTPS/WSS, and
connector registration based on a Syniti-issued connector key.
Side-by-Side Comparison
Area | Legacy Connector | Current Connector |
|---|---|---|
Primary transport | WireGuard VPN tunnel | WebSocket Secure Session |
Cloud connectivity | TLS for control plane plus WireGuard for data plane | TLS/WSS for control and tunneled data |
Main outbound protocol | TCP 443 and UDP WireGuard traffic | TCP 443 for HTTPS/WSS |
Tunnel model | Network-layer VPN tunnel | Application-layer TCP multiplexing over binary WebSocket frames |
Identity/bootstrap | Register WireGuard public key and retrieve VPN configuration | Use the connector key generated in SKP during connector registration |
Authentication | WireGuard peer and control-plane configuration workflow | HMAC-based shared-secret authentication with tenant binding and timestamp validation |
Customer host networking | WireGuard interface plus local proxy/services bound around that model | Outbound WebSocket sessions plus outbound TCP to target systems |
Syniti-initiated access path | Encapsulated inside the VPN tunnel | Reuses connector-initiated WebSocket session |
Operational dependency | WireGuard configuration, VPN endpoints, UDP allowance | Gateway URL, local config, WSS allowance |
What Was Removed
The current connector removes several concepts that were specific to the legacy design:
WireGuard interface creation on the connector host.
WireGuard public/private key management as the primary connectivity primitive.
Syniti-controlled VPN peer configuration distribution.
UDP-based tunnel establishment to WireGuard edge nodes.
Network documentation centered on VPN tunnel addresses and WireGuard listener behavior.
What Was Introduced
The current connector introduces a new operating model centered on a persistent WebSocket connection pool.
Key additions are:
connector key bootstrap through the key generated in SKP during connector registration,
hash-based authentication using a timestamp and shared secret,
standby WebSocket sessions that can be reused for future work,
connector-managed heartbeat traffic to keep the gateway session alive, and
package-driven service configuration in the
config.yamlfile.
Networking Changes
Legacy Model
The legacy connector required a mixed network profile:
outbound TLS for control-plane requests,
outbound UDP for WireGuard tunnel establishment,
and traffic encapsulated inside the VPN tunnel for Syniti-driven operations.
This meant customer reviews typically focused on WireGuard ports, edge IP ranges, tunnel addresses, and VPN interface behavior.
Current Model
The current connector simplifies the external network profile:
outbound HTTPS/WSS to the Syniti Gateway,
outbound TCP from the connector to approved internal targets,
and optional restricted local API access for support and operations.
There is no Syniti-facing UDP requirement in the current model.
Installation and Bootstrap Changes
Legacy Model
The legacy connector documentation focused on package installation plus a registration flow that ultimately produced and consumed WireGuard configuration.
Current Model
The current connector is installed as a standard service and configured directly with a connector key generated in SKP.
This shifts customer onboarding away from VPN configuration concepts and toward a simpler service installation and connector-based bootstrap flow.
Authentication Changes
Legacy Model
The legacy connector centered trust on the VPN peer model and control-plane configuration used to establish the WireGuard session.
Current Model
The current connector uses a SHA-256 hash derived from tenant-specific, time-bound connector secret material during WebSocket connection establishment. The secret itself is not sent directly over the wire.
Runtime Behavior Changes
Legacy Model
The legacy connector maintained a VPN-based communication path and then exposed the needed local services or proxies through that model.
Current Model
The current connector maintains outbound WebSocket connectivity to the Syniti Gateway and uses that connection to broker access to approved customer-side targets when needed.
This is a narrower, application-level tunneling model rather than a general VPN construct.
Architecture Summary
The main components are:
Connector—customer-side service installed in the customer network
Gateway—Syniti cloud-side service that accepts WebSocket connector sessions and TCP client traffic
SKP Workloads—Syniti services that request tunneled access to customer-side systems
Security Model
Security is a fundamental consideration for all software written at Syniti and the SKP Connector is no exception. A core design principle of this system is that Syniti prioritizes confidentiality and integrity over availability when these tenets of the CIA triad come into conflict. If the system cannot operate securely, it must never revert to some less secure mode of operation to maintain availability; in such situations Syniti would expect to compromise availability to maintain confidentiality and integrity of the data and systems it can access.
Encrypted Communication
All cloud communication between the connector and Syniti is carried over TLS-protected HTTPS/WSS sessions. The connector establishes outbound secure WebSocket connections to the Syniti Gateway and keeps them alive with heartbeat traffic.
Certificate validation relies on the operating system and platform trust store behavior for the target wss:// endpoint. Customers should validate that this model is compatible with their own endpoint security, egress, proxy, and inspection requirements in the environment where the connector is installed.
Authentication
The connector authenticates each WebSocket connection attempt by using the connector credentials assigned during setup. Those credentials are stored locally on the connector host and should be treated as sensitive configuration.
The current protocol is a shared-secret, one-way connector authentication flow. For each WebSocket connection attempt, the connector sends:
tenant_idconnector_idtimestamphash = HMAC-SHA256(secret, tenant_id + "\n" + connector_id + "\n" + timestamp)
The secret itself is not sent over the wire. The Syniti Platform validates the request by recomputing the expected HMAC from the stored connector secret and comparing the result.
Replay protection is based on the timestamp included in the HMAC input. The Syniti Platform enforces a configurable timestamp validation window, with a default window of 5 minutes. This is not mutual authentication at the connector application layer; server authentication is provided by TLS certificate validation for the wss:// endpoint. Failed authentication attempts return an authentication error to the connector and are logged through Syniti Platform service logging and audit paths.
Traffic Scope
The connector does not expose a public listener to the internet for Syniti traffic. Instead, Syniti reuses the outbound connector-initiated WebSocket connection. The connector then creates outbound TCP connections only to customer-side targets needed for SKP use cases.
The connector opens TCP connections to the target address requested by the authenticated Gateway workflow. The effective traffic boundary is enforced primarily through customer-controlled network segmentation, firewall rules, and placement of the connector host. Customers should therefore allow only the exact internal hosts and ports required for the intended SKP use cases.
Customer Control Boundaries
Customers should continue to enforce network segmentation and allow-listing on the connector host. The connector should only be permitted to reach:
Syniti Gateway endpoints over HTTPS/WSS.
Internal databases, APIs, and services that are intentionally in scope for SKP.
Control Plane Trust
The connector provides application-level TCP tunneling for approved SKP connectivity scenarios. The Syniti Gateway can request tunnel establishment to a target address, and the connector responds by opening only the TCP connection needed for that request path.
The connector does not execute shell commands or arbitrary scripts received from Syniti. The main trust boundary is whether the authenticated Syniti control plane is permitted to request a TCP connection to a given customer-side target. If the customer allows the connector host to reach broad internal networks, the connector can be used to reach those destinations through its normal tunneling behavior, so connector placement and egress controls should be treated as the primary restriction on request scope.
Threat Scenarios
When deploying SKP Connector, there are several common threat scenarios that are typically considered. The following scenarios are common considerations when reviewing the security posture of the WebSocket-based SKP Connector.
Threat Scenario 1: An attacker attempts to intercept or spoof Syniti connectivity
The connector establishes outbound HTTPS/WSS connections to Syniti and authenticates with connector credentials assigned during setup.
Recommended mitigations include:
Permit outbound connectivity only to approved Syniti endpoints.
Inspect certificate and TLS policies according to customer security standards.
Protect connector credentials and rotate them through the supported SKP rotation workflow.
Threat Scenario 2: An attacker gains access to the connector host or local configuration
The connector stores sensitive configuration locally, so host compromise could expose connector credentials or allow misuse of the installed service.
Recommended mitigations include:
Restrict administrative access to the connector host.
Apply strict filesystem permissions to the connector configuration.
Use standard host hardening, patching, endpoint protection, and disk-protection controls.
Threat Scenario 3: The connector is allowed to reach more internal systems than intended
The connector can open outbound TCP connections to customer-side targets required by SKP workflows. If network controls are too broad, the connector host may have more reach than necessary.
Recommended mitigations include:
Restrict outbound access from the connector host to approved internal systems and ports only.
Segment connector deployments according to network boundaries when needed.
Avoid exposing unnecessary services on the connector host.
Review connector-related firewall rules regularly as SKP use cases change.
System Requirements
The exact sizing depends on workload volume, concurrency, and the number of scanned or queried systems. At minimum, the deployment should satisfy the following platform requirements.
Supported Operating Systems
The SKP Connector supports both Linux and Windows deployments.
Supported Linux distributions include:
Amazon Linux 2023
Red Hat Enterprise Linux
SUSE Linux Enterprise Server
Ubuntu
Windows deployments are also supported through the Windows installer package provided by Syniti.
Refer to SKP Connector Requirements and Installation for a list of supported versions.
Host Requirements
A customer-managed physical or virtual server running a supported Linux distribution or Windows.
Outbound network access to the Syniti Gateway over HTTPS/WSS.
Outbound network access to in-scope internal data sources.
Sufficient local permissions to install software and manage the connector service.
Standard host hardening appropriate for a network-adjacent integration service.
Software Requirements
For Linux: package manager access for the chosen distribution and
systemdfor service control.For Windows: ability to run the Syniti-provided Windows installer with administrative permissions.
Ability to install the
syniti-connectorsoftware package provided by Syniti.
Detailed Description of SKP Connector Communication
Installation Inputs
The WebSocket connector is configured by using the connector key generated during registration of a new SKP Connector in the SKP Connectors administration page in SKP.
The installation scripts use that generated key to populate the local connector configuration.
Installation Process
The installation process depends on the operating system used for the connector host.
Linux Installation
The simplest Linux installation path is to use the platform-specific install script provided with the Syniti Connector package.
Available scripts include:
syniti_connector_install_al2023.shsyniti_connector_install_ubuntu.shsyniti_connector_install_rhel.shsyniti_connector_install_suse.sh
These scripts perform the following steps:
Add the Syniti package repository.
Install the
syniti-connectorpackage.Stop the service during configuration.
Apply the generated connector key.
Update
/etc/syniti-connector/config.yaml.Enable and start the
syniti-connectorsystemd service.Optionally configure automatic package updates via a systemd timer.
Example for Ubuntu:
chmod +x syniti_connector_install_ubuntu.sh
sudo ./syniti_connector_install_ubuntu.sh \
--key "<connector-key-generated-in-skp>"Example with automatic updates enabled:
sudo ./syniti_connector_install_ubuntu.sh \
--key "<connector-key-generated-in-skp>" \
--enable-auto-update dailyWindows Installation
Windows deployments use the Syniti-provided Windows installer package.
The typical Windows installation flow is:
Obtain the Windows installer package from Syniti.
Run the installer with administrative permissions.
Provide the connector configuration values during setup or update the installed configuration as directed by Syniti.
Start or verify the
syniti-connectorWindows service.
For Windows environments, use the installer and service-management workflow provided with the Syniti package rather than the Linux package repository scripts.
Configuration
The connector reads its configuration from /etc/syniti-connector/config.yaml.
On Windows, the configuration file is stored in the connector installation directory.
Example:
connector:
connector_id: "skc_def456"
tenant_id: "tnt_abc123"
gateway_url: "wss://ws-gateway.syniti.com/ws"
secret: "super-secret-value"
settings:
max_retries: 5
retry_delay_seconds: 10
heartbeat_interval_seconds: 30
standby_websocket_check_seconds: 60
max_standby_websocket_ttl_seconds: 300
websocket_close_timeout_seconds: 3
max_log_file_size_mb: 512
max_backups_log_files: 14
log_level: "info"Configuration Notes
connector.gateway_urlmust be the full WebSocket endpoint, typicallywss://.../ws.connector.secretis sensitive and should be protected with strict filesystem permissions.settings.heartbeat_interval_secondscontrols connector keep-alive traffic to the gateway.
Registration and Connection Lifecycle
Initial Setup
During initial deployment, the operator installs the package, receives the connector key from Syniti, and updates the local configuration.
Service Start
When the service starts:
It validates the YAML configuration.
It opens a WebSocket connection to the Gateway using the configured connector credentials.
It maintains at least one standby WebSocket session for future tunnel work.
It sends heartbeat traffic to keep the session alive.
Usage Phase
When SKP needs access to a customer-side service:
The Gateway selects an available connector WebSocket.
The Gateway requests a connection to the required target address.
The connector opens an outbound TCP connection to that target.
TCP traffic is exchanged through the secure WebSocket session.
When the work finishes, the stream is closed and the WebSocket can return to standby.
Data Handling
The connector is a transport component. It forwards TCP traffic between SKP workloads and customer-side targets over the established tunnel.
The connector does not perform database query execution itself; it forwards application traffic requested through the tunnel. Customer data and query results can traverse the tunnel when an SKP workflow uses the connector to access an in-scope target, but the connector is not intended to persist tunneled payloads as application data at rest. Operational logs and error paths may still contain connection metadata such as target addresses, timestamps, and failure details, so customers should not assume logs are data-free.
Protocols and Networking
The SKP Connector is designed to securely connect on-premises or private network environments to the Syniti Cloud without requiring exposure to the public internet. Its architecture emphasizes outbound-only connectivity, strong network isolation, and flexible deployment across segmented environments.
Network Architecture and Design Principles
The SKP Connector does not require a public IP address, enabling customers to isolate it from direct internet exposure. All communication is initiated outbound from the connector, relying on NAT to handle return traffic. This design eliminates the need for inbound internet-facing connections and significantly reduces the attack surface.
Customers can deploy multiple SKP Connectors across different regions or network segments. For example, organizations with multiple data centers may install a connector in each location rather than configuring cross-region routing.
Required Outbound Traffic
The connector host must be able to initiate:
Outbound HTTPS/WSS traffic to the Syniti Gateway endpoint
Outbound TCP traffic to approved internal targets such as databases and APIs
Common internal target examples include:
Microsoft SQL Server on TCP 1433
SAP HANA
PostgreSQL
Other customer-approved application or database ports required by SKP
Inbound Traffic
For Syniti connectivity, no inbound internet-facing traffic is required. The connector establishes the outbound session and the cloud side reuses that session.
Firewall Guidance
A typical firewall policy for the connector host is:
Allow outbound TCP 443 to Syniti Gateway endpoints.
Allow outbound TCP to the specific internal systems and ports required for SKP jobs.
Deny all other outbound traffic from the connector host unless explicitly required.
Deny all inbound traffic except tightly controlled administrative access if needed.
Typical enforcement granularity should be host and port based. The connector does not perform application-level authorization of database commands or result sets, so network policy remains the primary enforcement point.
Public IP Address Requirement
The connector does not require a public IP address. It only needs outbound connectivity to the internet through customer egress infrastructure such as NAT or a proxy path that permits WebSocket Secure traffic.
Local Service Operation
The installed service is named syniti-connector.
Typical Linux service commands are:
sudo systemctl enable syniti-connector
sudo systemctl start syniti-connector
sudo systemctl status syniti-connector
sudo journalctl -u syniti-connector -n 200Typical Windows service management commands are:
sc.exe query syniti-connector
sc.exe start syniti-connector
sc.exe stop syniti-connectorBy default, connector log files are written under /var/log/syniti-connector on Linux and under C:\ProgramData\Syniti Connector\logs on Windows. The effective log path may vary depending on installation choices and host configuration.
Connector log handling is file-based. Log rotation is controlled by maximum file size and maximum backup count. Customers that require centralized retention, SIEM ingestion, or additional log-governance controls should forward these files using their standard host logging tooling.
Associated Services and Host Placement
Syniti recommends placing the connector on a customer-managed host that is dedicated to this integration path or otherwise tightly controlled.
If customers choose to run additional services on the same host, they should evaluate OS user and service-account separation, filesystem permission boundaries, access to the connector configuration and log directories, and whether those co-located services are inside the same trust boundary. Co-locating unrelated services increases the local attack surface and the consequences of host compromise.
Verification After Installation
After installation, verify the following:
The configuration file contains the correct gateway URL, tenant ID, connector ID, and secret.
The
syniti-connectorservice is running.The connector can reach the Syniti Gateway over WSS.
The connector can reach the intended internal target systems over TCP.
Example checks:
sudo systemctl status syniti-connectorSecret Handling and Rotation
The connector secret is stored locally in the YAML configuration file and should be treated as a credential.
Recommended controls:
Restrict file access to the service account and administrators only.
Protect the host with standard disk, filesystem, and access hardening controls.
Rotate connector secrets through the Syniti-managed rotation process.
Update the local connector configuration promptly when a new connector key is issued.
On the connector host, the secret is stored in the local YAML configuration file and protected by filesystem permissions and host controls. Within the Syniti Platform, connector secrets are stored encrypted at rest by using AWS KMS-backed encryption.
From an operational perspective, customers should define a rotation policy appropriate to the environment. A 30- to 90-day rotation cadence is a common baseline for shared secrets, with immediate rotation on suspected exposure. Emergency revocation should be handled by rotating or replacing the connector secret in SKP and updating the connector host promptly. Customers should also avoid collecting the connector configuration file in unencrypted backups.
Generating a new connector key does not interrupt the currently active connector session. The existing key remains active, and the newly generated key remains on standby until the connector uses it for the first time.
When the connector reconnects with the standby key, the standby key becomes active automatically. This allows customers to prepare the new key on the connector host without immediately disrupting the existing connection.
To rotate the connector key:
In the SKP Connectors administration page in SKP, generate or obtain the new connector key for the connector you want to rotate.
Run the connector service with the
--update-keyargument and the newly generated key so the local configuration is updatedRestart the connector service so it reconnects by using the updated credentials.
Verify in SKP and on the connector host that the connector has reconnected successfully.
Existing active sessions are not intended to be preserved indefinitely across rotation events. New connections authenticate by using the currently configured secret during connector reconnect or session establishment.
On both Linux and Windows, use the connector executable with the --update-key argument to update the stored key in the configuration file, then restart the syniti-connector service.
Operational Troubleshooting
Common troubleshooting areas for the WebSocket connector are:
Invalid connector key format.
Incorrect
gateway_urlvalue.Local firewall or proxy blocking outbound WSS traffic.
Internal firewall blocking TCP access from the connector host to the target system.
Secret mismatch after a connector rotation.
Useful checks:
sudo systemctl status syniti-connector
sudo journalctl -u syniti-connector -n 200Failure Behavior
The connector is designed to stop establishing or maintaining tunnel connectivity when authentication or required network connectivity is not available.
If connector authentication fails, the WebSocket connection is rejected and the connector retries according to its retry configuration. If the Gateway or network path is unavailable, the connector cannot establish or maintain new tunnel sessions. If the connector restarts, it must re-establish its WebSocket sessions and authenticate again. If the local secret is changed, the updated value is used after the connector service is restarted with the revised configuration. If customer-side firewall policy blocks a requested target, the tunnel attempt fails at connection time. When a requested target connection cannot be established, the error is returned through the connector session and is surfaced as a failure to the operation that initiated the request.
Summary
The WebSocket-based SKP Connector is a package-installed service for Linux and Windows that:
authenticates with a Syniti-issued connector key,
maintains outbound secure WebSocket sessions to the Gateway,
multiplexes TCP streams over those sessions, and
connects only to customer-approved internal targets needed for SKP processing.
The required cloud connectivity is outbound HTTPS/WSS, plus outbound TCP to customer-managed target systems.