This permanent free sample carries 20 real obligations drawn from across Part IX of the Bangko Sentral ng Pilipinas Manual of Regulations for Banks. It uses the same Snowflake object contract as the complete 278-obligation register, so a team can evaluate the structure and the query experience before licensing the complete product.
Free Listing on Snowflake Marketplace (Secure share product type), and permanently so. Available in all Snowflake regions through cross-cloud auto-fulfillment. The share carries the same object contract as the complete register, so an evaluation query written against the sample runs unchanged against the paid product.
Each obligation includes exact regulatory wording, legal citations, document context, duty strength, responsible actor, required action, scope, plain-language interpretation, topics, functional domains, qualifications, evidence expectations, and the complete structured record as a Snowflake VARIANT.
Use VERBATIM_TEXT and LEGAL_CITATION_FULL when verifying or citing a requirement. Summaries and interpretations help users find and understand the source; they do not replace it.
Standing Obligation Registers
- One row per duty.
- The verbatim clause, citation, and page anchor on every row, for defensible reference.
Compliance Testing and Examination Preparation
- Evidence expectations, checklist steps, and qualifications per obligation feed workpapers directly.
- The listing's SQL examples assemble the coverage workpaper and the evidence matrix directly.
Mapping Duties to Internal Policies and Controls
- Join the register to your own control inventory on
OBLIGATION_ID. - Use topics, functional domains, and the knowledge graph to find related duties.
Grounding Regulatory AI
- Typed relationships and verbatim source text give retrieval and agent systems citable regulatory grounding instead of scraped documents.
Consumers query secure views in the REGULATORY schema and the shared OBLIGATION_ANALYTICS semantic view. The database name may be chosen when the listing is installed, so examples use the portable REGULATORY.OBJECT form.
- Secure View
OBLIGATIONSFeatured- Rows
- 20
- Purpose
- Primary obligation register with exact regulatory text, citations, hierarchy, scope, regulatory intelligence, and the complete structured record.
- Secure View
KNOWLEDGE_GRAPHFeatured- Rows
- 313
- Purpose
- Query-ready relationships connecting obligations to document hierarchy, actors, actions, scope, topics, domains, qualifications, checklist elements, and evidence expectations.
- Secure View
OBLIGATION_TOPICSFeatured- Rows
- 31
- Purpose
- Framework-native topic assignments for filtering and grouping obligations by regulatory subject.
- Secure View
OBLIGATION_EVIDENCE_EXPECTATIONSFeatured- Rows
- 9
- Purpose
- Expected compliance artifacts, recipients, and trigger or frequency details where supported by the clause.
- Secure View
RELEASESFeatured- Rows
- 1
- Purpose
- Release label, snapshot date, covered source, obligation count, taxonomy version, and update policy.
- Secure View
GRAPH_NODES- Rows
- 175
- Purpose
- Normalized graph nodes for obligations, document structure, actors, topics, evidence expectations, and other connected concepts.
- Secure View
GRAPH_EDGES- Rows
- 313
- Purpose
- Stable typed relationships between graph nodes, including the derivation basis and source phrase where available.
- Secure View
OBLIGATION_CHECKLIST- Rows
- 8
- Purpose
- Testable mandatory elements identified in obligations where the source clause supports them. Ships on the Philippine MORB products.
- Secure View
OBLIGATION_FUNCTIONAL_DOMAINS- Rows
- 20
- Purpose
- Governance-domain assignments with paths, derivation basis, and confidence.
- Secure View
FUNCTIONAL_DOMAIN_TAXONOMY- Rows
- 1
- Purpose
- Customer-readable labels and paths for the functional-domain vocabulary used by this product.
- Secure View
OBLIGATION_QUALIFICATIONS- Rows
- 11
- Purpose
- Conditions, exceptions, provisos, and their effect on the applicable duty.
- Secure View
OBLIGATION_SCOPE- Rows
- 20
- Purpose
- Normalized institution types in scope, one covered-person value per row.
- Secure View
OBLIGATION_TAGS- Rows
- 24
- Purpose
- Informal keywords for search and lightweight filtering.
- Secure View
CHANGES- Rows
- 0
- Purpose
- Reserved change-event contract. It is empty in an initial point-in-time release and must not be treated as historical change coverage.
| Secure View | Rows | Purpose |
|---|---|---|
OBLIGATIONSFeatured | 20 | Primary obligation register with exact regulatory text, citations, hierarchy, scope, regulatory intelligence, and the complete structured record. |
KNOWLEDGE_GRAPHFeatured | 313 | Query-ready relationships connecting obligations to document hierarchy, actors, actions, scope, topics, domains, qualifications, checklist elements, and evidence expectations. |
OBLIGATION_TOPICSFeatured | 31 | Framework-native topic assignments for filtering and grouping obligations by regulatory subject. |
OBLIGATION_EVIDENCE_EXPECTATIONSFeatured | 9 | Expected compliance artifacts, recipients, and trigger or frequency details where supported by the clause. |
RELEASESFeatured | 1 | Release label, snapshot date, covered source, obligation count, taxonomy version, and update policy. |
GRAPH_NODES | 175 | Normalized graph nodes for obligations, document structure, actors, topics, evidence expectations, and other connected concepts. |
GRAPH_EDGES | 313 | Stable typed relationships between graph nodes, including the derivation basis and source phrase where available. |
OBLIGATION_CHECKLIST | 8 | Testable mandatory elements identified in obligations where the source clause supports them. Ships on the Philippine MORB products. |
OBLIGATION_FUNCTIONAL_DOMAINS | 20 | Governance-domain assignments with paths, derivation basis, and confidence. |
FUNCTIONAL_DOMAIN_TAXONOMY | 1 | Customer-readable labels and paths for the functional-domain vocabulary used by this product. |
OBLIGATION_QUALIFICATIONS | 11 | Conditions, exceptions, provisos, and their effect on the applicable duty. |
OBLIGATION_SCOPE | 20 | Normalized institution types in scope, one covered-person value per row. |
OBLIGATION_TAGS | 24 | Informal keywords for search and lightweight filtering. |
CHANGES | 0 | Reserved change-event contract. It is empty in an initial point-in-time release and must not be treated as historical change coverage. |
Snowflake listings no longer carry notebooks, so the working examples ship as SQL. These are the exact examples attached to the Marketplace listing, validated against this release, and every identifier is SCHEMA.OBJECT so each one runs unchanged against whatever name you mounted the database under.
The Obligation Brief
A one-page brief for a single obligation. Who it binds, what it requires, the conditions that change it, testable steps, expected evidence, and where it sits in the instrument. Uses REGULATORY.KNOWLEDGE_GRAPH and REGULATORY.OBLIGATIONS.
SQL Query · 47 Lines
The query is written for a wide screen. Copy it to run in a Snowflake worksheet, or open this page on a desktop to read it in full.
SELECT DISTINCT ob.OBLIGATION_ID AS "Obligation",
ob.SECTION_BREADCRUMB AS "Where It Sits",
ob.LEGAL_CITATION AS "Citation",
CASE kg.TO_NODE_LABEL
WHEN 'Actor' THEN 'Who it binds'
WHEN 'CoveredPerson' THEN 'Who it binds'
WHEN 'Entity' THEN 'Who it binds'
WHEN 'RequiredAction' THEN 'What it requires'
WHEN 'RegulatoryObject' THEN 'What it applies to'
WHEN 'Qualification' THEN 'Conditions and exceptions'
WHEN 'GoverningClause' THEN 'Conditions and exceptions'
WHEN 'ChecklistElement' THEN 'Testable steps'
WHEN 'EvidenceExpectation' THEN 'Evidence examiners expect'
WHEN 'Artifact' THEN 'Evidence examiners expect'
WHEN 'Recipient' THEN 'Provide the evidence to'
WHEN 'Topic' THEN 'How it is classified'
WHEN 'FunctionalDomain' THEN 'How it is classified'
WHEN 'Document' THEN 'Where it lives'
WHEN 'Section' THEN 'Where it lives'
END AS "What This Tells You",
COALESCE(kg.TO_NODE_TEXT,
CASE WHEN LOWER(kg.TO_NODE_NAME) = 'all'
THEN 'all covered persons'
ELSE REPLACE(REPLACE(kg.TO_NODE_NAME, '_', ' '),
'-', ' ') END)
AS "The Answer"
FROM REGULATORY.KNOWLEDGE_GRAPH kg
JOIN REGULATORY.OBLIGATIONS ob ON ob.OBLIGATION_ID = kg.OBLIGATION_ID
WHERE kg.OBLIGATION_ID = 'BSP.MORB.2023.Sec911.a(1).p11.OBL1'
AND CASE kg.TO_NODE_LABEL
WHEN 'Actor' THEN 'Who it binds'
WHEN 'CoveredPerson' THEN 'Who it binds'
WHEN 'Entity' THEN 'Who it binds'
WHEN 'RequiredAction' THEN 'What it requires'
WHEN 'RegulatoryObject' THEN 'What it applies to'
WHEN 'Qualification' THEN 'Conditions and exceptions'
WHEN 'GoverningClause' THEN 'Conditions and exceptions'
WHEN 'ChecklistElement' THEN 'Testable steps'
WHEN 'EvidenceExpectation' THEN 'Evidence examiners expect'
WHEN 'Artifact' THEN 'Evidence examiners expect'
WHEN 'Recipient' THEN 'Provide the evidence to'
WHEN 'Topic' THEN 'How it is classified'
WHEN 'FunctionalDomain' THEN 'How it is classified'
WHEN 'Document' THEN 'Where it lives'
WHEN 'Section' THEN 'Where it lives'
END IS NOT NULL
ORDER BY 4, 5Read Every Duty And Trace It To The Official Source
Every duty with its plain-English summary beside the regulator's exact wording, its citation, the responsible actor, the required action, and a link to the official source. Uses REGULATORY.OBLIGATIONS.
SQL Query · 11 Lines
The query is written for a wide screen. Copy it to run in a Snowflake worksheet, or open this page on a desktop to read it in full.
SELECT OBLIGATION_ID AS "Obligation",
SECTION_BREADCRUMB AS "Where It Sits",
LEGAL_CITATION AS "Citation",
OBLIGATION_SUMMARY AS "The Duty In Plain English",
VERBATIM_TEXT AS "The Regulator's Exact Words",
ACTOR AS "Who Must Act",
ACTION_REQUIRED AS "Required Action",
MODAL_STRENGTH AS "Binding Strength",
SOURCE_PDF_URL AS "Official Source"
FROM REGULATORY.OBLIGATIONS
ORDER BY 1Review Every Obligation And Understand Exactly What It Requires
A reviewer-ready sheet for every obligation, pairing plain-English requirements with exact regulatory text, applicability, binding force, frequency, penalties, purpose, implementation guidance, and official source links. Uses REGULATORY.OBLIGATIONS.
SQL Query · 22 Lines
The query is written for a wide screen. Copy it to run in a Snowflake worksheet, or open this page on a desktop to read it in full.
SELECT o.OBLIGATION_ID AS "Obligation",
o.SECTION_BREADCRUMB AS "Where It Sits",
o.LEGAL_CITATION AS "Citation",
o.OBLIGATION_SUMMARY AS "Requirement In Plain English",
o.VERBATIM_TEXT AS "The Regulator's Exact Words",
o.ACTOR AS "Who Must Act",
o.ACTION_REQUIRED AS "Required Action",
o.OBJECT_OF_OBLIGATION AS "Applies To",
o.COVERED_PERSON_SCOPE AS "Covered Persons",
o.MODAL_STRENGTH AS "Binding Strength",
o.FREQUENCY AS "How Often",
o.CONSEQUENCE AS "If You Do Not Comply",
o.SEVERITY_HINT AS "Severity",
o.RECORD:regulatory_intelligence:why_this_obligation_exists::string
AS "Why It Exists",
o.RECORD:regulatory_intelligence:interpretation_notes::string
AS "How To Read It",
o.RECORD:regulatory_intelligence:implementation_considerations::string
AS "How Practitioners Implement It",
o.SOURCE_PDF_URL AS "Official Source"
FROM REGULATORY.OBLIGATIONS o
ORDER BY 1Conditions And Exceptions That Change What Applies
Every condition, exception, and proviso attached to a duty, with its effect on that duty, so you know when each requirement actually applies. Uses REGULATORY.OBLIGATIONS and REGULATORY.OBLIGATION_QUALIFICATIONS.
SQL Query · 10 Lines
The query is written for a wide screen. Copy it to run in a Snowflake worksheet, or open this page on a desktop to read it in full.
SELECT q.OBLIGATION_ID AS "Obligation",
o.SECTION_BREADCRUMB AS "Where It Sits",
o.LEGAL_CITATION AS "Citation",
o.OBLIGATION_SUMMARY AS "The Duty",
REPLACE(q.KIND, '_', ' ') AS "Condition Kind",
q.TEXT AS "Condition Text",
q.EFFECT AS "Effect On The Duty"
FROM REGULATORY.OBLIGATION_QUALIFICATIONS q
JOIN REGULATORY.OBLIGATIONS o ON o.OBLIGATION_ID = q.OBLIGATION_ID
ORDER BY q.OBLIGATION_ID, q.SEQBuild The Coverage Workpaper And Spot What You Still Need
A coverage workpaper listing every obligation beside what your team must be able to show for it, ready to become the compliance register you maintain. Uses REGULATORY.OBLIGATIONS and REGULATORY.OBLIGATION_EVIDENCE_EXPECTATIONS.
SQL Query · 14 Lines
The query is written for a wide screen. Copy it to run in a Snowflake worksheet, or open this page on a desktop to read it in full.
SELECT o.OBLIGATION_ID AS "Obligation",
o.SECTION_BREADCRUMB AS "Where It Sits",
o.LEGAL_CITATION AS "Citation",
o.OBLIGATION_SUMMARY AS "Requirement",
o.MODAL_STRENGTH AS "Binding Strength",
COALESCE(e.ARTIFACT,
'Documented performance of the duty: ' ||
o.ACTION_REQUIRED,
'Documented performance of the duty as written')
AS "What To Be Able To Show"
FROM REGULATORY.OBLIGATIONS o
LEFT JOIN REGULATORY.OBLIGATION_EVIDENCE_EXPECTATIONS e
ON e.OBLIGATION_ID = o.OBLIGATION_ID
ORDER BY o.OBLIGATION_IDTo confirm a mount before running anything, use SHOW VIEWS IN SCHEMA REGULATORY; in a worksheet.
REGULATORY.OBLIGATIONS has 73 typed columns. The fields below cover its primary identity, source, hierarchy, analysis, and release contract. The complete record remains available in RECORD.
- Column
OBLIGATION_ID- Type
- VARCHAR
- Description
- Stable unique identifier encoding section, marker, printed page, and sequence.
- Column
FRAMEWORK- Type
- VARCHAR
- Description
- Framework name as published by the regulator.
- Column
REGULATOR- Type
- VARCHAR
- Description
- Issuing regulator.
- Column
JURISDICTION- Type
- VARCHAR
- Description
- Jurisdiction of the covered instrument.
- Column
DOCUMENT_TITLE- Type
- VARCHAR
- Description
- Title of the covered regulatory document.
- Column
DOCUMENT_VERSION- Type
- VARCHAR
- Description
- Edition or version of the covered document.
- Column
SECTION_NUMBER- Type
- VARCHAR
- Description
- Full section address, including marker and printed page.
- Column
DOCUMENT_BREADCRUMB- Type
- VARCHAR
- Description
- Full document path from the title to the obligation.
- Column
PARENT_OBLIGATION_ID- Type
- VARCHAR
- Description
- Governing obligation identifier where one exists.
- Column
VERBATIM_TEXT- Type
- VARCHAR
- Description
- The regulator's exact words, byte-exact to the source. Use this field for citation and verification.
- Column
CONTEXT_WINDOW- Type
- VARCHAR
- Description
- Surrounding source text for reading the duty in context.
- Column
MODAL- Type
- VARCHAR
- Description
- The regulator's duty verb, such as SHALL or SHOULD.
- Column
MODAL_STRENGTH- Type
- VARCHAR
- Description
- Binding strength derived from the duty verb.
- Column
ACTOR- Type
- VARCHAR
- Description
- Party bound by the duty.
- Column
ACTION_REQUIRED- Type
- VARCHAR
- Description
- Action the actor must take.
- Column
COVERED_PERSON_SCOPE- Type
- VARCHAR
- Description
- Institution types in scope, pipe-separated.
- Column
OBLIGATION_SUMMARY- Type
- VARCHAR
- Description
- One-sentence summary for discovery. It does not replace VERBATIM_TEXT.
- Column
WHY_THIS_OBLIGATION_EXISTS- Type
- VARCHAR
- Description
- Regulatory purpose or risk addressed by the obligation.
- Column
INTERPRETATION_NOTES- Type
- VARCHAR
- Description
- Source-grounded notes for interpreting the clause.
- Column
IMPLEMENTATION_CONSIDERATIONS- Type
- VARCHAR
- Description
- Practical considerations for operationalizing the duty.
- Column
TOPICS- Type
- VARCHAR
- Description
- Framework-native topics, pipe-separated.
- Column
FUNCTIONAL_DOMAINS- Type
- VARCHAR
- Description
- Governance-domain leaves, pipe-separated.
- Column
LEGAL_CITATION_FULL- Type
- VARCHAR
- Description
- Complete legal citation including document and section.
- Column
SOURCE_PDF_URL- Type
- VARCHAR
- Description
- Official source location on the regulator's website.
- Column
FIRST_INCLUDED_RELEASE- Type
- VARCHAR
- Description
- First product release containing the obligation.
- Column
LAST_VERIFIED_RELEASE- Type
- VARCHAR
- Description
- Most recent release in which the record was re-verified.
- Column
RECORD- Type
- VARIANT
- Description
- Complete structured obligation record, including the sections provided by this product tier.
| Column | Type | Description |
|---|---|---|
OBLIGATION_ID | VARCHAR | Stable unique identifier encoding section, marker, printed page, and sequence. |
FRAMEWORK | VARCHAR | Framework name as published by the regulator. |
REGULATOR | VARCHAR | Issuing regulator. |
JURISDICTION | VARCHAR | Jurisdiction of the covered instrument. |
DOCUMENT_TITLE | VARCHAR | Title of the covered regulatory document. |
DOCUMENT_VERSION | VARCHAR | Edition or version of the covered document. |
SECTION_NUMBER | VARCHAR | Full section address, including marker and printed page. |
DOCUMENT_BREADCRUMB | VARCHAR | Full document path from the title to the obligation. |
PARENT_OBLIGATION_ID | VARCHAR | Governing obligation identifier where one exists. |
VERBATIM_TEXT | VARCHAR | The regulator's exact words, byte-exact to the source. Use this field for citation and verification. |
CONTEXT_WINDOW | VARCHAR | Surrounding source text for reading the duty in context. |
MODAL | VARCHAR | The regulator's duty verb, such as SHALL or SHOULD. |
MODAL_STRENGTH | VARCHAR | Binding strength derived from the duty verb. |
ACTOR | VARCHAR | Party bound by the duty. |
ACTION_REQUIRED | VARCHAR | Action the actor must take. |
COVERED_PERSON_SCOPE | VARCHAR | Institution types in scope, pipe-separated. |
OBLIGATION_SUMMARY | VARCHAR | One-sentence summary for discovery. It does not replace VERBATIM_TEXT. |
WHY_THIS_OBLIGATION_EXISTS | VARCHAR | Regulatory purpose or risk addressed by the obligation. |
INTERPRETATION_NOTES | VARCHAR | Source-grounded notes for interpreting the clause. |
IMPLEMENTATION_CONSIDERATIONS | VARCHAR | Practical considerations for operationalizing the duty. |
TOPICS | VARCHAR | Framework-native topics, pipe-separated. |
FUNCTIONAL_DOMAINS | VARCHAR | Governance-domain leaves, pipe-separated. |
LEGAL_CITATION_FULL | VARCHAR | Complete legal citation including document and section. |
SOURCE_PDF_URL | VARCHAR | Official source location on the regulator's website. |
FIRST_INCLUDED_RELEASE | VARCHAR | First product release containing the obligation. |
LAST_VERIFIED_RELEASE | VARCHAR | Most recent release in which the record was re-verified. |
RECORD | VARIANT | Complete structured obligation record, including the sections provided by this product tier. |
175
Typed Nodes
313
Stable Relationships
20
Anchored Obligations
REGULATORY.KNOWLEDGE_GRAPH places the obligation summary, citation, interpretation, relationship, and both connected nodes in one query-ready view. GRAPH_NODES and GRAPH_EDGES expose the normalized graph for visualization and graph-aware applications.
Obligation nodes are records included in this product. Where a record points at an obligation this product does not carry, the target is an ObligationReference node, which preserves the document hierarchy without disclosing a record outside the product.
This product is compiled from the Bangko Sentral ng Pilipinas Manual of Regulations for Banks, the regulator's official instrument. Source rights and attribution are covered in Source Rights and Limitations.
The register captures provisions in which the regulator imposes a duty on a covered institution using binding vocabulary. Each captured duty is one obligation row anchored to the exact source sentence. Definitions, headings, purely structural text, and descriptions of the regulator's own processes are generally not treated as institution obligations.
Every shipped regulatory excerpt is checked byte-exactly against the compiled source as part of release certification. Identifiers and relationships are validated, declared row counts are measured from the release, and provider-private staging tables are excluded from the secure share.
A field is null when the source clause does not state or support a value. Absence should not be interpreted as a negative finding.
This is a versioned, point-in-time release of the MORB 2023 edition, release 2026.07, with a snapshot date of 2026-07-29. Updates are issued quarterly and when relevant amendments are ingested and recertified.
Existing columns are not repurposed. Additive objects may appear in a later release. A breaking change is delivered as a separately named product line with advance notice.
REGULATORY.CHANGES is empty in this initial release. This product does not yet provide permanent historical change coverage, and Snowflake Time Travel should not be treated as the product change log.
Source and attribution
Regulatory text originates from the Bangko Sentral ng Pilipinas Manual of Regulations for Banks and is freely available from the regulator. Structuring, classifications, summaries, and analyses are additions by ProfytAI. The underlying regulatory text is unaltered.
View the Official BSP SourceLicence
Use of this product is governed by its licence agreement. The page below carries the exact text shipped with the release, and it is the agreement presented when the product is obtained through Snowflake Marketplace.
Read the Licence Terms- The Bangko Sentral ng Pilipinas has not reviewed, approved, endorsed, or sponsored this product.
- ProfytAI is not affiliated with the Bangko Sentral ng Pilipinas. Regulator names identify the source only.
- The free sample carries 20 of the 278 obligations in the complete register. It is an evaluation sample, not a compliance inventory.
- This product provides regulatory information and workflow support, not legal advice. Only the regulator's official publication is authoritative.
- No customer records, personal data, or source-page images are included in the Snowflake product.
For product access, schema, query, licensing, or due-diligence questions, reach the team through the contact page. Include the product name and release 2026.07 so the team can respond against the correct contract.