Third-Party Register — chwr_LCA¶
This register covers every third-party standard, data source, classification system, library, and service that the tool touches or will touch at runtime, in CI, or in documentation.
Maintenance rule: update this file whenever a new dependency is added or an existing
dependency's role, licence, or risk profile changes. Entries with UNKNOWN licence must
be resolved before the dependency is used in any calculation that feeds a reported result.
1 — Standards referenced in methodology (not redistributed)¶
| Name | Type | How used | Licence / access | Redistributed? | Disappearance risk | Mitigation |
|---|---|---|---|---|---|---|
| ISO 14040:2006 | Standard | Governs LCA framework (goal, scope, inventory, LCIA, interpretation) | © ISO — purchase required | N | L | Methodology is described in PROJECT.md / METHODOLOGY.md; the standard itself is not embedded |
| ISO 14044:2006 | Standard | Requirements and guidelines for LCA; defines comparative-assertion rules | © ISO — purchase required | N | L | Same as above |
| EN 15804+A2:2019 | Standard | Product-level EPD rules (PCR); indicator set, declared unit, system boundary | © CEN — purchase required | N | L | Same as above |
| EN 15978:2011 | Standard | Building-level LCA; module structure A1–D; reporting per §9 | © CEN — purchase required | N | L | Same as above |
| ISO 21931-1:2010 | Standard | Sustainability framework for buildings; referenced for scope definition | © ISO — purchase required | N | L | Same as above |
| ISO 6946:2017 | Standard | Building components R-value and U-value calculation (thermal module) | © ISO — purchase required | N | L | Formulas documented in METHODOLOGY.md |
| ISO 13786:2017 | Standard | Thermal performance of building components — dynamic thermal characteristics | © ISO — purchase required | N | L | Same as above |
| ISO 10456:2007 | Standard | Thermal properties of building materials — tabulated values | © ISO — purchase required | N | L | Relevant table values are transcribed into seed data with citation |
| ISO 15686-1:2011 | Standard | Buildings — service life planning; RSL methodology | © ISO — purchase required | N | L | Same as above |
| ISO 14071:2014 | Standard | Critical review process and reviewer competency (external review target) | © ISO — purchase required | N | L | Drives methodology defensibility requirements |
2 — Impact characterisation factors¶
| Name | Type | How used | Licence / access | Redistributed? | Disappearance risk | Mitigation |
|---|---|---|---|---|---|---|
| EF 3.1 (Environmental Footprint 3.1) | Characterisation factors | Mandatory LCIA method per decision #1; maps elementary flows to impact indicator scores | European Commission — free; specific redistribution terms UNKNOWN | N | L | Factor values embedded in EPD data (via EPD programme operators); EC has long track record for EF series; flag licence UNKNOWN for legal review |
| IPCC EFDB (Emission Factor Database) | Data source | Grid electricity emission factors per country (B6 module) | IPCC — free; data policy: https://www.ipcc-nggip.iges.or.jp/efdb/main.php | N | L | Factors transcribed as seed data in backend/app/data/grid_factors/ with citation; IPCC data considered public domain for non-commercial use |
| ASHRAE Handbook of Fundamentals (CLTD/CLF/SCL tables) | Data source | No longer used. Previously the intended cooling-load source for the B6 thermal engine | © ASHRAE — purchase required; tables may not be redistributed | N | — | Superseded 2026-08-29 (AR-31 resolved). The values cannot be vendored under AGPL and no available ASHRAE grant would change that; the project computes cooling loads from first principles instead. Full verdict and the replacement sources in §2a below. |
2a — Climate and weather data (thermal / operational-energy inputs)¶
Vendoring status is determined by the investigation in
docs/methodology/climate-data-licence-clearance.md (Session 17). Statuses carry the same meaning
as in §3:
- CLEARED — values may be committed to the public repository and redistributed under AGPL.
- RESTRICTED — usable at runtime, or under a separate non-AGPL component, but must not be committed to the public repository.
- BLOCKED — do not vendor; clearance is either unobtainable or not obtained.
The decisive test for this family is AGPL downstream parity: every recipient of the conveyed program must receive the same freedom to run, study, redistribute and modify. A licence that grants rights to this project only fails, however generous it is to this project.
| Name | Vendoring status | Operative licence / basis | Cost | AGPL downstream parity? | Mitigation / notes |
|---|---|---|---|---|---|
| NASA POWER | CLEARED | US Government open-data policy — no copyright; commercial use and redistribution permitted; attribution requested as a courtesy | Free | Yes | Primary climate source (AR-60). Solar irradiance components, dry-bulb, dew point, humidity, wind. ½° lat × ⅝° lon (MERRA-2) for meteorology, 1° × 1° (CERES) for solar. Continuous global grid — removes the latitude-band interpolation problem rather than licensing it. Attribution wording is AR-61 item (c). |
| ERA5 via Copernicus CDS | CLEARED (attribution) | Copernicus licence — reuse, redistribution and commercial use permitted with attribution to C3S / ECMWF | Free | Yes, with attribution retained | Secondary source where higher resolution helps. Larger data-handling burden (CDS queueing). Attribution must be carried into docs site, API responses and exported reports. |
| PVGIS (JRC, European Commission) | CLEARED (attribution), verify | EC reuse policy; built on SARAH / ERA5 | Free | Yes, with attribution | Secondary source. Confirm the exact JRC reuse notice for the specific product used before relying on it. |
| Calculation coefficients computed from first principles | CLEARED | No third-party licence — physics plus this project's own AGPL code | Free (development effort) | Yes | The chosen calculation method is the EN ISO 52016-1 hourly kernel (AR-60 → AR-64). Methods are not copyrightable; the coefficients are derived in project code from layer properties. RTS / Heat Balance was equally clear on licence and was rejected on fitness for the B6 functional unit, not on licence. |
| ASHRAE CLTD/CLF/SCL tables (Handbook–Fundamentals) | BLOCKED | All-rights-reserved; per-request, non-transferable written permission only | Permission fee varies; requires owning the publication | No — permission stops at the licensee | Superseded method: ASHRAE itself replaced CLTD/CLF/SCL with RTS. Reproducing literal tables also risks US compilation copyright; re-expressed coefficients are safer, but the licence and contract barrier stands regardless. |
| ASHRAE Climatic Design Data License for Software Developers (RP-1923, 2025) | RESTRICTED | Non-exclusive perpetual embed licence; attribution "Climatic Design Data © 2025 ASHRAE… Used with permission." | $2 000 one-time | No — non-exclusive to the purchaser | Covers Chapter 14 climatic design conditions, not the cooling-load tables. Viable only as a closed optional module outside the AGPL distribution, or a runtime layer the end user provisions. Not currently pursued. |
| ASHRAE Weather Data Viewer 2025 | BLOCKED | Annual single-user subscription, terms-of-use gated | Annual per-seat subscription | No | Subscription access is not a redistribution licence. |
| climate.onebuilding.org (TMYx / EPW / DDY) | BLOCKED | "Copyright © 2014-2026 Climate.OneBuilding. All Rights Reserved." — no redistribution grant published | Free download | No — no licence granted | Free to download is not licensed to redistribute. The underlying NOAA ISD (US public domain) and ERA5 are redistributable at source — use the primaries. Non-TMYx files carry separate national-service terms. |
| EnergyPlus EPW weather files (DOE / NREL) | MIXED — per file | EnergyPlus Open Source License v1.0 covers software and docs; each weather file carries its own source terms | Free | Per-file | Many files derive from US public-domain sources and are redistributable; others (e.g. ISHRAE © 2005, national met services) are "for use at no cost" only. Must be cleared file by file (AR-61 item 5). |
| Meteonorm | BLOCKED | Proprietary EULA; redistribution of generated data to third parties — including via software or web applications — prohibited without a separate written agreement | ~CHF 675 first licence (excl. VAT); ~CHF 350 each additional | No — explicitly forbidden | EULA §II.c.8.2 bars "indirect provision of access… by making available to third parties results based on the data (e.g. through web applications, simulation software)", with a CHF 3 000-per-instance penalty at §VI. Fundamentally incompatible with a public repository. |
| EN ISO 52016-1 / ISO 15927 (parts) | METHOD USABLE; text BLOCKED | ISO standards are copyrighted and sold as DRM PDFs | Standard purchase, per document | Yes for an independently implemented method; No for the text and tables | EN ISO 52016-1 hourly is the adopted B6 kernel (AR-64). Methods are not copyrightable: the algorithm may be implemented, the standard's text and tables may not be redistributed — cite, do not quote. Needs open weather data as input either way. Also listed in §1. See docs/methodology/b6-operational-energy-spec.md. |
Decision (2026-08-29, resolving AR-31): no ASHRAE-derived cooling-load or climatic-design value is committed to the public repository. The cooling-load calculation is built from first principles by an independently implemented EN ISO 52016-1 hourly kernel (AR-64) and driven by NASA POWER, with ERA5 and PVGIS as attribution-bearing alternatives. This is a from-scratch build, not a migration —
domains/energy,domains/thermalandlca.b6are scaffolds with no logic. Seedocs/methodology/climate-data-licence-clearance.mdfor the full clearance, and action-register rows AR-60 (the build), AR-61 (Phase 3 legal review) and AR-62 (the reference workbook's latitude-selection defect).
3 — EPD programme operators (foreground data sources)¶
All EPD impact factors are sourced from the programme operators below. Individual EPD
documents carry their own copyright. The tool stores impact values (not full EPD text) in
seed EPD JSON files. Each entry in backend/app/data/seed_epds/ must cite the source
EPD URL or DOI.
Vendoring status is determined by the investigation in
docs/methodology/epd-source-licence-clearance.md (Session 5.2). Statuses:
- CLEARED — impact values may be committed to seed_epds/ in the public repository.
- RESTRICTED — values may be used at runtime (with citation) but must not be committed
to the repository without a signed data agreement. IBU data that appears in ÖKOBAUDAT
may be reached via the ÖKOBAUDAT copy (cited as ÖKOBAUDAT).
- BLOCKED — redistribution requires per-EPD or per-source clearance not yet obtained;
do not vendor or commit.
- UNKNOWN — redistribution terms not determined; treat as BLOCKED pending resolution.
| Name | Vendoring status | Operative licence / basis | Continuity risk | Mitigation |
|---|---|---|---|---|
| ÖKOBAUDAT (Germany) | CLEARED | DL-DE-BY-2.0 (Datenlizenz Deutschland — Namensnennung 2.0). Permits redistribution with attribution; no ShareAlike; no ND clause. Values downloaded unmodified; schema transform to openEPD is permitted. | L — German Federal Ministry; long-term stable | Attribution statement must appear in docs site, API responses, and exported reports. Every seeded value must document geographic scope (EU-contextualised; see decision #25). |
| openEPD (Building Transparency) | CLEARED | Apache-2.0. Clears the act of serialising values in openEPD format. This is a schema licence, not a data-source licence — it does not clear any programme operator's data. | L — actively maintained, pinned version | See §6 for schema version pin. |
| INIES (France) | RESTRICTED | Proprietary; free access at inies.fr; redistribution in a third-party tool or database requires a formal written data agreement with INIES/ADEME. | M | Values usable as methodology citations (URL) and at runtime from the INIES API/website. Do not commit to seed_epds/. Contact INIES/ADEME if signed agreement is pursued. |
| EPD Norge | RESTRICTED | Proprietary; free access; redistribution in a third-party tool requires written consent from EPD Norge. | M | Same as INIES. IBU-origin EPDs mirrored in ÖKOBAUDAT are reachable via the ÖKOBAUDAT copy under DL-DE-BY-2.0. |
| IBU (Institut Bauen und Umwelt, Germany) | RESTRICTED | Proprietary; free access via ecoPortal / IBU library; redistribution requires IBU licence agreement. Exception: IBU EPDs mirrored in ÖKOBAUDAT may be committed via the ÖKOBAUDAT copy (cite ÖKOBAUDAT as access point; cite IBU as original source in justification_text). |
M | Via ÖKOBAUDAT mirror where available; otherwise runtime/cited-only. |
| EPD International | BLOCKED | Proprietary; no blanket redistribution right; each EPD requires per-EPD clearance from the commissioning company. | M | Do not vendor or commit without per-EPD written clearance. Citation in methodology documents is permitted. |
| EPDASA (EPD Australasia) | UNKNOWN | Terms not published on EPDASA website at time of investigation (2026-07-15). | M | Marco to contact EPDASA directly for written redistribution terms. Treat as BLOCKED until confirmation received. |
Decision #25 (PROJECT.md): The public repository builds and runs from vendored ÖKOBAUDAT seed EPDs alone. No required impact factor may depend on a RESTRICTED or BLOCKED runtime source. RESTRICTED sources (INIES, EPD Norge, IBU-direct) are an optional runtime/citation layer — never committed. See
docs/methodology/epd-source-licence-clearance.mdfor full clearance rationale.Pre-public-release legal-review items: See §5 of the EPD licence-clearance doc for EF 3.1 redistribution, ÖKOBAUDAT attribution compliance, and DTU 26.1, and §5 of the climate-data licence clearance for the EU database-right, contract-versus-copyright, and NASA POWER / ERA5 / PVGIS attribution items (AR-61). ASHRAE table redistribution is closed — answered 2026-08-29, verdict "not vendorable", method changed (AR-31, §2a above). These are tracked as GitHub issues tagged
legal-review.
4 — Literature and reference material¶
| Name | Type | How used | Licence / access | Redistributed? | Disappearance risk | Mitigation |
|---|---|---|---|---|---|---|
| Pedrazzi, M. (thesis — Kalan Deme So, Mali) | Thesis / reference | Primary methodology validation target; regression test numbers in backend/tests/regression/test_kalan_deme_so.py |
© Pedrazzi, all rights reserved | Y (reference/thesis/pedrazzi_compressed_eng.pdf — private repo only) | L | File in reference/ (read-only); not published externally; repo is private until Phase 3 |
| CRAterre publications | Peer-reviewed literature | Earth material thermal and mechanical properties | © respective journals / authors | N | L | Values cited with DOI in seed data |
| RILEM TC 274-TCE | Peer-reviewed literature | Earth material performance data | © RILEM / journal publishers | N | L | Same |
| Ben-Alon et al. (peer-reviewed papers) | Literature | Earth-material LCA references | © journal publishers | N | L | Same |
| DTU 26.1 | Technical report | Thermal properties of earth construction (Danish Building Research Institute) | UNKNOWN | N | M | Cited with reference; obtain redistribution confirmation before publishing values |
| XP P13-901:2001 | French pre-standard | Compressed earth block test methods | © AFNOR — purchase required | N | L | Methodology reference only; no redistribution |
5 — Classification systems¶
| Name | Type | How used | Licence / access | Redistributed? | Disappearance risk | Mitigation |
|---|---|---|---|---|---|---|
| MaterialCategory (project-owned) | Classification | Primary / canonical internal classification for domain logic (branching, grouping, aggregation). StrEnum in backend/app/schemas/enums.py |
AGPL-3.0-or-later (project-owned) | Y (source code) | L | No external dependency |
| Uniclass 2015 (NBS / Hubexo) | Classification | External code that may be attached to Assembly and Material records; validated for format only (regex ^[A-Z][a-z]_\d{2}_\d{2}_\d{2}$); never validated for membership. Tables are not committed to the repository. |
CC BY-ND 4.0 — redistribution permitted; no derivatives. NBS asks users not to adapt tables or add codes. | N (tables removed in Session 3.8 per decision #22) | M | Format-only validation requires no vendored table; users supply their own codes. Earth-material codes missing from Uniclass are represented in MaterialCategory. |
| IFC entity codes (ISO 16739-1) | Classification | Optional external code on Assembly records; validated for format only (regex ^Ifc[A-Z][A-Za-z]+$); no IFC schema file vendored |
© buildingSMART International — IFC schema is freely available; redistribution of the schema file would require buildingSMART terms review | N | L | Format-only validation; no vendored schema |
| UN CPC v2.1 | Classification | Optional external code on Material records; validated for format only (regex ^\d{5}$) |
© United Nations Statistics Division — free; public domain for non-commercial statistical use | N | L | Format-only validation; no vendored table |
6 — Data schema and internal format¶
| Name | Type | How used | Licence / access | Redistributed? | Disappearance risk | Mitigation |
|---|---|---|---|---|---|---|
| openEPD 6.34.2 (Building Transparency) | Schema + Python library | Internal EPD data format; Epd Python class used to parse and serialise EPD objects; commit SHA 1d48815c135e2d599583e7c10cd65ca706266ea1 pinned in docs/methodology/openepd-subset-decision.md |
Apache-2.0 | N (library installed from PyPI, not committed) | L | Pin exact version; schema is open and stable; Building Transparency actively maintains it |
7 — Runtime Python dependencies¶
All packages are installed from PyPI and not redistributed in the repository. Licences
confirmed from importlib.metadata on the installed environment.
7a — Core runtime¶
| Package | Version constraint | Licence | Disappearance risk | Mitigation |
|---|---|---|---|---|
| fastapi | ≥ 0.115 | MIT | L | — |
| uvicorn[standard] | ≥ 0.32 | BSD-3-Clause | L | — |
| pydantic | ≥ 2.9 | MIT | L | — |
| pydantic-settings | ≥ 2.6 | MIT | L | — |
| pydantic-extra-types | ≥ 2.10 | MIT | L | — |
| pycountry | ≥ 22.3 | LGPL-2.1-only | L | LGPL copyleft applies to modifications of the library itself, not to software that uses it as a runtime dependency; no modification intended |
| sqlalchemy | ≥ 2.0 | MIT | L | — |
| alembic | ≥ 1.14 | MIT | L | — |
| psycopg[binary] | ≥ 3.2 | LGPL-3.0-only | L | Same LGPL note as pycountry |
| python-multipart | ≥ 0.0.12 | Apache-2.0 | L | — |
| httpx | ≥ 0.27 | BSD-3-Clause | L | — |
| openepd | == 6.34.2 | Apache-2.0 | L | Pinned; see §6 |
7b — Development / CI only¶
| Package | Version constraint | Licence | Disappearance risk | Mitigation |
|---|---|---|---|---|
| pytest | ≥ 8.3 | MIT | L | — |
| pytest-cov | ≥ 6.0 | MIT | L | — |
| pytest-asyncio | ≥ 0.24 | Apache-2.0 | L | — |
| ruff | ≥ 0.7 | MIT | L | — |
| mypy | ≥ 1.13 | MIT | L | — |
| pre-commit | ≥ 4.0 | MIT | L | — |
| openpyxl | ≥ 3.1 | MIT | L | Used in tests for reading reference Excel files |
| hatchling | (build system) | MIT | L | Only needed at build time; not a runtime dep |
7c — Documentation build only¶
| Package | Version constraint | Licence | Disappearance risk | Mitigation |
|---|---|---|---|---|
| mkdocs | == 1.6.1 | BSD-2-Clause | M | Tech-debt flag: MkDocs development pace has slowed; version pinned to 1.6.1. Monitor upstream for 2.x migration path. |
| mkdocs-material | == 9.7.6 | MIT (community edition) | L | Community edition is free and open; Insiders features not used |
| pymdown-extensions | == 11.0.1 | MIT | L | — |
8 — Infrastructure and services¶
| Name | Type | How used | Licence / access | Redistributed? | Disappearance risk | Mitigation |
|---|---|---|---|---|---|---|
| PostgreSQL 16 | Database | Primary persistence layer | PostgreSQL License (BSD-like, permissive) | N | L | Industry-standard; replaceable at ORM layer |
| Cloudflare Pages | Hosting service | Docs site hosting (static build output) | Proprietary — free tier | N | M | Docs site is static; build artifact can be redeployed to any static host (Netlify, GitHub Pages, self-hosted nginx) in one CI change |
| GitHub | Hosting / CI service | Repository, GitHub Actions CI, CLA bot integration | Proprietary — free for public/private repos | N | M | git history and CI configs are portable; Actions can be replaced by GitLab CI or Forgejo |
| contributor-assistant/github-action | GitHub Action | CLA signature enforcement on pull requests | MIT | N | L | CLA signatures stored in .github/cla-signatures.json in the repo; bot is replaceable |
Last updated: Session 17 (2026-08-29) — §2a climate and weather data added, ASHRAE row superseded. Maintained by Chiwara S.r.l.