System C4
Cyber Security Overview
Security controls, responsibilities and assurance
Understand how C4 controls access, protects communication and manages integration risks, and which requirements must be confirmed for the deployed solution.
Protect information. Control actions.
Maintain confidence in security operations.
A companion to What is C4 - Platform Overview, focused on cyber security rather than general product functionality.
Document information
Field |
Value |
|---|---|
Document title |
System C4 - Cyber Security Overview |
Document type |
Cyber security overview |
Intended audience |
Security professionals, managers and solution partners |
Version / issue date |
21.0 / 4 October 2026 |
Companion document |
What is C4 - Platform Overview, version 9.0 |
Document version numbers do not identify a C4 software release. Security acceptance must refer to the exact installed build, plugins, infrastructure and configuration.
1. Cyber security at a glance
System C4 coordinates information and actions across physical security systems. Its cyber security controls therefore concern both access to information and the authority to perform operational actions, such as sending a command to a connected device.
What this overview explains
This document explains the security architecture, identity and permission controls, communication protection, plugin assurance and operating responsibilities relevant to a C4 installation. It is intended to support conversations between security specialists, managers, administrators and solution partners without requiring detailed knowledge of the application internals.
What is C4 - Platform Overview explains what C4 does, its business value, general deployment scenarios, licensing and developer opportunities. Those descriptions are not repeated here. Architecture is included only where it helps explain a security boundary, a protection mechanism or an availability responsibility.
The central security approach
C4 uses its application server and Simple Client interface to mediate access to data and supported commands. Permissions are evaluated on the server, and integrations are subject to defined data-access restrictions. External client connections use HTTPS, while integration plugins have separate internal and external communication channels that require separate security evaluation.
The installation runs within the customer environment. Product controls are consequently only one part of the security arrangement: infrastructure protection, identity services, certificate policies, database administration, plugin selection and operational procedures also affect the deployed solution.
The decision that matters for management
A security decision must distinguish three things: a control described as implemented, a requirement that the installation must meet, and an improvement that is still planned. The documented C4 implementation focuses primarily on protection against external threats, with limitations in internal authentication, stored-data protection and exported logs. Those limitations must remain visible when evaluating enterprise requirements.
Security assurance: Selecting a security level or enabling a mode is not evidence that every required control is implemented and operating correctly. Confirm the deployed release, configuration and outstanding gaps before accepting the solution.
Related reading: [1], Chapters 1, 5 and 8.
2. Security architecture and boundaries
The security architecture is easiest to understand as a set of boundaries: between users and C4, between C4 and its database, and between integration plugins and external systems. Each boundary has its own controls and dependencies.
The application server is the access-control point
Simple Client is the application programming interface used by C4 clients and plugins to communicate with the application server. It provides access to platform data within the assigned permission scope instead of giving those consumers direct access to the C4 SQL Server database. The server evaluates permissions before returning information or processing an operation.
This applies to both transaction calls, which retrieve or change data, and message-based operations, which route actions to another component. For example, a request for person records is filtered to the records the user may see. An operational command is evaluated before it is routed to the responsible Driver.
Security boundary |
Relevant control and assessment |
|---|---|
User or application to C4 |
HTTPS protects external Simple Client access. Authentication establishes identity, and server-side permissions determine the permitted data and actions. |
C4 application server to database |
Database access uses authorized, parameterized stored procedures. Administrative access and database protection remain part of the customer environment. |
Plugin to C4 |
The plugin uses Simple Client and a declared data scope. Verification evaluates its use of C4 security interfaces and restrictions. |
Plugin to external system |
Certification evaluates the specific integration. Encryption and endpoint authentication depend on the external protocol and system capabilities. |
Separate network identity from user permissions
An application-level permission check and authentication of a communication channel are different controls. C4 evaluates permissions on the server, but internal TCP/IP and Named Pipes have separate authentication limitations. Authorization must not be used as evidence that every internal component proves its identity. Chapter 5 describes these channels individually.
Keep the customer boundary explicit
C4 is an on-premises application, and each customer operates its own installation. The security review therefore includes the hosts, internal connections, database and connected systems used by that installation; it does not stop at the C4 Client connection.
3. Security levels and applicability
C4 defines two cyber security levels. They express the security requirements and operating assumptions for an installation, rather than an independent certification of the complete customer solution.
Level |
Intended use and conditions |
|---|---|
Level 1 - Baseline Security |
This level is intended for a controlled, trusted internal environment with limited exposure, known users and administrative control of endpoints. The deploying organization must evaluate and accept the residual risks. |
Level 2 - Enterprise Security |
This level defines the requirements for corporate IT environments, including federated authentication, centrally enforced certificate validation, internal communication protection, sensitive-data protection and controlled testing before production changes. |
Where Level 1 applies
Level 1 assumes a trusted internal network, no direct public-internet exposure other than a controlled gateway, a limited number of known users, and no strict compliance requirements. Its permitted deviations include more flexible authentication and certificate handling, limited internal network authentication, and no mandatory separation of test and production environments.
These are conditional allowances, not general security guarantees. The organization must confirm that the installation satisfies the Level 1 assumptions and that its reduced protection is acceptable. If the assumptions are not met, Level 2 is required.
When Level 2 is required
Level 2 is required for external-network exposure, integration with corporate identity providers, multi-site or distributed deployments, regulatory or compliance requirements, handling of sensitive or regulated data, or a requirement for high availability or business continuity. These criteria apply regardless of the number of devices.
A project can therefore require Enterprise Security even when it uses one logical C4 Server and one database. Compliance with the required controls must be demonstrated for the selected release; an unresolved requirement cannot be treated as implemented solely because the project is classified as Level 2.
Two different meanings of Enterprise: C4 Enterprise Edition provides central monitoring and control across independently operating site installations. Enterprise Security (Level 2) defines cyber security requirements. The deployment edition and the security level are separate concepts.
How to interpret OWASP references
C4 security requirements align with OWASP security principles and risk categories. This positioning does not provide an independent assessment result or establish compliance with a particular regulation. Security approval must address the actual installation and its evidence.
Related deployment context: [1], Sections 6.2-6.3.
4. Identity and access control
Authentication establishes who is connecting. Authorization determines what that identity may see or do. C4 treats these as distinct parts of access control.
Enterprise identity through OpenID Connect
For Level 2, authentication must be delegated to a corporate or enterprise-compatible identity provider using OpenID Connect (OIDC). The requirement excludes C4 Forms authentication, local password-hash verification and storage of user authentication passwords in the C4 database. C4 relies on the identity and claims supplied by the identity service.
C4 includes an OpenID Connect service that can use local Active Directory authentication. An existing compatible identity service in the customer environment can replace it. This supports centralized identity policy and advanced authentication, such as multifactor authentication, through the chosen identity provider; it is not a claim that multifactor authentication is automatically enabled in every installation.
Baseline Forms authentication
Forms authentication is described for smaller, controlled Level 1 installations. The documented implementation uses salted PBKDF2-HMAC-SHA1 with 1,000 iterations and requires at least eight characters, including upper- and lowercase letters, a number and a special character. Passwords are not stored in plaintext. This configuration is insufficient for Level 2.
Invalid login attempts are logged and subject to progressive delays. Automation can notify an administrator about invalid attempts, and a disabled account cannot log in. Chapter 11 identifies the account-disablement and session settings that require confirmation.
Permissions follow responsibilities
Access is denied by default until an administrator grants the relevant permission. Separate permissions govern operations such as reading, adding, modifying and deleting data. The permission model can restrict access to individual records, including devices, regions, application modules and event types.
Permissions can follow organizational hierarchies and groups, allowing inheritance from a broader responsibility while retaining control at an individual record. This supports responsibilities such as a particular building or department without giving every operator unrestricted access.
Enforcement remains on the server
C4 evaluates API requests and message permissions on the server, and filters returned records to the authenticated user's scope. The user identity comes from the authentication context rather than an identity supplied as part of the requested data operation. These checks help keep custom interfaces and plugins within the same authorization framework.
For Forms authentication, documented session behavior includes a ten-minute idle timeout, renewal with requests, and invalidation on logout or authentication-context change. The absolute session lifetime requires release-specific confirmation. These session controls do not authenticate internal channels.
5. Communication and certificate security
Communication protection must be assessed channel by channel. Encryption protects information in transit; authentication checks the identity of the communicating party. An encrypted connection is not necessarily an authenticated connection.
Channel |
Documented implementation and scope |
|---|---|
External Simple Client access |
HTTPS is the only external access option described. The connection is encrypted and authenticated using the selected authentication strategy. |
Internal server-to-server TCP/IP |
This connection supports distributed C4 services. It is described as encrypted but not yet authenticated, and its use requires explicit administrator authorization and firewall protection. |
Local Named Pipes |
This channel connects components on the same computer and is not authenticated in the documented implementation; its use must be considered within the local-host security boundary. |
Plugin to external system |
The integration must prefer secure protocols where the external system supports them and validate external endpoints where possible. Its protection is evaluated separately during Certification. |
Enterprise certificate requirements
Level 2 requires certificate validation, centrally enforced by system administrators through operating-system or domain policy. Validation can use a trusted Certification Authority, a certificate thumbprint, or public-key validation (SPKI). Invalid or untrusted certificates must cause the connection to be rejected, and users must not be able to weaken the policy.
Level 2 production certificates must be issued by a trusted internal or public Certification Authority. Self-signed certificates, disabled validation, acceptance of any certificate and insecure user-defined validation strategies are not permitted. Supported secure TLS protocols and strong cipher suites are required. The enabled protocol versions and cipher inventory must be confirmed for the deployed release.
Baseline installation and external-system limits
A self-signed certificate may be generated during setup for initial installation or testing. Level 1 permits more flexible validation under its controlled-environment assumptions, but acceptance of any certificate is strongly discouraged and limited to temporary testing. When a valid certificate is installed, validation should use the supported trusted-certificate, thumbprint or public-key strategy.
Level 2 gap to verify: Enterprise requirements demand both encryption and authentication for internal channels. The documented unauthenticated TCP/IP and Named Pipes channels must not be described as meeting that requirement. Confirm the actual release and configuration before claiming compliance.
6. Database and sensitive-data protection
Database access controls, encryption of stored data and protection of cryptographic keys address different risks. They must be considered separately when reviewing the C4 information environment.
Controlled access to the C4 database
C4 stores configuration, logs and user settings in a central Microsoft SQL Server database for each installation. Application access uses stored procedures that are parameterized, with parameter validation and authorization before the call. Dynamic SQL queries are not used, and stored-procedure definitions are encrypted.
Clients and plugins access C4 data through the application server rather than through direct connections to the C4 database. This keeps application data access within the server-side permission model. Encryption of procedure definitions does not establish encryption of the information stored in the database.
Sensitive data at rest
Sensitive data includes user credentials, credentials used to access external systems, and personal data. For Level 2, sensitive data must be encrypted at the application level independently of database-level encryption; plaintext storage is not permitted. User authentication passwords are additionally subject to the OIDC requirements in Chapter 4.
Database encryption is administered outside C4 to match the customer's policies. The SQL Server connection string is described as encrypted. Neither fact demonstrates that application-level encryption covers every sensitive-data category. Sensitive-data encryption and classification also appear in the planned improvements, so the deployed implementation and coverage require confirmation.
Level 1 permits database-level and environmental protection only under its trusted-environment assumptions and with explicit risk acceptance. The separate criteria requiring Level 2 still apply.
Keys and certificates
Private keys must use operating-system certificate stores on Windows or protected storage on Linux. Only authorized processes may access keys; plugins must not receive key material. Key rotation follows organizational policy. The deployment must establish which keys are used and how these requirements are implemented.
Input validation and secure processing
The described controls include stored-procedure parameter validation and explicit object-type validation for serialization using System.Text.Json. Broader centralized validation of plugin and external-system input is also identified as a future enhancement. Existing validation checks must therefore not be represented as proof that the entire planned validation model is already implemented.
Assurance distinction: Restricted access, database encryption and application-level encryption are complementary controls. Evidence for one does not prove that the others are present.
7. Plugin and integration assurance
Integration plugins connect C4 to systems that have their own protocols, software and security limitations. The plugin is therefore a security boundary, not simply a functional extension.
Controlled access and an independent lifecycle
Plugins run in a C4 host that provides Simple Client access. Developers declare the data scope needed by the plugin, and sandbox restrictions limit its requests, for example by permitting personal-data access without granting credential access. Plugins do not receive direct access to the C4 SQL Server database.
Drivers and IS Connectors use Plugin Runner processes managed by Plugin Manager. Separate processes help isolate dependencies required by different external-system SDKs. This process arrangement and the request restrictions must not be treated as a guarantee that a compromised plugin cannot affect any other component; internal-threat protection is also part of the roadmap.
C4 and its plugins have separate development, deployment and maintenance lifecycles. A third-party developer operates under a developer agreement, and responsibility for the extension is defined separately from the core platform.
Verification and Certification assess different channels
Evaluation |
What it assesses |
|---|---|
Verification - plugin to C4 |
Verification checks correct Simple Client use, authentication and authorization handling, sessions, record-level permissions, input and output processing, sensitive-data handling, logging and sandbox restrictions. |
Certification - plugin to external system |
Certification checks protocol correctness, secure communication where supported, malformed-input handling, stability, data transformation and prevention of unsafe commands or uncontrolled data propagation. |
Both evaluations are mandatory before an integration plugin is digitally signed by Gamanet, published in the Plugin Store and released for customer installation. Level 2 explicitly requires Verified and Certified plugins. The result concerns the evaluated plugin and integration; it does not constitute independent certification of the entire customer installation.
Distribution and installation remain controlled
The Plugin Store is the designated distribution source. Plugins require the applicable license and Gamanet digital signature; unsigned or modified plugins are rejected. Third-party installation also requires approval by the installation manager on the end-user side.
A signature, approval and technical evaluation serve different purposes. Signing identifies the accepted software package, installation approval authorizes its use at the site, and Verification and Certification assess its behavior at the two interfaces. Each remains relevant when reviewing a new plugin or update.
Related plugin and developer overview: [1], Chapters 7 and 9.
8. Secure operation, logging and updates
Security depends on how an installation is introduced, changed and monitored throughout its operating life. Setup defaults, release processes and logs support that work, but require active administration.
Establish the installation baseline
Setup checks the operating environment against the installed version's requirements. The described defaults disable unused services and ports, enable secure communication and install no plugins. Administrators add the plugins needed for the project. Plugin tracing starts at Warning level; more detailed tracing is an administrator-controlled setting.
Initial account provisioning requires release-specific confirmation before handover. Confirm whether an initial Support account is created and how its credentials are assigned. Where a default password is used, a first-login password change must be enforced. Do not assume the absence of default credentials without checking the deployed release.
Control changes and software integrity
For Enterprise Security, test and production environments must be separated. Application updates, patches and new plugin versions must be tested before being moved to production. Setup asks the administrator to perform a database backup before an upgrade.
The described development process uses Develop, Stable, Prerelease and Release stages, dedicated build servers, and beta testing before production release. Gamanet libraries are digitally signed, and a dedicated signing server holds the code-signing private keys. Builds also produce an inventory of external libraries used in the core application. These are software-delivery controls, not a substitute for customer-environment validation.
Use application and integration logs appropriately
Client activity is recorded as application logs in the central C4 database and is available to users with the required permission. Communication between plugins and external systems is logged to files through NLog; server administrators access those files and configure their retention. The configured trace level affects the diagnostic information available.
The security requirements exclude passwords, keys, tokens and sensitive personal data from logs. Diagnostic output and plugin behavior must be assessed against that requirement. Logging confidentiality and integrity are also identified for improvement in the roadmap, so the exclusion requirement is not by itself evidence that every log is protected.
Exported-log limitation: The documented export is a ZIP archive without product-provided encryption or integrity protection. Compression is not security protection. The organization must account for this limitation when storing, transferring or reviewing diagnostic evidence.
9. Availability and responsibilities
Availability protects the ability to continue security operations. It depends on the selected deployment model and on the complete infrastructure, not only on an application feature.
Responsibilities must be assigned
Responsible party |
Security contribution |
|---|---|
Gamanet |
Gamanet defines the core platform security model and the described build, signing, distribution and plugin-evaluation processes. Release-specific implementation evidence remains necessary. |
Solution partner and integrator |
The solution team defines the installation architecture, selected integrations, identity and certificate configuration, permission scope, and implementation and testing requirements for the project. |
Plugin developer |
The developer defines the required data scope and maintains the extension through its own lifecycle. The developer must satisfy the applicable Verification and Certification requirements. |
Customer and administrators |
The customer controls the infrastructure, database protection, operational permissions, local approvals and log retention. The deploying organization evaluates residual risk and confirms the applicable security assumptions. |
These responsibilities describe the security work that must be coordinated. Contractual ownership and service obligations are agreed for the project rather than inferred from this overview.
Related deployment and project overview: [1], Sections 6.2-6.4 and Chapter 10.
10. Implementation status and roadmap
The documented C4 security model focuses primarily on external threats. Additional internal-threat protections are planned for C4 2027. Requirements and planned improvements must remain distinct from demonstrated release capabilities.
Material limitations in the documented implementation
Internal TCP/IP is encrypted but not yet authenticated, and Named Pipes is described as unauthenticated. Exported logs are compressed but not encrypted or integrity-protected. These are specific implementation limitations, not simply configuration preferences.
Application-level sensitive-data encryption and comprehensive plugin-input validation are required in the target model and also appear among planned improvements. The information does not establish complete implementation coverage for an installed release. Confirmation must address the actual data categories, interfaces and controls used by the project.
Planned improvements identified for C4 2027
Roadmap area |
Intended improvement |
|---|---|
Internal identities |
Services and plugins are to authenticate their identities and use mutually trusted communication, reducing unauthorized movement between internal components. |
Sensitive-data protection |
The plan adds stronger encryption at rest, secure key management, data classification and explicit protection requirements for each sensitive-data category. |
Log confidentiality and integrity |
The plan adds protection or minimization of sensitive content and protection against tampering. Cryptographic protection and restricted storage are identified as possible mechanisms. |
Plugin-input validation |
Centralized rules are to check data types, formats and boundaries and protect against malformed data and injection across plugin and external-system inputs. |
Forms authentication |
The plan redesigns legacy password-based authentication to allow stronger algorithms and future cryptographic changes, separately from primary OIDC authentication. |
Token-based authentication |
A transition from cookie-based mechanisms to signed tokens, such as JWT, is planned where applicable, with validation, expiration and misuse protections. |
C4 2027 identifies the planned release for these improvements; it is not evidence that a particular build has delivered them. Release information and validation must establish the implemented scope and any remaining limitations.
Acceptance principle: A required control that is not demonstrated remains an open requirement. Planned functionality or accepted residual risk must not be recorded as proof that the control has passed.
11. Security review and reference information
A security review should connect the required protection to the actual installation. The following questions support a discussion between management, security specialists and the delivery team; detailed configuration and testing belong in the release-specific implementation documents.
Define the security decision
Confirm which security level is required and why, which sites and systems are included, and whether local operational independence is needed. Identify the exact C4 release, plugin versions, identity provider and infrastructure to be evaluated. Agree who supplies the evidence and who is authorized to accept residual risk.
The review should establish that user identity, record-level permissions, certificate validation, internal channels, plugin approval, sensitive-data protection and log handling meet the project requirements. It should also confirm how changes are tested and how the complete service is recovered. Chapter 10 identifies the limitations that must not be hidden by a general enterprise-security claim.
Confirm release-specific behavior
Point to confirm |
Reason for explicit confirmation |
|---|---|
Initial credentials |
Confirm whether an initial Support account is created, how credentials are provisioned and whether any default password requires a first-login change. Do not assume one setup behavior for every release. |
Login and session behavior |
The failed-login threshold and absolute session lifetime require release-specific confirmation. Verify progressive delays, account-disablement behavior and the enforced session limits. |
Outbound communication policy |
Confirm the permitted outbound destinations and protocols, the enforcement arrangement and the approved configuration. Do not assume that a complete outbound communication policy is already implemented. |
Read the documents together
[1] What is C4 - Platform Overview, version 9.0. This companion explains the product, general deployment scenarios, Simple Client capabilities, developer ecosystem and licensing. Its centralized and independent-site deployment descriptions provide the operating context for Chapter 9.
Terms used in this overview: OIDC means OpenID Connect; TLS means Transport Layer Security; API means application programming interface; SDK means software development kit. "At rest" means stored data. "Integrity" means protection against unauthorized alteration. Verification and Certification refer to the two C4 plugin evaluation processes, not to an external certification of the full installation.