PortfolioCheck · IT & Data-Protection briefing For a bank / Bank of Ghana IT & data review Architecture-fit sheet Knowledge Centre Technical spec /health Home

IT & Data-Protection briefing

Deployed version 2.12.0. Every statement below maps to code or a configuration flag your team can verify — this is not a marketing sheet.
Data-residency posture (current runtime): on-prem, outbound calls all opt-in and OFF by default. No borrower personal data is required; screening runs on the bank's own box.

Deployment & runtime

Data flows — what (if anything) leaves the box

The built-in analyser (the instant default) makes zero outbound calls. Every external caller below is opt-in and OFF by default, and a single master switch OFFLINE=1 hard-disables all of them.

CallerWhat it would sendDefault & control
Screening engines (SafeGround / FloodGuard)lat/lon of the asset only — never exposure, borrower or account datalive engine overlay only; fail-closed to 127.0.0.1 (on the same box) unless an operator sets PORTFOLIOCHECK_SAFEGROUND_URL / _FLOODGUARD_URL
Address geocoder (Nominatim)the typed address stringOFF by default — opt in with PORTFOLIOCHECK_GEOCODE_ONLINE=1; otherwise a built-in Ghana gazetteer resolves locations locally
GhanaPostGPS digital-address resolverthe GhanaPost codeOFF by default — opt in with PORTFOLIOCHECK_GHANAPOST_ONLINE=1
NASA POWER rainfall climatologylat/lon only (a coarse grid cell)OFF by default — opt in with PORTFOLIOCHECK_CLIMATE_ONLINE=1
Map basemap tiles (browser only)the map viewport — served to the viewer's browser, not from the app servercosmetic; degrades to a 'same data in the table' note offline
Usage analytics (Umami)page-view telemetry, no book dataOFF unless PORTFOLIOCHECK_UMAMI_ID is set

Data minimisation & privacy (Ghana Data Protection Act, 2012 — Act 843)

Security controls

Integration surface (fits your existing stack)

Backups, rollback & operations

Air-gap operation

What the tool deliberately does NOT do

Verify any claim against the source: connector gating in connectors/*.py (*_ONLINE flags, OFFLINE), security headers and routes in web/app.py, and the full method in the Technical spec and Methodology. Screening-grade and illustrative until calibrated on the bank's own loss data.