Strengthen Security, Reduce Risks, and Demonstrate Compliance
A comprehensive guide for development teams, security officers, and compliance managers working with PowerBuilder applications.
Teams in charge of PowerBuilder applications: developers, architects, project managers, and operations managers. It explains how to strengthen application security and secure their lifecycle (dev/testing/production).
Security and compliance teams: application security managers, CISOs, GRC teams, internal or external auditors. It helps assess the security level of a PowerBuilder application and prepare for an audit or compliance review.
PowerBuilder applications are at the heart of critical processes (finance, healthcare, logistics, industry, public sector). They must now meet higher security and compliance requirements than when they were designed.
In this context, organizations must simultaneously meet three objectives:
By reading this guide, you will have:
This guide is modular and can be read selectively.
Each chapter is independent and structured for quick reading: contexts, threats, technical objectives, features of each tool, compliance with key standards, evidence.
It can serve as a basis for a security or compliance project.
| Integrate code signing into the compilation and deployment process, including for PowerServer and PowerClient projects. | PB |
| Use extended validation certificates (EV certificates) to sign applications, improving user confidence and compatibility with modern security policies. | PB |
| Secure deliveries by analyzing PowerBuilder code and detecting vulnerabilities and bad practices using security rules (SAST) dedicated to PowerBuilder. | VE |
| Detect hard-coded identifiers/passwords, encryption keys, and IP addresses in the code to reduce the risk of leaks through decompilation or copying of deployment scripts. | VE |
This chapter typically addresses expectations related to software integrity and release cycle control, often found in standards such as ISO 27001 and in SOX-compliant environments. Security Standards & Compliance
| Encrypt the connection properties of transaction objects and generate an encrypted connection string using the Secure Connection Encryptor to avoid clear-text credentials in scripts or files. | PB |
| Encrypt SQL Server connections by enabling TLS/'Strict' encryption in the SQL Server driver and on the database side, and validate certificates. | PB |
| Encode and encrypt data with the CoderObject and CrypterObject objects. | PB |
| Scan PowerBuilder code to detect uses of DES/3DES, obsolete hash functions (SHA-1/MD5, etc.), encryption modes, hard-coded keys or non-robust key sizes. | VE |
| Reduce exposure by precisely controlling access to sensitive data and functions via a permissions/roles model. | VG |
| Log access to sensitive data and critical operations. Enable detailed auditing (who did what, when, and from where). Traceability & Audit | VG |
This chapter contributes to the confidentiality and data protection requirements in ISO 27001, NIST SP 800-53, PCI DSS and, depending on the context, HIPAA and GDPR. Security Standards & Compliance
| Support TLS 1.3 and HTTP/2 with HTTPClient and RESTClient objects. | PB |
| Support mutual TLS authentication (client certificate), for example for internal APIs or partner services. | PB |
| Identify code communication points (HTTP clients, web service calls, certificate management). | VE |
| Detect uses that do not support modern security protocols (e.g., calls to SOAP/INET services or use of unsecured authentication APIs). Prioritize network refactorings. | VE |
| Use standardized web services for authentication, access control, and logging via a dedicated server to centralize controls and limit client-side security logic. | VG |
This chapter contributes to the controls related to communications security in ISO 27001 and NIST, and frequently meets audit requirements in the finance and healthcare sectors. Security Standards & Compliance
| Prefer REST-based integrations using RESTClient. If SOAP is required, use HTTPClient with TLS 1.2+ with strong authentication, and avoid legacy SOAP client implementations. | PB |
| Use the OAuth 2.0 authorization protocol to align with common API integration practices. Enhanced RESTClient object | PB |
Use token-based authentication (OAuth 2.0 bearer tokens) rather than transmitting usernames and passwords, and manage tokens with HTTPClient and OAuthClient. ( HTTPClient and OAuthClient enhancements - What's New ) |
PB |
| Natively support SMTP and use modern authentication methods (including XOAUTH2). Reduce potentially fragile in-house implementations. Native email support (SMTP Client) | PB |
| Scan code to identify possible attacks by code injection in SQLs, OS commands or Path, hard-coded secrets, insufficient error handling, or lack of controls on exchanged data. | VE |
| Limit who can trigger sensitive calls (export, sending, business actions). | VG |
| Track these operations for audits and investigations. Monitor in real time and trigger notifications in the event of critical or unusual events. | VG |
Integrations controls contribute to the security and traceability requirements of ISO 27001, NIST, PCI DSS, and, depending on the scope, HIPAA. Security Standards & Compliance
| Use the modernized WebBrowser control based on Microsoft Edge WebView2, with associated functional enhancements. | PB |
| Leverage WebBrowser improvements for JavaScript execution and page interaction. | PB |
| Enable remote debugging of WebBrowser for diagnostic purposes. This feature must be strictly controlled and disabled in production. | PB |
| Detect the use of an OLE browser or obsolete components, as they are more exposed to vulnerabilities and security incompatibilities. | VE |
| Inventory and analyze WebBrowser usage (URL opening, script execution, content manipulation) to identify at-risk screens and prioritize fixes. | VE |
| Restrict access to screens or functions that integrate web content. | VG |
| Track and audit sensitive operations associated with the browser. | VG |
| Monitor access to screens and functions displaying web content in real time and notify teams in the event of abnormal behavior. | VG |
This chapter supports requirements related to attack surface reduction and access control, typically found in ISO 27001 and NIST. Security Standards & Compliance
| Switch to solution format to convert code to text and facilitate integration with versioning and automation tools. | PB |
| Use PBAutoBuild to simplify build scripts and standardize pipelines. | PB |
| Reduce merge conflicts and facilitate reviews and traceability with PB 2025. | PB |
| Industrialize static vulnerability analysis (SAST) with every build: triggering, build acceptance criteria, and dashboard. | VE |
| Verify that no exception is ignored and that console logging is not used in production. Detect security vulnerabilities in PowerBuilder code | VE |
| Automate the deployment of access control settings (permissions, roles, etc.) between environments (dev/test/prod) to reduce discrepancies and errors. | VG |
This chapter contributes to the governance and traceability expectations associated with ISO 27001 and, where applicable, internal control requirements (SOX). Security Standards & Compliance
| Integrate modern authentication and token mechanisms when the application interacts with identity services, using PB network objects HTTPClient/OAuth/RESTClient. | PB |
| Identify authentication/authorization implementations in code and detect authentication vulnerabilities in code. | VE |
| Implement MFA with Windows, login/password, or mixed mode. | VG |
| Manage identity federation and user group hierarchy. | VG |
| Identify conflicts through separation of duties (SoD). | VG |
| Produce audit-ready reports by generating a permission matrix. | VG |
This chapter directly addresses the IAM and access governance requirements in ISO 27001, NIST SP 800-53, and PCI DSS, and is particularly relevant in the finance, healthcare, and publicly traded companies sectors. (Security Standards & Compliance)
Some PowerBuilder applications are now accessible remotely (VPN, application gateways, virtualization), while retaining a "thick client" that connects directly to the database and relies on parameters stored on client workstations.
This model introduces certain risks, as equipment located at the network perimeter and remote access points become critical entry points. It also becomes more difficult to control, workstation by workstation, the secrets and connection parameters.
The DBIR 2025 indicates that exploitation of vulnerabilities accounts for approximately 20% of initial accesses. It highlights that those affecting remote access equipment are particularly sensitive, as only 54% are corrected within 30 days.
The solution is to reduce workstation dependency and base exposure by moving to a multi-tier architecture, where an application server exposes .NET APIs (PowerServer), with centralized identity and controls placed in the right location (authentication, logs, network segmentation).
| Use PowerServer to evolve toward a server-side n-tier architecture and reduce direct database access from client workstations. | PB |
| Implement authentication mechanisms such as OAuth 2.0 or JWT in Web APIs to prevent unauthorized access OAuth 2.0 or JWT in Web APIs. | PB |
| Update server components to a supported version of .Net | PB |
| Map the application, identify dependencies, and secure existing code before, during, and after an architecture change. | VE |
| Use standard tools to manage users, API access permissions, and generate audit reports. | VG |
| Centralize security for multiple applications to provide a comprehensive view of identities and rights, and standardize controls, logging, and audits. | VG |
This chapter is part of an approach to align with auditable and standardized architectures, which is frequently emphasized in ISO 27001 and NIST. (Security Standards & Compliance)
In regulated sectors (finance, healthcare, listed companies), the goal is not only to strengthen security.
These organizations must demonstrate that their applications comply with modern standards. They must also carry out concrete and verifiable checks: who can access sensitive functions, what rights have been granted, what actions have been taken, and what measures protect critical data.
This requirement has been reinforced by transparency obligations: in the United States, for example, the SEC requires listed companies to report certain "material" cybersecurity incidents according to a highly regulated procedure.
Furthermore, the global average cost of a data breach reached $4.88 million in 2024, turning a compliance gap into a direct financial risk.
In this context, organizations must now systematize controls and produce evidence: reports, logs, access reviews, and change traceability.
To avoid duplication and facilitate audit preparation, this chapter links the features described above with compliance requirements.
| Support frequent requirements: code signing, DB/driver connection encryption, secure network protocols, and OAuth/REST integration capabilities. | PB |
| Provides repeatable and versioned analyses (particularly on PowerBuilder security rules), which are useful for demonstrating a vulnerability reduction and continuous improvement approach. | VE |
| Automate security checks and reports and compliance with modern standards: IAM, RBAC, separation of duties, traceability, auditing. | VG |
| Document "who has access to what" by publishing a permissions matrix. | VG |
| Rely on a repository of inspection rules to generate reproducible results for detecting vulnerabilities in source code. | VE |
Visual Guard publishes a map of supported standards (ISO 27001, NIST SP 800-53, NIST SP 800-63, CIS Controls, PCI DSS, GDPR, etc.) and specifies the associated mechanisms (MFA, RBAC, SoD, logging, access review). (Security Standards & Compliance)
These checklists offer a pragmatic approach: actions applicable to most contexts, followed by optional actions to be activated depending on the organization's architecture and regulatory constraints.
| Chapter | Measure |
|---|---|
Cross-cutting (prerequisites) |
Inventory applications, environments, dependencies, and flows (workstations, servers, databases, etc.). |
| Classify the data handled and formalize the associated protection requirements. | |
| Establish a remediation process (prioritization, target timelines, validation, tracking). | |
| Patch and keep exposed components up to date (OS, databases, middleware, libraries, remote access). | |
| Formalize an incident response plan and test DR/BCP (restore, recovery). | |
2. Executables and components |
Create a reproducible, versioned build process linked to an identifiable release. |
| Sign all executables, libraries and deployment packages using a company-approved certificate. | |
| Verify artifact integrity before distribution (hash/fingerprint) and record the result. | |
| Track deployed versions (hash, date, owner) and keep history. | |
| Restrict and audit publishing and administration rights related to deployment. | |
| Scan PowerBuilder code before release to identify vulnerabilities and bad practices. | |
| Detect and remove hard-coded secrets (IDs, passwords, keys, IPs) from code and scripts. | |
3. Protect data |
Identify sensitive data and where it resides (database, files, exports, logs, backups). |
| Enable TLS on the DB server and PB DB drivers to use TLS 1.2+, including certificate validation. | |
| Encrypt sensitive data at rest when required (database, files, exports, backups). | |
| Protect encryption keys (storage, access control, rotation, revocation). | |
| Encrypt connection properties. Generate encrypted connection strings (no clear-text secrets). | |
| Detect and eliminate weak ciphers (e.g., DES/3DES). Enforce robust modes. | |
| Detect and eliminate obsolete hashes (e.g., SHA-1/MD5) and enforce robust alternatives. | |
| Verify cryptographic strength (key sizes, operating mode, padding) against the security policy. | |
| Reduce exposure to sensitive data by tightly limiting access through roles/permissions. | |
4. Network protocols |
Inventory network flows and the protocols actually negotiated (TLS versions, suites, certificates). |
| Remove obsolete protocols. Align TLS configuration with the company's policy. | |
| Certificate validation and error handling (no bypasses or silent downgrades). | |
| Implement mutual TLS authentication (mTLS) when required (internal/partner APIs). | |
| Test compatibility with proxies, gateways, and network protections (RESTClient / HTTPClient). | |
| Detect non-compliant or legacy network calls and prioritize their replacement. | |
5. Exchanges with external services and APIs |
Inventory integrations (APIs, internal services, SMTP) and the data exchanged. |
| Prefer REST over SOAP/INET for integrations (RESTClient). | |
| If SOAP is required, use HTTPClient with TLS 1.2+ and strong authentication. Avoid legacy SOAP client. | |
| Use token-based authentication rather than usernames and passwords, with HTTPClient / OAuthClient. | |
| Strictly limit privileges for tokens and technical accounts (scopes, permissions). | |
| Remove hard-coded secrets and organize storage, rotation and revocation (per environment). | |
| Detect and fix injection risks (SQL, OS commands, paths) on inputs and parameters. | |
| Validate inputs and encode outputs on exposed flows (services, APIs, files, emails). | |
| Trace sensitive operations (exports, sends, critical actions) plus monitoring/alerting. | |
6. Embedded browser |
Inventory screens embedding a browser and define expected content and allowed URLs. |
| Migrate to a modern, supported browser engine and remove obsolete components. | |
| Limit browsing, URL opening and script execution for untrusted content. | |
| Govern JavaScript interactions (application bridges) to prevent unwanted execution. | |
| Disable remote debugging in production and reserve it for controlled diagnostics. | |
| Restrict access to "web" screens. | |
| Monitor web access and trigger notifications on abnormal behavior (Traceability & Audit). | |
7. Build and deployment |
Define a standard pipeline (build, tests, analysis, signing, deployment) with explicit pass criteria. |
| Move to solution format to simplify versioning and automation (Solution). | |
| Move to PB 2025+ to reduce merge conflicts and improve traceability. | |
| Make builds reproducible (versions, dependencies, parameters). Retain artifacts and reports per version. | |
| Secure pipeline technical accounts (least privilege, separation of roles, audit). | |
| Secure pipeline secrets and keys (secure storage, restricted access, rotation). | |
| Industrialize SAST analysis on every build and block release if critical rules fail. | |
| Avoid risky practices in production (e.g., console logging) and do not ignore exceptions. | |
| Standardize deployment of security settings between dev/test/prod (avoid discrepancies). | |
8. Authentication and access control |
Centralize identity (AD/Entra ID) and reduce local application accounts. |
| Enable MFA for sensitive applications and privileged accounts. | |
| Model rights through roles and permissions aligned with least privilege. | |
| Centralize authentication, authorization and logging via a dedicated server (Identity Server). | |
| Implement separation of duties (SoD) for critical operations and address conflicts. | |
| Organize periodic access reviews and retain evidence. | |
| Produce an audit-ready permission matrix (who has access to what). | |
| Log sensitive logins and actions (who, what, when, where) and centralize monitoring. | |
10. Compliance with modern standards |
Define applicable standards and the application's compliance scope. |
| Translate requirements into measurable controls and expected evidence (reports, logs, access reviews). | |
| Establish an evidence repository and retain history per version/environment. | |
| Standardize governance (access reviews, exception management, handling SoD conflicts). | |
| Build a reusable audit pack linking requirements, controls, tools and evidence. |
| Chapter | Measure |
|---|---|
5. Exchanges with external services and APIs |
If the application consumes APIs: strong authentication and rotation of keys/tokens (OAuth 2.0) |
| If the application consumes APIs: limit token scopes and privileges (OAuthClient) | |
| If emails: use native email support and modern authentication (SMTP Client / XOAUTH2). | |
| If emails: secure relays (auth, TLS), limit attachments, trace sensitive sends (XOAUTH2) | |
6. Embedded browser |
If Web/HTML components: control content, limit untrusted scripts (WebBrowser) |
| If Web/HTML components: replace legacy engines with a supported engine (WebView2) | |
7. Build and deployment |
If industrialization: standardize build scripts and pipeline orchestration (PBAutoBuild) |
| If stronger QA: build acceptance criteria based on analysis results (SAST) | |
8. Authentication and access control |
If authorization conflicts: define SoD rules and remediation (Separation of Duties (SoD)) |
| If complex organization: a user-group hierarchy mirroring the organization to delegate rights. | |
| If identities are spread across multiple directories: implement identity federation. | |
| If the organization prepares audits: generate and use a permissions matrix (Permission Matrix) | |
9. Modern architecture with PowerServer |
If the database is accessible from clients: migrate to an n-tier architecture with PowerServer |
| If the application exposes/consumes APIs: standardize API authentication (OAuth 2.0) | |
| If the application exposes/consumes APIs: use standard tokens, limit unauthorized access (JWT) | |
| Centralize server-side controls (authentication, authorization, logging). | |
| Plan a progressive evolution by prioritizing the most sensitive modules (Progressive migration). | |
| Update server components to a supported .NET version (.NET). | |
| Administer API access permissions and produce audit reports (Permissions / Audit Activities). | |
10. Compliance with modern standards |
If strong requirements (finance, healthcare, etc.): compliance governance and formal controls (Audit Activities) |
| If strong requirements: industrialize audit evidence and its retention (Permission Matrix) |