Skip to Documentation
ProfytAI

Delivery Channel

ZIP Downloads

A pack contains the data in three formats, a schema, the licence, and a hash to verify what you ingested. No account and no client library are required.

Packs Published
2
Formats Each
3

Excel, JSON, CSV

Verify
SHA-256
Release
1.0.0

The free packs sit behind a short form and download from profyt.ai itself, same origin, with no third-party hosting in the path. Licensed products ship in the identical folder shape with the complete record set, so a pipeline built against a free pack keeps working when the licensed release replaces it.

The documentation travels with the data on purpose. A colleague who receives the folder a year from now can read the contract without finding this page first. The two product lines are built differently, so the exact contents differ by pack.

The Philippine (BSP) pack carries these six documents beside its data files and its per-record evidence captures.

File
README.md
What It Covers
What the pack is, what each file holds, and the figures for this release.
File
QUICK_START.md
What It Covers
Load, query, and verify the pack in about five minutes, in each shipped format.
File
SCHEMA.md
What It Covers
The record contract. The metadata envelope, the nested record shape, and the flat CSV columns.
File
DATA_DICTIONARY.md
What It Covers
Every field with its type, nullability, population count, and meaning.
File
LICENSE.md
What It Covers
The licence this pack carries, including the citation and reliance terms.
File
CHANGELOG.md
What It Covers
Release history for the product line.

The Singapore (MAS) pack is organised differently. Beside the data it ships a developer guide, a machine-readable schema, a runnable certification, a worked example, and its licence and rights under legal/. This is every file it carries, read from the pack's own manifest.

File
CHANGELOG.md
What It Covers
release history
File
README.md
What It Covers
product overview, no code needed
File
certify.py
What It Covers
the certification, runnable against this folder alone
File
developers/DEVELOPER_GUIDE.md
What It Covers
the single technical reference: data model, schema, columns, codebook, coverage, load/verify code, SQL, methodology
File
developers/schema.json
What It Covers
machine-readable JSON Schema for one obligation record
File
legal/LICENSE.md
What It Covers
licence
File
legal/RIGHTS_AND_PERMISSIONS.md
What It Covers
legal basis of reproduction
File
mas_trm_verification_sample.csv
What It Covers
the flat obligation table, one row per obligation
File
mas_trm_verification_sample.json
What It Covers
the complete records, nested as the schema defines them
File
mas_trm_verification_sample.xlsx
What It Covers
the workbook: cover, data, dictionary, methodology, change log
File
obligation_example.html
What It Covers
one obligation laid out for a reader, every field explained

The three data files hold the same records. JSON is nested and complete, wrapped in a versioned metadata envelope. The CSV is a flat table for spreadsheets, BI, and SQL. The Excel workbook is self-documenting, with a cover, the obligations, a data dictionary, and a change log among its sheets, so a reviewer needs nothing else open.

Pack
Philippines · BSP
Data Files
free-sample.json · free-sample.csv · free-sample.xlsx
Pack
Singapore · MAS
Data Files
mas_trm_verification_sample.json · mas_trm_verification_sample.csv · mas_trm_verification_sample.xlsx
Pack
MORB Part IX Obligation Register, Free SampleManual of Regulations for Banks (2023), Part IX, sections 903 to 941
Obligations
20 of 278
CSV Columns
47
Evidence
20 source-page captures in evidence/
Release
1.0.02026-07-23
Pack
Singapore Regulatory Intelligence, Free SampleTechnology Risk Management Guidelines, 2021
Obligations
20 of 354
CSV Columns
41
Evidence
20 source-page captures in evidence/
Release
1.0.02026-07-23
Column Widths Differ by Product Line

The Philippine sample ships 47 flat columns and the Singapore sample 41. The difference is the layers each product line carries, not a missing field. Each pack documents its own columns. The Philippine pack carries a DATA_DICTIONARY.md. The Singapore pack documents them in the Data Dictionary sheet of its workbook and in developers/DEVELOPER_GUIDE.md.

Nothing here needs a ProfytAI library. The examples below are starting points against the Philippine sample's file names. Substitute the file names from the pack you downloaded.

import json
import pandas as pd

doc = json.load(open("free-sample.json", encoding="utf-8"))
df = pd.json_normalize(doc["obligations"])

# every binding duty
mandatory = df[df["parsed_requirement.modal_strength"] == "mandatory"]
print(len(mandatory), "mandatory duties")

Excel Without Writing a Formula

Open the workbook and go to the Obligations sheet. Filter modal_strength to mandatory for every binding duty, or filter framework to isolate one instrument. The Data Dictionary sheet explains each column in place.

Verify before you ingest. The JSON envelope carries a SHA-256 of the canonicalized obligations payload and the record count, so a truncated download or an edited file fails loudly instead of silently entering a compliance record.

verify.py

import hashlib
import json

doc = json.load(open("free-sample.json", encoding="utf-8"))
meta = doc["metadata"]
integrity = meta["integrity"]

# confirm what you are holding
print(meta["product"], meta["dataset_version"], meta["release_date"])

# the hash covers the canonicalized obligations payload
payload = json.dumps(
    doc["obligations"], ensure_ascii=False, sort_keys=True
).encode("utf-8")

# Philippine packs name it records_sha256, Singapore packs obligations_sha256
expected = integrity.get("records_sha256") or integrity["obligations_sha256"]
assert hashlib.sha256(payload).hexdigest() == expected
assert len(doc["obligations"]) == integrity["record_count"]
print("verified", integrity["record_count"], "records")
Nulls Are Meaningful

A field is null when the source clause does not state or support a value. Absence is not a negative finding, and it is not missing data.

Every pack includes one source-page capture per record, the printed page with the obligation's exact span highlighted. Attach it to a workpaper and a reviewer sees the duty in the regulator's own layout without opening the source PDF.

The Singapore captures are reproduced with the Monetary Authority of Singapore's written permission (MAS reference MAS-2026-07-01776). The source was obtained from the MAS website on 2 August 2026, MAS remains the authoritative source, and the MAS website carries the latest available version of the Guidelines. The official source URL and full citation stay on every record.

Cite verbatim_textwith its citation. It is byte-exact to the regulator's publication. Derived and semantic fields are ProfytAI structuring, and a compliance decision should be confirmed against the official source rather than against a summary.

Each pack's LICENSE.md is the operative document for that release. The Singapore pack carries it under legal/. Free packs carry a free evaluation licence, and licensed packs are single-organization commercial licences with versioned releases. The public terms are on the licensing page.

Prefer to query rather than ingest files? The same certified registers are shared into Snowflake. See the Snowflake channel.