PortfolioCheck · Knowledge Centre Knowledge Centre ← Back to the tool

Knowledge Centre

Everything in one place, so you can understand and assess the tool without a call or a sign-up: what it is, who built it and why the numbers are trustworthy, the full methodology (every formula), how it is validated, the questions every visitor asks, and a glossary. Whether you are a bank risk executive, the Bank of Ghana, the EPA, the IFC or the World Bank.

No matches — try a different term, or clear the search.

For your IT & data team (Bank of Ghana / bank review)

Two pre-read briefings map every claim to code or a config flag — deployment, where data is stored, what (if anything) leaves the box, security controls, deployment topologies and how updates and support work across many on-premise installs. Both print cleanly to A4. You can also check a running install live.

Start here

PortfolioCheck screens a Ghanaian bank's property/mortgage book for physical climate risk — flood, coastal/sea-level, extreme heat, riparian proximity, land/contamination and drought — at the level of each individual asset, then translates that into collateral and credit terms (haircut, stressed LTV, an indicative climate ECL overlay) and structures it for the Bank of Ghana Climate-Related Financial Risk Directive. It is built for bank risk & sustainability teams, and a Supervisor edition aggregates it for the Bank of Ghana.

The nine surfaces

Dashboard

Live KPIs, a Ghana risk map, filters, the IPCC/NGFS scenario toggle and an action queue. Open →

Originate

Screen a single mortgage at application: refer / proceed-with-conditions / proceed. Open →

Board report & BoG return

The printable, regulator-ready report and the semi-annual return. Open →

Supervisor edition

The Bank-of-Ghana system-wide view across banks. Open →

Model validation

The Accra-2015 flood hindcast, parameter sensitivity, governance & changelog. Open →

Technical specification

The living review document — every formula & constant, auto-generated from the engine. Open →

BoG Directive alignment

The living clause-by-clause map to the Climate-Related Financial Risk Directive (2024) — what the tool produces, feeds, and leaves to the bank. Open →

IT & Data Protection

The briefing for a bank/BoG IT & data review — deployment, data flows (what leaves the box), security controls, air-gap and integration. Open →

Architecture-fit sheet

For an IT/QA review — language & dependencies, where data is stored, deployment topologies, and how it consumes BoG's ORASS pipe. Open →

Your first five minutes

  1. Open the Dashboard — it loads a synthetic 200-asset demo book, no sign-up.
  2. Read the summary and the headline KPIs (exposure at High+ risk, collateral shortfall, climate ECL).
  3. Flip the scenario & horizon (Today / 2030 / 2050 / 2100; IPCC or NGFS) to watch risk migrate.
  4. Click any asset to see its hazard profile, its future under each scenario, and to record completed adaptation measures that re-score it.
  5. Open the Board report and the BoG return to see the regulatory deliverables — then bring your own book via the upload.

Who built it & why you can trust the numbers

Built by Dr. Minka Aduse-Poku — a Ghanaian environmental & climate scientist (PhD, University of Cologne, 2025), peer reviewer for the Elsevier journals Urban Climate and Building and Environment, and published on climate-risk methodology. Independent and Ghana-focused — not a repackaged global product. The purpose of this page is that you can assess the tool yourself, cold, without taking anyone's word for it.

Nothing is hidden

Every formula and constant is published in the living technical specification — generated from the running engine, so it can never drift from the code.

It shows its own validation

An Accra 3-June-2015 flood hindcast (it flags the flooded localities and spares the higher ground) plus a parameter-sensitivity table — the evidence a model-validation team asks for.

Your data never leaves the bank

It deploys on-premise / air-gapped; the public demo runs in your browser and stores nothing. No book is uploaded to any vendor cloud.

No lock-in, continuation-proof

A standard open stack, no proprietary dependencies; the full methodology and code are portable and can be handed to your own team or any successor — not a black box tied to one person.

It is honest about its limits. This is screening-grade decision-support — not a property valuation, an insurance determination, or a substitute for your IFRS 9 / PD-LGD models; it covers physical (not transition) risk; and its financial constants are illustrative until calibrated to your own loss data. Every board report carries a gap register naming exactly what the screen does not do and who must close it.

On the regulator: the tool is built to the Bank of Ghana Climate-Related Financial Risk Directive and speaks its language — the semi-annual return, NGFS scenarios, PCAF data quality. We are actively willing to engage the Bank of Ghana to align it to their standardized disclosure template. That is offered as a collaboration, not a claim of pre-approval — the methodology is fully open here for any supervisor to examine.

Responsible use & data protection

This tool is for pricing and de-risking, not exclusion. Flagging a property as high-risk is an input to risk-based pricing, an adaptation condition, or a green / resilience loan — never a reason on its own to deny a community credit. Ghana's most climate-exposed neighbourhoods are often its most underserved; used well, the tool keeps credit flowing to them by turning a flood risk into a financeable, verifiable fix (the drainage / raised-plinth adaptation credits) rather than a blanket "no". It must not be used to redline a locality, and the borrower's individual circumstances and any completed adaptation must always be weighed.

Data protection (Ghana Data Protection Act, 2012 — Act 843). The tool screens property locations and loan attributes, not personal data — it needs only a location, exposure and LTV, not borrower PII. The public demo is wholly synthetic and stores nothing; an uploaded book is held in memory only. For a real book the tool deploys on-premise / air-gapped, so data never leaves the bank; accounts use hashed passwords and server-side sessions, and the app sends a strict set of security headers (HSTS, CSP, anti-framing, no-sniff). See the full IT & Data-Protection briefing for the data-flow table (what leaves the box), air-gap operation and deployment.

Accessibility. The tool works toward WCAG 2.2 AA: risk is conveyed by text labels as well as colour (never colour alone), the map carries an accessible label and the same data is in the sortable table, the action queue is keyboard-navigable (tab to a row, press Enter), and animations honour the reduce-motion setting. A full independent audit is on the roadmap — if you hit a barrier, tell us and we'll fix it.

How the tool works

The pipeline: ingest a book → geolocate each asset (coordinates, GhanaPostGPS, or geocoded address) → screen six hazards → combine into a composite vulnerability → translate to money (AAL → collateral repricing → climate ECL) → project under IPCC/NGFS scenarios → apply recorded adaptation → output the dashboard, board report and BoG return.

The six hazards

HazardWhat it captures
FloodPluvial / riverine flood susceptibility at the parcel (urban flood basins, drainage).
CoastalCoastal erosion & sea-level rise from shoreline proximity and documented hotspots.
HeatExtreme-heat / thermal stress (latitude gradient + urban-heat-island).
RiparianProximity to watercourses and their buffers.
LandProtected-area / Ramsar / contamination land constraints.
DroughtWater-stress / dry-spell exposure (savanna north).

Seed vs live screen, and satellite-observed flood

Two depths of screen. The seed model is an instant, offline Ghana-geography model — the right tool to triage a whole book fast. A live screen overlays the on-premise SafeGround and FloodGuard engines for an authoritative single-asset read, and is the default at origination. A live screen also queries Sentinel-1 — Copernicus C-band radar that sees through cloud, day or night — for observed flood: where the satellite actually recorded standing water on the parcel (UN-SPIDER change detection), the flood finding is floored at 0.85 (Critical) and labelled as measured reality, distinct from modelled susceptibility, with the date it was seen. This is strongest for open-water / floodplain / riverine exposure (for example the Lower Volta / Akosombo 2023 floods); by its physics it does not capture brief urban flash-flooding under rooftops, so an empty result in a dense city is a sensor limitation, not an all-clear. Coverage (currently Greater Accra and the Lower Volta) is being extended nationwide under quality control.

Vulnerability score

Each hazard is scored 0–1. The composite is 50% weighted hazard load + 50% worst hazard, scaled to 0–100 and banded: Low <25 · Moderate 25–50 · High 50–75 · Critical ≥75. The 50% worst-hazard term means a single severe hazard cannot be diluted away by averaging.

A single-peril severity floor completes this: a near-certain or observed peril can carry the asset on its own — a worst hazard ≥ 0.85 floors the composite at 75 (Critical), and ≥ 0.70 floors it at 55 (High). So an observed Sentinel-1 flood (0.85) or a coastal designation lifts the whole asset even if the other five hazards are low — reconstructing a score from the blend formula alone will read low for such an asset; the floor is why the tool shows higher.

The six weights adapt to each asset through its risk profile (coastal / floodplain / farmland / urban), so the most eminent threat leads the composite — a sea-threatened villa is led by coastal / sea-level, a field by drought. A coastal or floodplain designation also floors that lead peril at High (transparently, only ever raising a score). Untagged assets use the standard building weighting, unchanged, and every weight is recalibratable to the bank's own loss experience.

Hazard → money

Two channels, kept separate so neither is double-counted. (1) Physical damage (AAL): per-hazard Average Annual Loss = ceiling × score1.5, combined across hazards; mostly uninsured in Ghana, so it falls on the collateral. (2) Market repricing: a forward collateral devaluation as the market prices in a share of that AAL plus insurability — this raises stressed LTV and LGD. Both feed an indicative ECL = PD × LGD × EAD overlay, with a downturn-floored LGD and a PD that rises with negative equity and uninsured damage. The per-hazard AAL ceilings are calibrated against the JRC Africa flood depth-damage curve (Huizinga et al. 2017); the per-asset AAL is a transparent screening proxy (ceiling × score1.5), not a full depth-damage integration. Every constant is illustrative and exposed for calibration to the bank's loss data.

Forward-looking scenarios

Every asset can be pulled through the three IPCC AR6 pathways (SSP1-2.6 / SSP2-4.5 / SSP5-8.5) and the three NGFS pathways (Net Zero 2050 / Delayed Transition / Current Policies) across 2030 / 2050 / 2100. Each hazard is intensified by an AR6-grounded factor (Rx1day rainfall, hot-day count, consecutive dry days, sea-level rise) applied with a bounded saturating projection s' = s(1+kf)/(1+s·kf), so a projection never exceeds 1.0 and a high-risk asset saturates while mid-range assets move most.

Adaptation & evidence gating

A bank records the measures completed on a property (drainage/SuDS, raised plinth, floodproofing, property flood resilience, sea defence, cool/green roof, retention); each carries a defensible risk-reduction credit that flows through band, AAL and ECL. Credits combine multiplicatively with caps. Crucially they are conservative by default: a measure is self-reported (zero credit) until the asset is evidence-verified — so a bank cannot lower a regulatory figure by self-attestation alone. To claim credit, the bank ticks the completed measures on the asset and files them with "Submit to BoG with evidence" — the ticked measures are bundled with the supporting documents into a dated case for the supervisor; the credit flows only once the Bank of Ghana accepts that evidence, and every case carries a tamper-evident fingerprint.

Data quality (PCAF)

Every asset carries a PCAF-style 1–5 data-quality flag (a screening tool is never better than 3). The honesty layer means a supervisor always sees how good the underlying data is.

Frameworks

Outputs are mapped to the BoG Climate-Related Financial Risk Directive, the Ghana Sustainable Banking Principles, IFRS S2 / TCFD, NGFS and PCAF. The board report carries a framework-conformance matrix and an honest gap register.

What it deliberately does NOT do. It is not a property valuation, an insurance determination, or the bank's PD/LGD or IFRS 9 ECL model; it covers physical (not transition) risk; forward figures are scenario estimates, not forecasts; and financial constants are illustrative until calibrated to the bank's loss data. It also does not constitute or replace an Environmental Impact Assessment or an EPA permit under LI 1652 / the Environmental Protection Act 1124 (2025); a high environmental flag should prompt the proper EPA process. It complements and feeds the bank's models — it does not replace or certify them.

FAQ

Grouped by who's asking. Use the search box above to jump to a topic.

General

What is PortfolioCheck, in one line?
A Ghana-localised tool that screens a bank's property/mortgage book for physical climate risk (flood, coastal, heat and more), translates it into collateral and credit terms, and structures the result for the Bank of Ghana Climate-Related Financial Risk Directive.
Is it a property valuation or an insurance determination?
No. It is screening-grade decision-support that flags collateral for attention. It is not a surveyed valuation, an insurance determination, or the bank's PD/LGD or IFRS 9 ECL model — it feeds those, it does not replace them.
How accurate are the numbers — are they real?
The hazard layers are Ghana-resolution; the financial constants are honestly labelled illustrative and exposed for calibration to a bank's own loss data. Every output is screening-grade triage, and the methodology and assumptions are shown, not hidden.
Is my data safe?
The public demo runs in your browser and persists nothing; uploaded books are held in memory only. For a production book the tool deploys on-premise / air-gapped, so the data never leaves the bank or the supervisor.
Do I have to sign up or upload anything to evaluate it?
No. The whole tool is open to explore with no sign-up — a synthetic 200-asset demo book is loaded so you can see the dashboard, the board report, the BoG return, the supervisor view, the validation page and the full technical specification without providing any data of your own.
Who built this, and is it independent?
It is built by Dr. Minka Aduse-Poku — a Ghanaian environmental & climate scientist (PhD, University of Cologne; peer reviewer for the Elsevier journals Urban Climate and Building and Environment; published on climate-risk methodology). It is a purpose-built Ghana tool, not a repackaged global product, and its entire methodology is published so it can be assessed on its merits.
What happens to the tool if the vendor disappears? (continuity)
It is deliberately continuation-proof: a standard open stack with no proprietary or single-platform dependencies, deployable on-premise, with the full methodology and code portable and documented. It can be handed to the bank's own team or any successor — you are never locked into one person or one platform. This is treated as a first-class design requirement, not an afterthought.

Responsible use

Won't flagging flood-prone areas lead to redlining poor communities?
No — and this is now enforced in the logic, not just policy. At origination, a high or under-collateralised climate flag on an ADDRESSABLE risk resolves to “Refer for adaptation structuring — finance a verifiable fix, then re-screen”, never a location-based denial; the decision object carries an explicit anti-redlining statement. A high-risk flag is an input to risk-based pricing, an adaptation condition, or a green/resilience loan. The most exposed neighbourhoods are often the most underserved; the tool is designed to keep credit flowing to them by turning a flood risk into a financeable, verifiable fix (the drainage/plinth adaptation credits). It must never be used to redline a locality, and completed adaptation and individual borrower circumstances must be weighed. This aligns with Ghana SBP Principle 3 and the IFC SBFN just-transition lens.
Does it cover nature / biodiversity risk (TNFD)?
No, and that is a deliberate, declared boundary. PortfolioCheck covers physical climate risk only. Nature-related financial risk — TNFD-style dependencies and impacts on ecosystems — is out of scope; the “Land” hazard is a proximity screen to protected areas / Ramsar wetlands / contamination, NOT a nature dependency or impact assessment. Assess nature-related risk through a separate TNFD-aligned process. (See the gap register on every board report.)
How does it fit the IFC SBFN and financial-inclusion goals?
The tool maps onto the IFC SBFN Measurement Framework (ESG integration + climate-risk management pillars — adopting one common physical-risk method advances a bank's ESG-integration and climate sub-indicators up the Formulating → Advancing → Maturing ladder) and completes all seven Ghana Sustainable Banking Principles (P4 financial inclusion / women's economic empowerment and P6 capacity building are shown honestly as the bank's, out of a physical-collateral screen's scope). Financial-inclusion, gender and just-transition dimensions are assessed by the bank; the tool's contribution is keeping credit flowing to exposed communities via a financeable fix.
How is personal data protected (Ghana Data Protection Act / Act 843)?
The tool screens property locations and loan attributes, not borrower identity — you need only a location, exposure and LTV, no name/ID/phone. Under Act 843 a precise residential address tied to a loan can still be personal data, so for a real book the bank submits a pseudonymised asset_id and omits borrower-identifying free-text, and the deployment is on-premise with the data volume encrypted at rest. The engines that overlay live data (SafeGround/FloodGuard) run on the same box (internal); the optional external climate/GhanaPostGPS lookups are OFF by default (air-gapped) and only reach a third party if you opt in — an on-premise install sets PORTFOLIOCHECK_OFFLINE=1 so nothing leaves your network. The public demo is synthetic and stores nothing; uploaded books are held in memory only; accounts use PBKDF2 password hashing and server-side sessions; and the app sends a strict set of security response headers.
Is the tool accessible?
It works toward WCAG 2.2 AA: risk is shown with text labels as well as colour (never colour alone), the map has an accessible label and the same data is available in the sortable table, the action queue is keyboard-navigable (tab to a row and press Enter to open it), and animations respect the operating-system reduce-motion setting. A full independent accessibility audit is on the roadmap.

Banks

What data do I need to provide?
A CSV of your book: a location per asset (coordinates, a GhanaPostGPS digital address, or a plain address that we geocode), plus exposure and LTV. Optional columns add property type, completed adaptation measures and an evidence-verified flag.
Does it replace my IFRS 9 / PD-LGD models?
No — it complements them. It produces an indicative annual-marginal climate ECL overlay and a collateral view that feed your existing credit and IFRS 9 process; you substitute your own PD/LGD term structure and recovery model.
Will the Bank of Ghana accept the output?
It is built to the Directive: a geolocated semi-annual return (Para 48) with a methodology-transparency block, mapped to BoG, IFRS S2, NGFS, PCAF and the SBP. A living, clause-by-clause alignment page (/directive) shows exactly which requirements the tool produces, which it feeds, and what stays with the bank. Because all banks can run the identical common method and parameter set, submissions are comparable — the basis on which a supervisor accepts them. Confirm the final format against BoG's forthcoming Standardized Disclosure Template (Para 46). Alongside the physical-risk return, an institution can also compile the BoG KRI/ESG return (/esg once signed in): operational footprint (Scope 1/2 from energy and fleet fuel), transition & revenue indicators and the Capital-&-Liquidity governance line, each with a Within/At/Outside-appetite status and mapped to the GHG Protocol, IFRS S2, the EBA ESG templates and the SBP. Financed emissions (PCAF), a Green Asset Ratio and the full IFRS S2 pack are the next phases.
How do I screen a single mortgage at origination?
Use the Originate screen (or the /api/screen endpoint for your loan-origination system): enter the address and exposure and it returns a refer / proceed-with-conditions / proceed decision with the hazard profile and conditions.
Can the risk weighting be tuned per asset — so a sea-threatened property is led by coastal risk?
Yes. Each asset carries a risk profile that adapts the six-hazard materiality weighting to its dominant physical setting, so the most eminent threat leads its composite. Tag it coastal (sea-level / erosion), floodplain (flood / riparian), farmland (drought-led) or urban — via a 'risk_profile' column in the book, or the Risk-weighting selector on the Originate screen. A coastal or floodplain designation is treated as the bank's professional judgment that the lead peril is materially present and floors that hazard at High — transparently labelled on the finding, only ever raising a score (never lowering a higher measured or Sentinel-1-observed one) and overridable by re-tagging. Untagged assets score on the standard building weighting, unchanged. The probe also suggests the fitting profile from the asset's own setting, and every profile weight vector is recalibratable to a bank's own loss experience — nothing is hidden.
Can it show that a property actually flooded, not just its modelled risk?
Yes — a live screen overlays Sentinel-1 satellite radar (Copernicus C-band, which sees through cloud day or night) and, where it recorded standing water on the parcel (UN-SPIDER change detection), reports an observed flood on a specific date and floors the flood rating — measured reality, distinct from the model, labelled as such. It is strongest for open-water / floodplain / riverine collateral (for example the Lower Volta / Akosombo 2023 floods); by its physics it does not capture brief urban flash-flooding under rooftops, so an empty result in a dense city is a sensor limitation, not an all-clear. Current coverage (Greater Accra and the Lower Volta) is being extended nationwide under quality control. It never lowers a score — it can only raise the flood hazard to an observed reading floored at 0.85 (Critical).
We book USD mortgages — does it understand foreign-currency loans?
Yes. Each asset carries a currency (GHS default, or USD / EUR / GBP). Risk RATIOS — LTV, AAL %, PD, LGD and the composite score — are currency-invariant, so they are unaffected; only absolute money is currency-specific and shown in the loan's own currency. A foreign-currency loan to an unhedged (cedi-earning) borrower carries FX debt-service risk: when the cedi falls, the borrower's real repayments rise, so the tool lifts that loan's PD (an exposed, bank-set stress). Mark a natural-hedge borrower — a diaspora borrower earning the loan currency — with fx_hedged and the uplift switches off. Portfolio totals convert every currency to a GHS base at a bank-set, dated rate, so a mixed book is never summed naively across currencies. You can also supply a borrower DSR (debt-service ratio) column, or enter it on the Originate screen: a DSR above the ~40% affordability threshold lifts that loan's PD — the borrower dimension a collateral-only model otherwise lacks (optional, exposed, off when blank).
Does it help with IFRS 9 staging / provisioning?
It gives a climate-SICR overlay — a Stage-2 signal, not full staging. An asset flags a climate-driven significant increase in credit risk when it is Critical, under-collateralised under climate stress (stressed LTV ≥ 100%), or has an observed hazard event. It is deliberately one-directional and honest: the tool never sees days-past-due or forbearance, so it can only ever raise a suggested stage on climate grounds — never clear one, and never assert impairment (Stage 3). The dashboard shows how many assets, and what exposure share, carry the signal, to overlay on the bank's own IFRS 9 staging.
How does a bank submit adaptation evidence to the Bank of Ghana?
On the asset, tick the completed measures, then use “Submit to BoG with evidence”: the ticked measures are carried into a dated case, you attach the supporting documents (PDF, PNG, JPG or DOCX) and a short note, and file it to the supervisor. Filing is explicit, never automatic — a ticked measure is only a bank claim and earns no regulatory credit until BoG accepts the evidence. The bank tracks each case's status (submitted / accepted / more-information requested); the supervisor sees the measures, the documents and a tamper-evident fingerprint, and only a supervisory acceptance activates the risk-score improvement.
What does it cost?
Engagements start with a free pilot on a sample of your real book; production is a licence (annual portfolio screening + optional per-origination API), positioned at a fraction of the six-figure global platforms and available on-premise.
Can it assemble the Bank-of-Ghana KRI / ESG return?
Yes — a per-institution ESG & climate return (the ESG return link in the bank workspace) captures the BoG KRI/ESG template: operational footprint (energy/m², water, fleet fuel), transition & revenue indicators, and the Capital-&-Liquidity governance line. It computes the Scope 1/2 operational footprint (GHG-Protocol fuel factors + a configurable Ghana grid factor), assigns every indicator a Within / At / Outside-appetite status, plots the multi-period footprint trajectory, and exports the return as CSV. It complements the financed-emissions (Scope 3) view above — together they cover operational and financed carbon. Emission factors and appetite thresholds are sourced/configurable, not audited.

Insurers

What does the tool give a property (P&amp;C) insurer?
An insurer portfolio view (Reports & exports → Open insurer view, or /demo/insurer) that reframes the screen for underwriting a book: peril accumulation — sum-insured exposed to each peril (flood, riverine, coastal/sea-level, heat, drought) at High+, by zone and in total; a zonal PML — the correlated single-event loss per zone, with the worst zone as the portfolio Probable Maximum Loss; the aggregate AAL as a pure-premium proxy alongside that tail; and the insurability mix (standard / risk-priced / constrained). Per single risk, the Originate screen carries a lender & insurer lens (insurability status, perils, cover-on-file). Basis: supply a sum_insured column in the book and the view uses the true insured value (it proxies by exposure only for risks without one, and says which); it is screening-grade — an accumulation indicator, not a treaty-grade catastrophe model.

Bank of Ghana

How does this help us supervise the CRFR Directive?
Each bank screens on the same engine and submits the standardised return; the Supervisor edition aggregates submissions into a system-wide view with a peer league table, the correlated single-event concentration, and the verified-vs-self-reported adaptation split — the comparability the Directive needs but leaves to each bank's method.
Are banks' submissions actually comparable?
Yes, when they run the locked common parameter set ('BoG baseline'), which is stamped on every return. Any deviation a bank makes is disclosed, so a supervisor always knows which assumptions produced the numbers.
How are adaptation (de-risking) claims kept honest?
Recorded measures are treated as self-reported and receive no regulatory credit until the supervisor accepts the evidence (site inspection / as-built / maintenance covenant). The return discloses accepted versus pending measures, so self-attestation cannot lower a regulatory return.
Can the supervisor see financed emissions and transition risk across all banks?
Yes — a system-wide financed-emissions & transition roll-up (on the supervisory console) aggregates every bank's PCAF financed emissions and NGFS transition exposure on the same engines: total sector financed emissions (Scope 3 Cat. 15), the system Green Asset Ratio, the share of financed emissions in carbon-intensive segments, a sector financed-emissions pathway to 2050 under the four NGFS scenarios with the 1.5°C target overlaid, the sector transition carbon-cost (VaR) by horizon, regional concentration (Herfindahl), and a bank league table ranked on financed emissions, intensity, GAR and 1.5°C alignment — with the least-aligned banks called out. Because every bank runs the identical PCAF/NGFS method the figures are directly comparable, giving the macroprudential transition view the Directive and IFRS S2 target but no single bank can produce. Click any bank to drill into its book; CSV export included. Figures are synthetic/illustrative in the demo and configurable, not audited.
Can it produce an IFRS S2 disclosure pack aligned to the Directive?
Yes — an IFRS S2 disclosure pack assembles everything the tool produces into the four IFRS S2 (ISSB) pillars — Governance, Strategy, Risk management, Metrics & targets — the structure the Ghana CRFR Directive aligns public disclosures to. It pulls the physical-risk screen (scenario analysis, climate ECL), the operational Scope 1/2 (from the KRI/ESG return), the financed Scope 3 emissions (PCAF), exposure to carbon-related industries, the Green Asset Ratio, and the NGFS transition scenarios + 1.5°C target into one view, tagging each line Produced (screening) / Proxy / Needs bank data & sign-off / Gap with a coverage score and CSV export. It is a drafting scaffold that shows coverage and the remaining gaps — not an audited disclosure; lines needing the bank's governance, targets and primary data must be completed and signed off before filing.

IT & data

What data leaves the box, and how is data residency handled?
By default, nothing carrying your input leaves the box. The built-in analyser is pure local compute; the address geocoder, GhanaPostGPS and NASA POWER lookups are all opt-in and OFF by default; the SafeGround/FloodGuard engines fail-closed to 127.0.0.1 on the same host and receive only a lat/lon (never exposure or borrower data); and PORTFOLIOCHECK_OFFLINE=1 is a master switch that hard-disables every outbound call. The only component that benefits from the internet is the browser map basemap, which degrades to a labelled note offline. No borrower PII is required. The full data-flow table is in the IT & Data-Protection briefing.
How is it deployed, secured and kept running on-premise?
On-premise on a single Linux host the bank controls — a small, auditable stack (Python standard library + FastAPI + Uvicorn behind your Nginx/TLS), run as an unprivileged, memory-capped systemd service, with state in one local SQLite file. Security: TLS/HSTS, a strict Content-Security-Policy and header set, PBKDF2 password hashing, server-side sessions, role-gated supervisor actions, a tamper-evident audit log, parameterised SQL and hardened uploads. GET /health returns status + version for monitoring; rollback is a re-extract of the previous build; the data volume is excluded from deploys so a redeploy never destroys a saved book. See the IT & Data-Protection briefing.
What is the dependency footprint, and how do we integrate it?
Tiny and vettable: FastAPI + Uvicorn + python-multipart on top of the Python standard library — no heavyweight data-science or GIS runtime, no cloud SDK, no vendor lock-in (it ships portable with a fresh-clone test). Integration is by a JSON API — POST /api/screen (or GET) screens one property from a loan-origination system, using a request body so coordinates and exposure never appear in access-log URLs — plus CSV import/export and a machine-readable BoG return. At-rest protection is the host's full-disk encryption (bank-controlled); an independent penetration test is a natural pilot-phase step.
If many banks each run their own copy, how do you fix problems and push updates without accessing our server?
Every install runs the same code, pinned to a release; banks differ only by configuration (engine mode, air-gap, calibration, their own database) — never a code fork, so there is one product to maintain, not one per bank. Updates flow outward as signed releases: your IT runs infra/update.sh, which verifies the release checksum, backs up your code and database, applies it without touching the data directory, restarts, health-checks, and automatically rolls back if the new version is unhealthy — we need no access to your box. To diagnose an issue without seeing your data, GET /diag reports version, configuration and schema/migration health (no borrower data, no secrets), and manage.py supportbundle writes the same as a PII-free file your operator can email us. No autonomous agent ever runs inside the bank; all automation sits on our side, over the fleet.
Will it handle our whole mortgage book — what is the scale ceiling?
Yes — and it has been benchmarked at a bank's full scale: a 1,000,000-asset book screens in ~10 minutes on a 12-core machine (~1,600 assets/sec). Screening is embarrassingly parallel — every asset is independent — so throughput scales with cores, and it is a periodic batch, so minutes of wall-clock is comfortable. The engine is pure-Python compute with no per-asset database round-trip and no external call; a small book screens in well under a second. Upload caps are single constants in web/app.py: the authenticated bank-book cap is MAX_ROWS_BOOK (env-tunable via PORTFOLIOCHECK_MAX_BOOK_ROWS, default 50,000 — production sizes it up), while MAX_ROWS_SEED / MAX_ROWS_LIVE guard the shared public demo and the serial live-engine path. For a very large book the dashboard plots the highest-risk subset on the map (full detail stays in the sortable table) and you navigate by geography with the regional drill-down — select a region for its own dashboard, drill to a locality, then back to national. At very high concurrency or deep history the single data layer moves to PostgreSQL. See the Architecture-fit sheet.
Does it integrate with our SSO / Active Directory?
Today the app authenticates with its own provisioned accounts (PBKDF2-HMAC-SHA256, server-side revocable sessions, role-based access, no public sign-up). For an enterprise SSO estate the standard pattern is to run it behind your identity-aware reverse proxy, which enforces AD / SAML / OIDC before the request reaches the app (deployment Topology A). Native SAML/OIDC and reverse-proxy header trust are the identity item on the roadmap and are wired to your directory at integration time. No credential is ever stored beyond a salted PBKDF2 hash.
How is data retention and erasure handled (Act 843)?
Retention is entirely bank-controlled — the data is one SQLite file you own, backed up on your own schedule. A portfolio is deleted in-app by its owner (owner-scoped), removing the book and its snapshots; the public demo and ephemeral uploads persist nothing. Because the store holds a pseudonymised asset id + location and no borrower PII, an Act 843 erasure request is satisfied at the bank's own system of record — deleting the corresponding portfolio here removes the screened copy.
How do we get logs into our SIEM, and what is the DR story (RTO/RPO)?
Two log streams: operational logs go to stdout → journald (journalctl -u portfoliocheck), so any shipper (rsyslog, Filebeat, a Splunk forwarder) can forward them to your SIEM; and a tamper-evident, append-only audit log (logins, filed returns, verdicts, account changes — who/when/target/IP) lives in the SQLite store, viewable at /bog/audit. For continuity: the tool is not on a real-time transaction path, so it needs no HA cluster. RPO = your last SQLite backup (copy one file); RTO = minutes — re-extract the release and restart (the same health-gated, auto-rolled-back path infra/update.sh uses). Active-passive behind your load balancer is possible if you require redundancy; screening is deterministic and idempotent.

EPA & environmental

What environmental and hazard data sources are used?
The built-in analyser is keyed to Ghana's physical geography (documented flood basins, the coastal-erosion belt, river lines, urban-heat and savanna-drought gradients) and runs offline. The live engine overlay adds the SafeGround/FloodGuard engines and climate reanalysis; forward projection uses IPCC AR6 and the World Bank Climate Knowledge Portal. You always screen your own imported book — these are just the hazard-data source behind the screen.
How is riparian proximity defined, and what buffer triggers a flag?
Riparian is a property's proximity to the mapped watercourse network; it is intended to align with Ghana's Riparian Buffer Zone Policy (2014) and Water Resources Commission buffers (roughly 10 m for small streams up to 60 m+ for major rivers and Ramsar-linked systems). A flag means the asset sits within or near such a buffer and warrants review — it is not an automatic legal determination of a buffer breach.
How are protected areas, Ramsar wetlands and contaminated land handled?
The land hazard flags proximity to protected areas (World Database on Protected Areas plus curated Ghana datasets), including Ghana's Ramsar sites (Densu Delta, Sakumo, Korle, Muni-Pomadze, Keta, Owabi), and known land/contamination constraints. This is indicative screening only — WDPA and contamination coverage for Ghana is coarse and incomplete, so proximity should be verified against EPA and Forestry Commission records.
Does this align with or replace Ghana's EIA / EPA permitting?
No. PortfolioCheck is a financial climate-risk screening tool for lenders, not an environmental-compliance instrument. It does not constitute or replace an Environmental Impact Assessment or an Environmental Permit under LI 1652 or the Environmental Protection Act 1124 (2025). A high flood, coastal, riparian or contamination flag should prompt the user to check whether the site triggers EPA permitting/EIA obligations and to engage a qualified assessor.
Are the green-infrastructure adaptation credits scientifically sound?
Yes, with bounds. Green roofs and cool roofs credit the HEAT hazard only (roof cooling), not flood; SuDS/drainage and on-site retention credit pluvial flood at modest, capped levels — they are not read as flood-defence-grade protection. Credits are defensible engineering priors (FEMA/USACE/NIBS, Kreibich, Defra/CIRIA, cool-roof literature), capped per hazard, illustrative pending local calibration, and only counted in full once evidence-verified with a maintenance covenant.

IFC & World Bank

What is the scientific basis of the loss model?
Per-hazard AAL ceilings are calibrated against the JRC Africa flood depth-damage curve (Huizinga et al. 2017, World Bank-hosted) and First Street / UNDRR AAL tiers; the per-asset AAL is a transparent screening proxy — ceiling × hazard-score^1.5 — not a full depth-damage integration per parcel. This is a documented simplification appropriate for portfolio triage, and the constants are exposed for calibration to the bank's loss data. Forward scenarios use IPCC AR6 / NGFS intensification with a bounded saturating projection.
How is the tool validated?
See the live Model validation & governance page (/validation). It carries a hindcast of the documented 3 June 2015 Accra/Odaw flood (the flood layer flags the inundated localities and spares the higher-ground control areas), a parameter-sensitivity analysis (each finance constant ±20%, ranked by impact — the forced-sale recovery dominates, no single knob runs away), a versioned changelog and a dataset-vintage registry. Financial constants are additionally calibratable to a bank's own loss experience via a back-solve helper; until calibrated, figures are for triage and disclosure, not provisioning.
How does it handle systemic and concentration risk?
At portfolio level it reports concentration by region, property type and hazard, plus a correlated single-event figure (one severe event striking all High+ assets in a region at once). At supervisor level it aggregates standardised submissions across banks to reveal sector-wide concentration and where multiple banks are exposed to the SAME hotspots — the core systemic signal — and lets the supervisor re-run any bank's book centrally as a top-down cross-check.
Does it compute financed emissions (PCAF) and a Green Asset Ratio?
Yes. A screened book now carries a financed-emissions view (Scope 3 Category 15) following the PCAF Standard: each asset's estimated emissions are attributed to the bank by outstanding / asset value, with a transparent PCAF data-quality score (4–5, estimated from a building-type energy archetype and a floor area inferred from collateral value — never metered). It reports economic intensity (tCO2e per GHS million) and physical intensity (kgCO2e/m²), a Green Asset Ratio (EBA Pillar 3 ESG) as a screening proxy that counts only evidence-verified taxonomy-aligned exposure (self-reported is shown separately and uncounted), and transition-risk concentration (carbon-intensive share by segment, the top-10%-of-names footprint and a regional Herfindahl index). Open Financed emissions & taxonomy from a portfolio's risk dashboard; a one-click PCAF disclosure CSV exports it. Every emission factor, value benchmark and archetype is illustrative and configurable, not audited — screening-grade, not a verified GHG inventory.
Does it do forward transition-risk scenario analysis (NGFS) and climate targets?
Yes. A book's financed emissions are projected to 2050 under four NGFS reference scenarios (Net Zero 2050, Below 2°C, Delayed Transition, Current Policies), each with its own decarbonisation trajectory and carbon-price path. The tool values those emissions at the scenario carbon price to give a transition carbon cost (VaR) at each horizon — a screening proxy for the transition repricing that flows into borrower creditworthiness (not a modelled credit loss) — and overlays a science-based 1.5°C target (SBTi absolute contraction, 4.2%/yr), reporting the business-as-usual alignment gap at 2030. This is the transition mirror of the physical-risk forward projection the dashboard already runs under IPCC AR6 SSPs. Open Transition pathways & targets from a portfolio's dashboard. NGFS prices/pathways and the target rate are illustrative reference values, configurable to the NGFS data portal and the bank's own commitments.
How does it map to the Sustainable Banking Principles, and what green-finance taxonomy?
It operationalises the SBP environmental & social risk-management and climate principles at the asset level (Principle 1) and surfaces a resilience/green-loan origination shortlist (Principle 2). It does not yet bind that shortlist to a named taxonomy; the intended alignment is the MDB–IDFC Common Principles for Climate Adaptation Finance (context–contribution–monitoring test). Until that mapping is published, green-eligibility is indicative, not certified.
Is it replicable beyond Ghana, and reproducible/auditable?
Yes — the engine is generic; only the hazard layers, gazetteer, supervisory return and parameter set are Ghana-specific, so it ports to other SBFN markets by swapping the local calibration (a localisation kit is the roadmap). It is deterministic and stdlib-only, the parameter set and scenario pathway are stamped on every output, and a gap register states what the screen does not cover and who must close it — so any result can be independently re-run and audited.

Abbreviations & glossary

Every abbreviation and key term used in the tool and its reports.

Abbr.Full termWhat it means here
AALAverage Annual LossExpected damage to a property per year as a fraction of its value (depth-damage × event frequency). The fundamental the money model is built on.
AR6IPCC Sixth Assessment ReportThe latest IPCC assessment (2021–23); the scientific basis for the tool's hazard intensification factors.
Attribution factorPCAF attribution factorThe share of an asset's emissions attributed to the bank = outstanding amount ÷ asset (collateral) value; for a mortgage/CRE book this equals the loan-to-value.
BoGBank of GhanaGhana's central bank and banking supervisor; issuer of the Climate-Related Financial Risk Directive.
CDDConsecutive Dry DaysA drought / dry-spell index used to project the drought hazard forward.
Composite vulnerability0–100 composite score50% weighted hazard load + 50% worst single hazard, banded Low/Moderate/High/Critical.
CRFRClimate-Related Financial RiskThe BoG Directive (issued Nov 2024) requiring banks to manage and disclose climate risk.
DNSHDo No Significant HarmA taxonomy test: an activity is green only if it also does no significant harm to other environmental objectives. A step the bank's own use-of-proceeds tagging must confirm.
EADExposure at DefaultThe outstanding loan amount exposed if a borrower defaults; the E in ECL = PD × LGD × EAD.
EBAEuropean Banking AuthorityAuthor of the Pillar-3 ESG disclosure templates (GAR/BTAR and transition-risk tables) the financed-emissions and taxonomy outputs map to.
ECLExpected Credit LossPD × LGD × EAD. The tool produces an indicative annual-marginal climate ECL overlay (not a lifetime/staged IFRS 9 figure).
EPAEnvironmental Protection Authority (Ghana)Ghana's environmental regulator (an Authority under Act 1124, 2025); relevant to the environmental hazards and adaptation.
EPCEnergy Performance CertificateA building's energy-efficiency rating; the primary data that would replace the tool's building-type energy archetype in the financed-emissions estimate.
ESGEnvironmental, Social & GovernanceThe broad sustainability frame within which climate risk sits.
ESRMEnvironmental & Social Risk ManagementThe IFC/SBFN risk framework underlying Ghana's Sustainable Banking Principles.
EVICEnterprise Value Including CashThe PCAF attribution denominator for listed-company / business-loan asset classes (the property book uses collateral value instead).
FFEFinished-Floor ElevationThe height of a building's floor above ground — a raised plinth is the strongest single flood-adaptation lever.
Financed emissionsScope 3 Category 15The emissions of the borrowers and assets a bank finances, attributed to the bank. The tool estimates these from the screened loan book following the PCAF Standard.
FSAPFinancial Sector Assessment ProgramThe IMF/World Bank assessment of a country's financial system, increasingly climate-aware.
GARGreen Asset RatioThe EBA Pillar-3 metric: taxonomy-aligned exposure ÷ total covered assets. The tool reports a screening proxy that counts only evidence-verified taxonomy-aligned exposure (self-reported is shown separately, uncounted).
GhanaPostGPSGhana national digital addressingGhana's digital address system (e.g. GA-183-4317); the tool resolves it to coordinates for object-level screening.
GHG ProtocolGreenhouse Gas ProtocolThe global standard for corporate emissions accounting; defines Scopes 1/2/3. The tool's fuel and electricity emission factors follow it (with a configurable Ghana grid factor).
GMetGhana Meteorological AgencyThe national met service; a hazard-data partner.
GRIGlobal Reporting InitiativeA sustainability-reporting standard; GRI 303 covers water, referenced by the water-consumption KRI.
HHIHerfindahl–Hirschman IndexA 0–1 concentration measure (sum of squared shares). Used to flag how concentrated financed emissions are by region; above ~0.25 reads as concentrated (Basel concentration lens).
ICAAPInternal Capital Adequacy Assessment ProcessA bank's own capital-adequacy assessment; the Directive requires climate risk to be integrated into it.
ICAGInstitute of Chartered Accountants, GhanaCo-develops the BoG Standardized Climate Disclosure Template with BoG.
IFCInternational Finance CorporationThe World Bank Group's private-sector arm; runs the Sustainable Banking & Finance Network.
IFRS S2IFRS Sustainability Standard S2 (Climate)The ISSB climate-disclosure standard the Directive aligns public disclosures to.
Internal carbon priceShadow carbon priceA price a bank applies to emissions in its own decisions. The tool uses NGFS reference prices as an illustrative benchmark; the bank sets its own.
IPCCIntergovernmental Panel on Climate ChangeThe UN climate-science body; source of the SSP scenarios and AR6.
ISSBInternational Sustainability Standards BoardIssuer of IFRS S1/S2.
JRCJoint Research Centre (EU)Source of the global flood depth-damage functions (Huizinga et al. 2017, World Bank-hosted) that anchor the loss model — Africa-specific curve used.
KRIKey Risk IndicatorA tracked metric with a risk-appetite threshold. The ESG/KRI return captures the Bank-of-Ghana template's indicators (energy/m², water, fleet fuel, revenue mix, governance), each with a Within / At / Outside-appetite status.
LGDLoss Given DefaultThe share of exposure lost if a borrower defaults, after recoveries; climate repricing raises it.
LTVLoan-to-ValueLoan divided by collateral value at origination.
NACE / ISICSector classification codesStandard industry-sector codes (EU NACE / UN ISIC). Borrower sector codes would sharpen the carbon-intensive-exposure split beyond the collateral-type proxy used now.
NBFINon-Bank Financial InstitutionCovered by the Directive from 2027.
NbSNature-based SolutionsGreen infrastructure (SuDS, green roofs) used both as hazards mitigants and adaptation credits.
NGFSNetwork for Greening the Financial SystemThe central-bank network whose climate scenarios supervisors mandate. The transition analysis projects financed emissions to 2050 under four NGFS scenarios (Net Zero 2050, Below 2°C, Delayed Transition, Current Policies), each with its own decarbonisation trajectory and carbon-price path.
ORASSOnline Regulatory & Analytical Surveillance SoftwareBoG's supervisory data-submission portal (Regnology/Vizor); the route a future climate return would travel.
PCAFPartnership for Carbon Accounting FinancialsIts 1–5 data-quality scale is reused to flag each asset's confidence (a screen is never better than 3).
PCAF data-quality scorePCAF 1–5 data-quality scale1 = best (metered/verified), 5 = fully estimated. The financed-emissions estimate scores 4–5 (building archetype + value-inferred floor area); it improves as the bank supplies metered/EPC data.
PDProbability of DefaultThe chance a borrower defaults in a period; rises with negative equity and uninsured damage.
PFRProperty Flood ResilienceResistant materials, raised sockets, tanked walls — cuts damage given a flood enters.
RCPRepresentative Concentration PathwayThe earlier IPCC emissions scenarios; SSPs are the AR6 successors (noted for cross-reference).
Risk appetite (RAG)Within / At / Outside appetiteThe red-amber-green status each KRI is scored against the institution's own appetite thresholds. Thresholds are illustrative placeholders until the bank sets them in its appetite framework.
Risk profilePer-asset materiality profileA tag (coastal / floodplain / farmland / urban) that adapts the six-hazard weighting so an asset's dominant threat leads its score; a coastal or floodplain designation also floors its lead peril at High. Recalibratable, and untagged assets are unchanged.
Rx1dayMaximum 1-day rainfallAn extreme-rainfall index used to project flood/riparian hazards forward (Clausius-Clapeyron ~7%/°C).
SARSynthetic-Aperture RadarThe all-weather, day-and-night radar imaging (Sentinel-1) behind the observed-flood overlay; standing open water reads as a smooth, low-return surface.
SBFNSustainable Banking & Finance NetworkThe IFC network that helped build Ghana's Sustainable Banking Principles.
SBPSustainable Banking Principles (Ghana)Ghana's 2019 banking-sustainability principles, adopted by all banks; the Directive builds on them.
SBTiScience Based Targets initiativeThe body that validates corporate decarbonisation targets. The tool overlays an SBTi-style 1.5°C pathway (absolute contraction 4.2%/yr) and reports the business-as-usual gap to it.
Scope 1Direct emissionsEmissions from sources the institution owns or controls — here, fleet-fuel combustion. Computed from litres × a GHG-Protocol fuel factor.
Scope 2Indirect energy emissionsEmissions from purchased electricity — computed from kWh × the Ghana grid emission factor (illustrative default, calibrate to the Energy Commission / IEA figure).
Scope 3Value-chain emissionsAll other indirect emissions. For a lender the material line is Category 15 — financed emissions — far larger than its own operations.
SDISpecialised Deposit-taking InstitutionCovered by the Directive from 2027.
Sentinel-1Copernicus Sentinel-1 (C-band SAR)European radar satellite that images through cloud, day or night. The tool uses its backscatter change (UN-SPIDER method) to detect where a parcel was actually flooded — observed reality, distinct from modelled susceptibility.
SICRSignificant Increase in Credit RiskThe IFRS 9 trigger for moving a loan to Stage 2 (lifetime ECL). The tool produces a climate-SICR overlay signal; integrating it into the bank's staging is the bank's to complete.
SLRSea-Level RiseThe coastal-hazard driver, projected in cm under each scenario.
SREPSupervisory Review & Evaluation ProcessThe supervisory assessment into which climate stress results can feed.
SSPShared Socioeconomic PathwayThe IPCC AR6 scenario families (SSP1-2.6 / SSP2-4.5 / SSP5-8.5) the tool projects under.
Stressed LTVClimate-stressed Loan-to-ValueLTV recomputed after the climate collateral repricing haircut; ≥100% means the loan is under-collateralised.
SuDSSustainable Drainage SystemsCulverts, soakaways, swales; the core pluvial-flood adaptation.
TaxonomySustainable-finance taxonomyA classification of which economic activities count as environmentally sustainable (green). Pending a Ghana taxonomy, green-eligibility here is an indicative proxy, not a certified classification.
TCFDTask Force on Climate-related Financial DisclosuresThe disclosure framework folded into IFRS S2.
tCO₂eTonnes of CO₂-equivalentThe common unit for emissions: all greenhouse gases expressed as the warming-equivalent mass of carbon dioxide.
Transition riskClimate transition riskThe financial risk from the move to a low-carbon economy — carbon pricing, policy, technology and demand shifts repricing carbon-intensive exposures. The forward mirror of physical risk.
UN-SPIDERUN Platform for Space-based Information for Disaster ManagementPublishes the standard Sentinel-1 flood change-detection recipe the observed-flood layer follows.
VaRValue at RiskHere, the transition carbon cost: the book's financed emissions valued at the scenario carbon price at each horizon — a transition-exposure proxy, not a modelled credit loss.
WACIWeighted Average Carbon IntensityA portfolio emission-intensity metric; here reported as financed tCO₂e per GHS million of outstanding exposure (economic intensity).
WBGTWet-Bulb Globe TemperatureA heat-stress index underlying the heat hazard.
PortfolioCheck methodology · Dr. Minka Aduse-Poku · PortfolioCheck is screening-grade decision-support — not a property valuation, an insurance determination, or a substitute for a bank's PD/LGD models, IFRS 9 ECL process or regulatory disclosure. Demo figures are synthetic and illustrative.