Open data portal for energy and utilities

Grid operators, utilities and energy regulators can publish network, consumption and generation data on a self-hosted CKAN portal. The hard part is deciding what is safe to publish and keeping the portal clear of operational systems.

On this page

Why an open data portal for energy and utilities starts with what must stay restricted

A grid operator, utility or energy regulator that must publish network, consumption and generation data under public transparency duties can meet that need with a self-hosted CKAN portal, using the DataStore for queryable time series. The main design work sits before any installation: classifying every dataset as open, aggregated, or restricted, and keeping the portal itself outside the operational networks that run the grid. Energy differs from most open data sectors in three ways. The datasets are bulk time series, often at fine intervals across thousands of meters or substations, so the DataStore's Data API and SQL queries must be sized and tested against realistic loads rather than sample files. The publishers also run critical infrastructure. Entities registered under the NERC CIP Reliability Standards in the United States, and operators in scope of NIS2 Annex I in the EU, must protect information about BES Cyber Systems and their network layout, so a field that looks harmless in isolation, such as a substation identifier combined with capacity and location, can become a security finding. Finally, regulators may audit how data was selected and published, which means the classification decisions need a record. Start with a written data classification that names who approves each dataset class, which fields are removed or aggregated before upload, and which datasets never leave the internal network. Confirm with legal counsel and your NERC or national regulator how the CIP information protection requirements apply to your asset inventory, and check whether the upload path from the internal data store to the portal is a one-way, controlled transfer. The NERC CIP standards page lists the currently enforceable standards and their dates, which should be checked before the classification is signed off.

Which NERC CIP and NIS2 obligations shape the open data portal build

This table maps each NERC CIP and NIS2 obligation that touches a utility or grid operator's open data portal to what it means for the build. Read it alongside your own CIP scope, which you must confirm with your Regional Entity before deciding which datasets can be published.

ObligationWhat it asks forWhat it means for the portal build
NERC CIP status and enforceable datesThirteen CIP standards from CIP-002-5.1a to CIP-014-3 are mandatory in the US, with CIP-003-9 enforceable 1 April 2026, CIP-012-2 enforceable 1 July 2026 and CIP-015-1 enforceable 1 October 2028 (NERC)Plan portal releases against the dates that apply to your entity, and track CIP-015-1 as a later change that may affect network data flows
Bright-line impact categories (CIP-002-5.1a)BES Cyber Systems are sorted into high, medium and low impact using bright-line criteria, such as generation of 1500 MW or more at one plantClassify each network, grid or generation dataset by its source system. Datasets derived from BES Cyber System data should be excluded from publication until reviewed
Electronic Security Perimeter (CIP-005-7)Routable-connected assets of high and medium impact BES Cyber Systems must sit inside an Electronic Security Perimeter, and all Interactive Remote Access must pass through an Intermediate System with encryption and multi-factor authenticationConfirm the portal and its DataStore are not connected to in-scope assets. Publish through a one-way export or staging area rather than a live link to operational networks
Supply chain risk management (CIP-013-2)Plans must cover vendor incident notification, vulnerability disclosure, software integrity verification and vendor remote access, reviewed at least every 15 calendar monthsOpen-source CKAN, its extensions and its hosting providers become vendors in your plan. Record component versions, verify release integrity and document how patches are received
Information protection (CIP-011-3)Entities must identify and protect BES Cyber System Information, which covers sensitive system details beyond the systems themselvesAdd a review step that checks published files, metadata and resource descriptions for system diagrams, IP ranges, asset names or configuration details
NIS2 Annex I energy coverageEnergy is a high-criticality sector, covering electricity, district heating and cooling, oil, gas and hydrogen subsectors (Directive (EU) 2022/2555)EU operators should map the portal to their NIS2 obligations and national transposition, and confirm whether the portal is in scope as part of the wider network
Cross-border electricity cybersecurity (Delegated Regulation (EU) 2024/1366)Sets sector-specific cybersecurity rules for cross-border electricity flows, supplementing Regulation (EU) 2019/943If the portal publishes cross-border flow data, confirm which cybersecurity rules apply to that data before it is exposed through the DataStore API
CIP penalty ceilingThere is no CIP certificate. Balancing Authorities, Reliability Coordinators and Transmission Operators are audited at least once every three years, with a maximum civil penalty of $1,584,648 per violation per day (18 CFR 385.1602)A single publication error on a regulated asset can create a compliance finding. Budget review time for each dataset release and keep an audit trail of approvals

How CIP impact ratings decide whether the portal sits in scope

The first question is not whether the portal is public, but whether any system it touches is part of a BES Cyber System under CIP-002-5.1a. That standard sorts BES Cyber Systems into high, medium and low impact using bright-line criteria. High impact mainly covers qualifying control centers, and medium impact includes, for example, generation of 1500 MW or more at one plant or transmission facilities at 500 kV or higher. A publishing portal is normally a separate business system, not a BES Cyber System itself, which is why many teams assume it is out of scope. That assumption still needs testing. The portal sits downstream of operational data, and the impact rating of the source systems determines what the boundary around them must look like.

The routable connectivity question under CIP-005-7 is where most of the risk sits. High and medium impact BES Cyber Systems with routable connectivity to other assets must sit inside an Electronic Security Perimeter, and all Interactive Remote Access must pass through an Intermediate System with encryption and multi-factor authentication. For the portal, the practical test is whether any data flow leaves an operational network toward the portal: a historian export, a database replica, a file drop or an API pull. Each such flow needs a documented boundary that states what crosses it, in which direction, and who controls the sending side. Ask the engineering team to draw every path from operational systems to the portal, including scheduled jobs and vendor tools, before the design is frozen.

Confirm the classification with your Regional Entity and internal compliance team rather than assuming the portal is out of scope. Ask them to review the impact rating of each source system, the perimeter diagram, and the list of data flows that cross it. Record their answer and the date in your compliance file, and repeat the review when the portal design or the source systems change. If the classification is unclear, the lower-risk option is usually to publish from a copy of approved, restricted-free data held outside the operational network, so that the portal never receives a live link to a BES Cyber System.

How an open data portal separates network, consumption and generation data

Network data describes the grid itself: topology, substation and line layouts, outage records and transmission capacity. It is usually the most sensitive family because detailed topology can show how a system is built, where its weak points sit and which assets matter most. Publishers often keep precise geography and asset identifiers restricted, and release only regional outage summaries, capacity figures at corridor level or planned maintenance windows that have already been communicated to the public.

  • Topology and asset location: Remove substation coordinates, asset identifiers and single-line detail. Publish at feeder or zone level if at all.
  • Outage records: Aggregate by region and cause category, and delay or drop entries that reveal an active vulnerability.
  • Transmission capacity: Publish published or regulator-approved limits only, not operating margins that could guide an attack.
  • Time series: Outage and capacity logs grow with every event. Load them into the DataStore as separate resources by year, with a read-only user for the Data API.
  • Update cadence: Automate refresh only after the aggregation step is tested, so a raw feed never reaches the public resource.

Before loading any network file, confirm with your compliance team which asset classes fall under your entity's CIP scope and whether the classification has been approved.

Which open data portal platform fits an energy publisher and why

For a grid operator, utility or regulator, the portal is less a single product than a set of components with different maturity levels. The four cards below cover the core platform, the DataStore for large time series, the metadata exchange layer and staff login, with the limits each one brings.

CKAN core as the catalog

CKAN is licensed under AGPL-3.0, which matters if you modify the code and offer it to users over a network. The install from source needs Python 3.10 or newer, PostgreSQL 12 or newer, Solr 9 (recommended) or Solr 8, and Redis, with uWSGI and Nginx recommended for production. For an energy publisher, the check is operational: CKAN minor releases can include backwards-incompatible changes, so plan upgrades as projects, and confirm which patch line your team will track, since outdated patch releases lose support once a newer patch is out.

DataStore and XLoader for time series

The DataStore keeps structured resource data in a separate PostgreSQL database with a write user and a read-only user, and its Data API supports filtering, full-text search, pagination and SQL queries. This suits published consumption or generation series that analysts query directly. Use XLoader, not DataPusher, because DataPusher is now legacy. Confirm with your team how large files will be loaded, how long a load takes at your volumes, and whether the read-only role is the only path external users can reach.

ckanext-dcat for regulator exchange

ckanext-dcat provides DCAT-AP v1, v2 and v3 schemas, DCAT RDF endpoints and an RDF harvester, so regulators and national catalogs can pull your metadata without manual copying. The limit is version fit: the extension is supported on CKAN 2.10 and 2.11, so confirm in writing that the version you choose, including CKAN 2.12.0, is compatible with the exact ckanext-dcat release and schema profile your regulator requires before you commit to a design.

ckanext-saml2auth for staff login

Publishing staff at a utility or regulator usually sign in through the organization's existing identity provider, and ckanext-saml2auth adds SAML-based login to CKAN so that accounts and roles can follow your directory rules. Check which SAML profile your identity provider uses, how group membership maps to CKAN organizations, and how accounts are removed when staff leave. Confirm compatibility with your CKAN version before you plan the rollout, because extension support does not follow the CKAN release calendar.

Integration points and deployment pattern for an energy open data portal

An energy open data portal sits between operational systems and the public, so each integration point is also a boundary the security team must approve. The cards below cover the data flows into and out of CKAN, the identity and monitoring around it, and the environment and network placement that the NERC CIP obligations will test.

One-way export from operational data

Publishing should run as a scheduled export from a historian or data warehouse that sits outside the operational technology network, never as a direct query from control systems. The export job should apply the open versus restricted classification before anything is written to staging. Confirm who owns the export job, how it is reviewed, and whether a failed run leaves the previously published files in place. Document the data flow so it can be shown in a CIP-005 or CIP-013 review.

XLoader loading into the DataStore

XLoader is the officially supported tool for loading uploaded or linked files into the CKAN DataStore, and DataPusher is now legacy, so new builds should start from XLoader. Large consumption and generation time series land in a separate PostgreSQL database that exposes a read-only user to the Data API. Confirm file size limits, load time for the largest expected files, and how reloads are handled when a historical file is corrected.

Scheduled metadata updates

Dataset metadata, such as coverage periods, update frequency and resource descriptions, should be changed through the same scheduled pipeline as the data rather than edited by hand in the interface. Automated updates keep the catalog accurate when a new monthly file arrives and create an audit trail of who or what changed a record. Confirm which fields the pipeline may write, which require human approval, and how a rollback is performed.

DCAT harvesting and publication

National and EU catalogs expect DCAT metadata, and ckanext-dcat provides DCAT-AP v1, v2 and v3 schemas, RDF endpoints and an RDF harvester. Confirm which DCAT-AP version and national profile your regulator or aggregator requires, because mapping differences cause rejected records. Also confirm the extension version against the CKAN release in use, since the supported CKAN versions are listed in its repository.

SAML single sign-on for staff

Staff who publish and approve datasets should sign in through the utility's identity provider, with local accounts reserved for break-glass use. The ckanext-saml2auth extension is one option to evaluate, and its maintenance status, supported CKAN versions and attribute mapping for roles must be confirmed before adoption. Confirm how deprovisioning works when an employee leaves, because a dormant publishing account is a standing risk on a public-facing system.

Logging and monitoring of the portal

Web server, application, DataStore and file upload logs should flow to the entity's central monitoring platform, so that publication events, failed loads and unusual access patterns are visible to the security operations team. Confirm log retention, who can read logs that contain user identifiers, and whether alerts map to the entity's incident response process. Keep the portal's own monitoring separate from control system monitoring to avoid widening the scope of the CIP program.

Production and staging separation

Run production and staging as separate CKAN instances, each with its own PostgreSQL, Solr and Redis services, so that test loads and schema changes never reach the public catalog. Minor CKAN releases may include backwards-incompatible changes, so staging should run the target minor version before production is upgraded. Confirm who may promote a build and how configuration differences between the two environments are recorded.

Placement and CIP-015-1 network monitoring

Place the portal in the entity's own cloud account or data center, outside the Electronic Security Perimeter that protects BES Cyber Systems, with a one-way data path into it. CIP-015-1 covers internal network security monitoring and becomes enforceable on 1 October 2028, so architects should confirm now whether portal flows and monitoring sensors fall within its scope. Ask the NERC Regional Entity and internal compliance team to confirm the classification in writing before the build is fixed.

How an open data portal rollout moves from classification to support

The sequence turns a utility's raw network, consumption and generation data into a governed, self-hosted CKAN portal where restricted data stays protected, time series stay current and the operator can run the portal after launch.

  1. Classify datasets and confirm CIP scope

    DeployOpen works with your data owners, compliance lead and OT security staff to inventory every candidate dataset and tag it as open, open with aggregation, or restricted. Each dataset is checked against your CIP scope, including whether any source system or network path touches BES Cyber Systems. The output is a classification register with a named owner, a publication decision and a reason for each dataset, signed off by your compliance lead before any build work starts.

  2. Define the security boundary for the portal

    Using the classification register, DeployOpen and your network team map which data flows leave the operational environment, where the publishing server sits and how data is moved across the boundary. Any path that could connect the portal to control networks is documented and reviewed against the CIP standards that apply to your registration. The output is an approved boundary design showing data flow direction, the staging area for publishable extracts and the controls that prevent inbound access from the portal.

  3. Design metadata and the publishing workflow

    Data stewards, publishing staff and reviewers agree on the metadata fields, licence terms, update frequency and approval steps for each dataset type, including who may publish, who may amend and how restricted datasets are withheld or reduced to aggregates. DeployOpen maps these fields to CKAN schemas and sets up roles and organizations to match your departments. The output is a metadata specification and a written publishing workflow that a reviewer can test against sample datasets.

  4. Install CKAN and configure the DataStore

    DeployOpen installs CKAN in your environment with the supporting services it requires, then configures the DataStore in its own PostgreSQL database with a write user for the loading process and a read-only user for the public Data API. Database permissions are set so the public role cannot modify tables. Loading of large time series files is configured through XLoader. The output is a working staging instance, a documented database role matrix and test loads that confirm filtering, pagination and SQL queries return the expected results.

  5. Build automated update pipelines for time series

    DeployOpen builds the jobs that extract approved data from source systems, transform it into the agreed formats, apply aggregation or suppression rules for restricted fields and push new records to the DataStore on your chosen schedule. Each run logs row counts, errors and the source timestamp so that gaps are visible to staff. Failed runs leave the previously published version in place. The output is a tested pipeline with run logs, a recovery procedure and a sample of published time series checked against the source by your data owner.

  6. Harden the portal and test before go-live

    DeployOpen applies a hardening baseline to the operating system, web server, CKAN, the database and the pipeline credentials, covering access control, patching, logging and encryption in transit. Security testing covers the public site, the Data API and the publishing interface, and results are reviewed with your security team and fixed before release. Identity for staff is integrated with your existing single sign-on where supported. The output is a hardening record, a test report with closed findings and a list of accepted residual risks signed by the system owner.

  7. Launch and hand over to support

    DeployOpen supports the production cutover, verifies publication and metadata on live datasets and runs the first update cycles with your operations staff watching. The handover covers runbooks for updates, backups, restores, CKAN upgrades and incident response, plus training for publishers and reviewers. Any ongoing support, upgrades or continuous testing are agreed separately as a retainer. The output is a signed handover pack, a live portal with an operating schedule and a named support contact for each system component.

Evidence regulators and auditors ask for from an energy open data portal

This table maps each piece of evidence a grid operator or utility might be asked to show to the requirement it supports and the component that produces it. Read it as a preparation list: DeployOpen prepares the records, while auditors and regulators make the assessment, and no CIP certificate exists.

Evidence itemRequirement it supportsComponent that produces it
Data classification registerCIP-002 impact categorization and CIP-011 information protection expectations for which datasets are public, restricted or excludedDocumented register maintained by the data owner, with the CKAN dataset metadata and access level as the link to each published record
Approval log for each publicationEvidence that a named reviewer cleared each dataset for release before it became publicCKAN activity stream and workflow records, retained with the reviewer's identity and the date of approval
Documented boundary between operational systems and the portalCIP-005 electronic security perimeter scope, showing that the portal has no routable path into BES Cyber SystemsNetwork diagram, data flow diagram and firewall rule set maintained by the operator's security team and reviewed on a set cycle
DataStore role separation settingsLeast-privilege access for data loading and public reads, supporting CIP-004 and CIP-007 access controlsCKAN DataStore configuration with a separate write user and a read-only user, plus the database grants applied at deployment
Update job logsEvidence that scheduled publication and refresh jobs ran as designed and that failures were caught and handledScheduler and XLoader job logs, retained with timestamps, dataset identifiers and error records
CKAN version and patch historyConfiguration and vulnerability management evidence showing the portal runs a supported releaseChange records covering each CKAN patch and minor upgrade, checked against the CKAN release policy and the current release list
Access logs for staff accountsCIP-007 and CIP-005 expectations for account monitoring, interactive remote access and multi-factor authentication where applicableWeb server, CKAN and identity provider logs, forwarded to the operator's log platform with retention set by the operator
Vendor and software integrity recordsCIP-013-2 supply chain risk management, covering software integrity and authenticity verification and vendor-initiated remote accessSource checksums, signed package records, dependency inventory and vendor access logs, reviewed at least every 15 calendar months

Questions to ask an open data portal implementation partner in energy

Ask the partner first how it decides which of your datasets fall under CIP scope and how it classifies them before anything is published. A utility or regulator should expect the partner to walk through a written data classification that marks each network, consumption or generation dataset as open, restricted or excluded, with the reason tied to CIP-011-3 on information protection and to your own asset registry. Ask who signs off each classification, how a dataset is reclassified after a grid change, and whether the partner will show a sample of a rejected dataset. A partner that cannot name the decision owner on your side is likely to leave the boundary to chance, and the cost of a wrong call is a published asset map that an adversary can use. Confirm with your compliance team which CIP standards apply to your registration, since the NERC CIP page lists the current enforceable set.

Ask how the partner will document the boundary between the portal and your operational systems. The answer should include a diagram of network zones, the direction of every data flow, and the controls at each crossing, including whether any routable connection sits inside an Electronic Security Perimeter as CIP-005-7 requires. Ask for the vendor supply chain plan that covers the portal's software, including how CIP-013-2 incident notification, vulnerability disclosure and software integrity checks will be handled for each component, and how often that plan is reviewed. Also ask how the partner verifies that the DataStore read-only user cannot write to the write-user schema, and how it tests the public Data API under large queries, such as multi-year interval data, with pagination and time limits set. Request the test scripts and results, not only a summary. Finally, ask which CKAN minor and patch release the partner will pin, how it applies patches within the support window described in the CKAN release policy, and how it verifies the source of each Python and Solr dependency. Ask for the fixed scope in writing, with named deliverables, acceptance tests and the support and upgrade terms that apply after go-live, including who patches the portal and how quickly a security fix is applied.

Open data portal questions energy teams ask before hiring help

What drives the cost and effort of an energy open data portal build?

The biggest drivers are how many datasets need classification, how many feeds must be automated, and how much of the work is new integration versus configuration. Each line item has a different payer: your staff time for data owners and legal review, the implementation partner for scoped build work, and your own infrastructure for hosting. Most of the effort is one-time (classification, metadata mapping, DataStore loading and automation design), while patching, monitoring and retainer support recur. Ask any partner for a quote that separates these lines and states which datasets, feeds and environments are in scope, because a fixed scope is the basis for a comparable price.

How long does an energy open data portal rollout take, and what sets that timing?

The timing is set mostly by how fast your organization can decide what is open and what is restricted, not by the software install. Dataset classification, legal review of network and critical infrastructure data, and sign-off on update schedules often take longer than the technical setup. Other factors include whether the portal must be hosted inside an existing security perimeter, how many source systems feed the DataStore, and how much history must be loaded. Ask a partner to tie the schedule to named milestones in the written scope, and confirm which of your reviews sit on the critical path.

What does the work need from our own staff?

Your staff must make decisions that no implementer can make for you. You need data owners who can say which fields in network, consumption and generation datasets are public, aggregated, or restricted, and a security owner who can approve hosting, access accounts and the network path to the portal. Operations staff must own the update feeds and the on-call contact for failures. Plan for these people to be available during classification, design review and acceptance testing, and ask the partner to list the exact roles, approvals and review cycles it expects from you before work starts.

Can an internal team build an energy open data portal without a partner?

An internal team can build a CKAN portal if it has Python, PostgreSQL, Solr, Redis and web server skills, and enough time to keep the system patched. The harder parts are usually the ones outside the software: classifying restricted data, designing DataStore access for large time series, automating updates safely, and producing evidence for a regulator or auditor. Consider whether your team will still have those skills after launch. A partner can take on a fixed-scope part of the work, such as installation, integration or hardening, while your staff keep ownership of data decisions and operations.

Does the open data portal itself have to meet NERC CIP requirements?

It depends on whether the portal is a BES Cyber System or is connected to one, and that determination belongs to your compliance team with NERC and your Regional Entity. The portal is often separate from operational technology, but a feed or connection to control-system data can bring it into scope. NERC lists 13 CIP standards as mandatory and enforceable in the United States as of October 17, 2026, and the maximum civil penalty is $1,584,648 per violation per day under 18 CFR 385.1602. Ask your compliance lead to document the scoping decision before design starts, and confirm the impact categorization under CIP-002-5.1a with your registered entity.

How do we keep a CKAN portal patched after launch?

Patching is a recurring obligation, so budget for it as a service rather than a one-off task. CKAN targets about two minor releases a year, and the project supports the latest patch of the current minor version and the previous minor version. Outdated patch releases lose support once a newer patch is out, and CKAN patch releases do not include schema changes or new features, while minor releases can include backwards-incompatible changes. Agree on a schedule for testing and applying patches in a non-production environment, and check the CKAN release policy and the current release notes before each cycle. Support and upgrades can be covered by a retainer.

Which parts of the energy portal need security review beyond the public website?

Review the data path, not only the public front end. The DataStore keeps a separate write user and a read-only user, so access roles, database credentials and the Data API endpoints should each be reviewed. Update automation that pulls from operational systems needs its own credentials, logging and failure alerts. Ask your security team to review how the portal is hosted, which networks can reach the update jobs, and how identity is integrated for staff accounts. Also confirm whether NERC CIP-013-2 supply chain requirements apply to any vendor who touches your systems, including an implementation partner.

How DeployOpen scopes and builds an energy open data portal

DeployOpen is a Chainscore Labs company that plans, implements, customizes, hardens, documents and supports self-hosted open-source platforms inside the client's own infrastructure. For an energy open data portal, that means a CKAN deployment in your cloud account, data center or air-gapped network, with a written scope that separates publishable datasets from restricted operational data before any publishing begins.

How we scope

  • Inventory every network, consumption and generation dataset and classify each as open, restricted or withheld before choosing a publishing model.
  • Map which datasets fall under NERC CIP obligations, so critical infrastructure data is reviewed with your compliance and security owners first.
  • Agree in writing which DataStore resources, API endpoints, harvesters and update jobs are in scope, along with acceptance criteria.

How we build

  • Install CKAN with its PostgreSQL, Solr, Redis and web tier in your environment, with the DataStore's separate read-only user configured from the start.
  • Configure XLoader for large time-series loads and test the Data API with filtering, pagination and SQL queries against realistic file sizes.
  • Set up scheduled update automation, access roles and, where needed, DCAT metadata output, then test each path before go-live.

How we hand over

  • Document the architecture, network boundaries, data classification rules, publishing workflow and update jobs for your operations and compliance teams.
  • Deliver runbooks for backups, restores, patching and CKAN release upgrades, so your staff can operate the portal without outside help.
  • Provide evidence packs listing configuration, access controls and test results to support your own compliance assessments, which independent auditors perform.

How we support

  • Offer ongoing support, upgrades and continuous testing as a retainer, scoped separately from the initial fixed-scope build.
  • Track CKAN minor and patch releases against the project's support policy and plan upgrades within your change control windows.
  • Run security testing of the portal's applications, APIs and infrastructure on a schedule agreed with your security team.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.