Inside GE's Predix Security Archives: What Industrial IoT Documentation Reveals About Enterprise Platform Governance
Hook
When GE built Predix, they created security documentation that assumed your IoT platform would live forever. Three years after selling the platform to Hitachi, those PDFs tell a cautionary tale about enterprise platform lock-in.
Context
The Predix platform emerged in 2015 as GE's ambitious bet on the Industrial Internet of Things. Unlike consumer IoT platforms, Predix targeted factories, power plants, and aviation systems—environments where a security breach doesn't just leak data, it can halt turbines or compromise safety systems. The predix-cyber-security-docs repository was GE's attempt to codify security requirements for developers building on this platform, addressing the unique challenge of bridging information technology (IT) and operational technology (OT) security models.
Industrial environments demand different security thinking. A smart thermostat can be patched remotely and rebooted without consequence. A jet engine sensor feeding data to predictive maintenance systems cannot. The Predix security documentation had to reconcile cloud-native development practices with the reliability requirements of industrial control systems, where uptime is measured in years and changes require extensive safety validation. This repository represents a snapshot of how enterprise platforms approached that problem in the mid-2010s—before the divestiture to Hitachi Vantara in 2019 left these documents as historical artifacts.
Technical Insight
The Predix security framework was built around a multi-tenant cloud architecture with zone-based isolation. Applications running on Predix needed to authenticate through UAA (User Account and Authentication), GE's fork of Cloud Foundry's authentication service. The documentation outlines a defense-in-depth strategy where security controls exist at the platform level, the service level, and the application level.
A typical Predix application's authentication flow looked like this:
// Predix UAA token acquisition pattern
const predixSecurity = {
uaaUrl: 'https://your-uaa-instance.predix-uaa.run.aws-usw02-pr.ice.predix.io',
clientId: 'your-client-id',
clientSecret: process.env.CLIENT_SECRET
};
async function getPredixToken() {
const response = await fetch(`${predixSecurity.uaaUrl}/oauth/token`, {
method: 'POST',
headers: {
'Authorization': `Basic ${Buffer.from(
`${predixSecurity.clientId}:${predixSecurity.clientSecret}`
).toString('base64')}`,
'Content-Type': 'application/x-www-form-urlencoded'
},
body: 'grant_type=client_credentials'
});
const data = await response.json();
return data.access_token;
}
// Every subsequent API call required this token
async function queryTimeSeries(token) {
const response = await fetch('https://time-series-store.run.aws-usw02-pr.ice.predix.io/v1/datapoints', {
headers: {
'Authorization': `Bearer ${token}`,
'Predix-Zone-Id': 'your-timeseries-zone-id'
}
});
return response.json();
}
The Predix-Zone-Id header is particularly telling—it represents Predix's approach to multi-tenancy. Each service instance existed in a "zone" that enforced data isolation. Even with a valid OAuth token, you couldn't access data from a zone you weren't authorized for. This architecture decision addressed a critical industrial concern: contractors or third-party developers might need access to specific equipment data without gaining visibility into the entire operation.
The security documentation emphasized certificate-based machine-to-machine authentication for edge devices. In practice, this meant embedding x.509 certificates in edge gateways that aggregated sensor data before sending it to the cloud. The documentation provided specific guidance on certificate rotation schedules (90 days for edge devices in accessible locations, 365 days for permanently installed equipment) and required TLS 1.2 as the minimum version—reasonable for 2016, problematic today as TLS 1.3 becomes standard.
What's architecturally interesting is how Predix handled the OT/IT boundary. The platform didn't assume direct cloud connectivity for industrial assets. Instead, the security model expected a Predix Machine (edge software) to run on local gateways with protocols like OPC-UA or Modbus on the OT side and HTTPS/WebSocket connections to Predix cloud services on the IT side. This airgap approach—where industrial protocols never touch the internet directly—was more sophisticated than many contemporary IoT platforms that assumed everything could speak MQTT over TLS.
The documentation also covered compliance frameworks relevant to industrial operations: NERC CIP for electrical utilities, NIST 800-53 for federal systems, and IEC 62443 for industrial automation. Rather than claiming blanket compliance, the docs provided a responsibility matrix—which security controls Predix implemented at the platform level versus which controls application developers needed to implement. This shared responsibility model predated similar frameworks from AWS and Azure, though it was documented far less elegantly in dense PDFs rather than interactive compliance dashboards.
Gotcha
The fundamental limitation isn't technical—it's contextual obsolescence. These documents describe security controls for a platform that exists in a fundamentally different state than when the documentation was written. After Hitachi acquired Predix, the platform's roadmap, service URLs, support channels, and even core service offerings changed. The repository hasn't been updated since the acquisition, leaving developers with documentation that may reference deprecated services or authentication endpoints that no longer exist.
The PDF format itself creates practical barriers. Modern documentation lives in the browser with searchable text, copyable code examples, and hyperlinked cross-references. The Predix security PDFs have internal links that only work when viewed in a PDF reader, not in GitHub's preview. Developers need to download files locally, and even then, any referenced URLs or service endpoints need manual verification against current Hitachi Vantara documentation. There's no version control at the content level—just file replacement—making it impossible to track which security recommendations changed between Predix versions.
More philosophically, this repository illustrates the risk of platform-specific security documentation. The authentication patterns, zone ID requirements, and UAA integration details are completely non-portable. Developers who invested in learning Predix security architecture gained expertise that doesn't translate to other platforms. Compare this to learning OAuth 2.0 or SAML, which are standards applicable across dozens of platforms. The repository offers no abstraction layer or conceptual framework that survives beyond the specific implementation.
Verdict
Use if: You're maintaining a legacy Predix deployment that predates the Hitachi acquisition and need to understand the security assumptions baked into your existing applications. The documentation provides valuable context for security audits or compliance reviews of systems built between 2015-2019. It's also useful as a case study if you're designing security documentation for your own industrial IoT platform and want to see what an enterprise-scale attempt looked like. Skip if: You're building new industrial IoT solutions, evaluating platforms, or trying to learn industrial security concepts. The platform-specific details are outdated, the documentation format is hostile to modern workflows, and better-maintained alternatives exist. AWS IoT Device Defender, Azure IoT Hub's security baseline, or platform-agnostic resources like the OWASP IoT Security Guidance Project will serve you better. Even if you're currently using Hitachi's version of Predix, consult their updated documentation rather than relying on pre-acquisition materials that may reference deprecated services or security patterns that have since evolved.