Delivery Channel
ZIP Downloads
A pack contains the data in three formats, the schema, the data dictionary, the licence, and a hash to verify what you ingested. No account and no client library are required.
- Packs Published
- 2
- Formats Each
- 3
- Documents Each
- 6
- Release
- 1.0.0
Excel, JSON, CSV
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.
Philippines · BSP
MORB Part IX Obligation Register, Free Sample
Free20 obligations drawn from 278, so every schema feature appears on a real record.
ProfytAI_MORB_Part_IX_Free_Sample.zip · 6.9 MB
Request the PackSingapore · MAS
Singapore Regulatory Intelligence, Free Sample
Free20 obligations drawn from 380, so every schema feature appears on a real record.
ProfytAI_MAS_Regulatory_Intelligence_Sample.zip · 0.1 MB
Request the PackEvery pack carries the same six documents beside its data files. 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.
- 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.
| File | What It Covers |
|---|---|
README.md | What the pack is, what each file holds, and the figures for this release. |
QUICK_START.md | Load, query, and verify the pack in about five minutes, in each shipped format. |
SCHEMA.md | The record contract. The metadata envelope, the nested record shape, and the flat CSV columns. |
DATA_DICTIONARY.md | Every field with its type, nullability, population count, and meaning. |
LICENSE.md | The licence this pack carries, including the citation and reliance terms. |
CHANGELOG.md | Release history for the product line. |
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 cover, obligations, data dictionary, and change log 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_free_sample.json · mas_free_sample.csv · mas_free_sample.xlsx
| Pack | Data Files |
|---|---|
| Philippines · BSP | free-sample.json · free-sample.csv · free-sample.xlsx |
| Singapore · MAS | mas_free_sample.json · mas_free_sample.csv · mas_free_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 SampleTRM Guidelines, Cyber Hygiene Notice, and Outsourcing Notice, drawn across all three
- Obligations
- 20 of 380
- CSV Columns
- 51
- Evidence
- Not included, pending MAS redistribution approval
- Release
- 1.0.02026-07-23
| Pack | Obligations | CSV Columns | Evidence | Release |
|---|---|---|---|---|
| MORB Part IX Obligation Register, Free SampleManual of Regulations for Banks (2023), Part IX, sections 903 to 941 | 20 of 278 | 47 | 20 source-page captures in evidence/ | 1.0.02026-07-23 |
| Singapore Regulatory Intelligence, Free SampleTRM Guidelines, Cyber Hygiene Notice, and Outsourcing Notice, drawn across all three | 20 of 380 | 51 | Not included, pending MAS redistribution approval | 1.0.02026-07-23 |
The Philippine sample ships 47 flat columns and the Singapore sample 51. The difference is the layers each product line carries, not a missing field. Read DATA_DICTIONARY.md in the pack you hold, because it is generated from that release.
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.
load.py
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")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.
The Philippine packs include one source-page capture per record, the printed page with the obligation's exact span highlighted, named from each record's source.evidence_img_loc. Attach it to a workpaper and a reviewer sees the duty in the regulator's own layout without opening the source PDF.
The Singapore packs ship without captures. Redistribution of MAS source pages is pending the regulator's approval, so the official source URL and the full citation stay on every record instead. That is a licensing boundary, not an omission in the data.
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. 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.