Skip to content

Latest commit

 

History

History
44 lines (35 loc) · 9.64 KB

AAs - Consent Request Rules and Rule Matching Guidelines.md

File metadata and controls

44 lines (35 loc) · 9.64 KB

Guidelines for AAs - Fair Use Rule Set for Consent Creation and Approval

fiu_id sahamati_template_id purpose_code fetch_type fi_type fair_use_rules
* 101 ['PERIODIC', 'ONETIME'] ['DEPOSIT', 'TERM_DEPOSIT', 'RECURRING_DEPOSIT', 'CP', 'GOVT_SECURITIES', 'INSURANCE_POLICIES', 'NPS', 'GSTR1_3B', 'LIFE_INSURANCE', 'GENERAL_INSURANCE', 'OTHER'] {'DATA_LIFE_DAY': '31', 'DATA_LIFE_MONTH': '1', 'DATA_LIFE_YEAR': '0', 'FREQUENCY_DAY': '1', 'FREQUENCY_HOUR': '0', 'FREQUENCY_MONTH': '31', 'FREQUENCY_YEAR': '0', 'MAX_CONSENT_EXPIRY_UNIT': 'YEAR', 'MAX_CONSENT_EXPIRY_VALUE': '1', 'MAX_FI_DATA_RANGE_UNIT': 'MONTH', 'MAX_FI_DATA_RANGE_VALUE': '13', 'CONSENT_TYPES': ['PROFILE', 'SUMMARY', 'TRANSACTIONS']}
* 101 ['PERIODIC', 'ONETIME'] ['SIP', 'EQUITIES', 'MUTUAL_FUNDS', 'ETF', 'IDR', 'CIS', 'AIF', 'INVIT', 'REIT', 'BONDS', 'DEBENTURES'] {'DATA_LIFE_DAY': '31', 'DATA_LIFE_MONTH': '1', 'DATA_LIFE_YEAR': '0', 'FREQUENCY_DAY': '1', 'FREQUENCY_HOUR': '0', 'FREQUENCY_MONTH': '31', 'FREQUENCY_YEAR': '0', 'MAX_CONSENT_EXPIRY_UNIT': 'YEAR', 'MAX_CONSENT_EXPIRY_VALUE': '1', 'MAX_FI_DATA_RANGE_UNIT': 'YEAR', 'MAX_FI_DATA_RANGE_VALUE': '20', 'CONSENT_TYPES': ['PROFILE', 'SUMMARY', 'TRANSACTIONS']}
* 102 ['PERIODIC', 'ONETIME'] ['DEPOSIT', 'TERM_DEPOSIT', 'RECURRING_DEPOSIT', 'CP', 'GOVT_SECURITIES', 'GSTR1_3B'] {'DATA_LIFE_DAY': '31', 'DATA_LIFE_MONTH': '1', 'DATA_LIFE_YEAR': '0', 'FREQUENCY_DAY': '1', 'FREQUENCY_HOUR': '0', 'FREQUENCY_MONTH': '45', 'FREQUENCY_YEAR': '0', 'MAX_CONSENT_EXPIRY_UNIT': 'YEAR', 'MAX_CONSENT_EXPIRY_VALUE': '1', 'MAX_FI_DATA_RANGE_UNIT': 'MONTH', 'MAX_FI_DATA_RANGE_VALUE': '13', 'CONSENT_TYPES': ['PROFILE', 'SUMMARY', 'TRANSACTIONS']}
* 102 ['PERIODIC', 'ONETIME'] ['SIP', 'EQUITIES', 'BONDS', 'DEBENTURES', 'MUTUAL_FUNDS', 'ETF', 'IDR', 'CIS', 'AIF', 'INVIT', 'REIT'] {'DATA_LIFE_DAY': '31', 'DATA_LIFE_MONTH': '1', 'DATA_LIFE_YEAR': '0', 'FREQUENCY_DAY': '1', 'FREQUENCY_HOUR': '0', 'FREQUENCY_MONTH': '45', 'FREQUENCY_YEAR': '0', 'MAX_CONSENT_EXPIRY_UNIT': 'YEAR', 'MAX_CONSENT_EXPIRY_VALUE': '1', 'MAX_FI_DATA_CHUNK_UNIT': 'YEAR', 'MAX_FI_DATA_CHUNK_VALUE': '2', 'MAX_FI_DATA_RANGE_UNIT': 'YEAR', 'MAX_FI_DATA_RANGE_VALUE': '10', 'CONSENT_TYPES': ['PROFILE', 'SUMMARY', 'TRANSACTIONS']}
<fiu_id> CT019 102 ['PERIODIC', 'ONETIME'] ['DEPOSIT', 'TERM_DEPOSIT', 'RECURRING_DEPOSIT', 'CP', 'GOVT_SECURITIES', 'GSTR1_3B'] {'DATA_LIFE_DAY': '7', 'DATA_LIFE_MONTH': '0', 'DATA_LIFE_YEAR': '0', 'FREQUENCY_DAY': '1', 'FREQUENCY_HOUR': '0', 'FREQUENCY_MONTH': '45', 'FREQUENCY_YEAR': '0', 'MAX_CONSENT_EXPIRY_UNIT': 'YEAR', 'MAX_CONSENT_EXPIRY_VALUE': '1', 'MAX_FI_DATA_RANGE_UNIT': 'MONTH', 'MAX_FI_DATA_RANGE_VALUE': '13', 'CONSENT_TYPES': ['PROFILE', 'SUMMARY', 'TRANSACTIONS']}
<fiu_id> CT019 102 ['PERIODIC', 'ONETIME'] ['SIP', 'EQUITIES', 'BONDS', 'DEBENTURES', 'MUTUAL_FUNDS', 'ETF', 'IDR', 'CIS', 'AIF', 'INVIT', 'REIT'] {'DATA_LIFE_DAY': '7', 'DATA_LIFE_MONTH': '0', 'DATA_LIFE_YEAR': '0', 'FREQUENCY_DAY': '1', 'FREQUENCY_HOUR': '0', 'FREQUENCY_MONTH': '45', 'FREQUENCY_YEAR': '0', 'MAX_CONSENT_EXPIRY_UNIT': 'YEAR', 'MAX_CONSENT_EXPIRY_VALUE': '1', 'MAX_FI_DATA_CHUNK_UNIT': 'YEAR', 'MAX_FI_DATA_CHUNK_VALUE': '2', 'MAX_FI_DATA_RANGE_UNIT': 'YEAR', 'MAX_FI_DATA_RANGE_VALUE': '10', 'CONSENT_TYPES': ['PROFILE', 'SUMMARY', 'TRANSACTIONS']}
* 103 ['ONETIME'] ['DEPOSIT', 'TERM_DEPOSIT', 'RECURRING_DEPOSIT', 'SIP', 'CP', 'GOVT_SECURITIES', 'EQUITIES', 'BONDS', 'DEBENTURES', 'MUTUAL_FUNDS', 'ETF', 'IDR', 'CIS', 'AIF', 'INVIT', 'REIT', 'GSTR1_3B'] {'DATA_LIFE_DAY': '31', 'DATA_LIFE_MONTH': '1', 'DATA_LIFE_YEAR': '0', 'FREQUENCY_DAY': '0', 'FREQUENCY_HOUR': '0', 'FREQUENCY_MONTH': '0', 'FREQUENCY_YEAR': '0', 'MAX_CONSENT_EXPIRY_UNIT': 'MONTH', 'MAX_CONSENT_EXPIRY_VALUE': '1', 'MAX_FI_DATA_RANGE_UNIT': 'MONTH', 'MAX_FI_DATA_RANGE_VALUE': '14', 'CONSENT_TYPES': ['PROFILE', 'SUMMARY', 'TRANSACTIONS']}
<fiu_id> CT006 103 ['ONETIME'] ['DEPOSIT', 'TERM_DEPOSIT', 'RECURRING_DEPOSIT', 'MUTUAL_FUNDS', 'GSTR1_3B'] {'DATA_LIFE_DAY': '45', 'DATA_LIFE_MONTH': '1', 'DATA_LIFE_YEAR': '0', 'FREQUENCY_DAY': '0', 'FREQUENCY_HOUR': '0', 'FREQUENCY_MONTH': '0', 'FREQUENCY_YEAR': '0', 'MAX_CONSENT_EXPIRY_UNIT': 'DAY', 'MAX_CONSENT_EXPIRY_VALUE': '45', 'MAX_FI_DATA_RANGE_UNIT': 'MONTH', 'MAX_FI_DATA_RANGE_VALUE': '12', 'CONSENT_TYPES': ['PROFILE', 'SUMMARY', 'TRANSACTIONS']}
* 104 ['PERIODIC', 'ONETIME'] ['DEPOSIT', 'TERM_DEPOSIT', 'RECURRING_DEPOSIT', 'SIP', 'CP', 'GOVT_SECURITIES', 'EQUITIES', 'BONDS', 'DEBENTURES', 'MUTUAL_FUNDS', 'ETF', 'IDR', 'CIS', 'AIF', 'INVIT', 'REIT', 'GSTR1_3B'] {'DATA_LIFE_DAY': '31', 'DATA_LIFE_MONTH': '1', 'DATA_LIFE_YEAR': '0', 'FREQUENCY_DAY': '0', 'FREQUENCY_HOUR': '0', 'FREQUENCY_MONTH': '5', 'FREQUENCY_YEAR': '0', 'MAX_FI_DATA_RANGE_UNIT': 'MONTH', 'MAX_FI_DATA_RANGE_VALUE': '6', 'CONSENT_TYPES': ['PROFILE', 'SUMMARY', 'TRANSACTIONS']}
<fiu_id> CT035 104 ['PERIODIC', 'ONETIME'] ['DEPOSIT'] {'DATA_LIFE_DAY': '31', 'DATA_LIFE_MONTH': '1', 'DATA_LIFE_YEAR': '0', 'FREQUENCY_DAY': '1', 'FREQUENCY_HOUR': '0', 'FREQUENCY_MONTH': '31', 'FREQUENCY_YEAR': '0', 'MAX_FI_DATA_RANGE_UNIT': 'DAY', 'MAX_FI_DATA_RANGE_VALUE': '1', 'CONSENT_TYPES': ['SUMMARY']}
<fiu_id> CT042 104 ['PERIODIC', 'ONETIME'] ['DEPOSIT', 'GSTR1_3B'] {'DATA_LIFE_DAY': '90', 'DATA_LIFE_MONTH': '3', 'DATA_LIFE_YEAR': '0', 'MAX_CONSENT_EXPIRY_UNIT': 'YEAR', 'MAX_CONSENT_EXPIRY_VALUE': '1', 'FREQUENCY_DAY': '0', 'FREQUENCY_HOUR': '0', 'FREQUENCY_MONTH': '1', 'FREQUENCY_YEAR': '0', 'MAX_FI_DATA_RANGE_UNIT': 'MONTH', 'MAX_FI_DATA_RANGE_VALUE': '6', 'CONSENT_TYPES': ['PROFILE', 'SUMMARY', 'TRANSACTIONS']}
<fiu_id> CT043 104 ['PERIODIC', 'ONETIME'] ['SIP', 'EQUITIES', 'DEBENTURES', 'MUTUAL_FUNDS', 'ETF', 'IDR', 'CIS', 'AIF', 'INVIT', 'REIT'] {'DATA_LIFE_DAY': '7', 'DATA_LIFE_MONTH': '0', 'DATA_LIFE_YEAR': '0', 'MAX_CONSENT_EXPIRY_UNIT': 'YEAR', 'MAX_CONSENT_EXPIRY_VALUE': '1', 'FREQUENCY_DAY': '0', 'FREQUENCY_HOUR': '0', 'FREQUENCY_MONTH': '25', 'FREQUENCY_YEAR': '0', 'MAX_FI_DATA_RANGE_UNIT': 'MONTH', 'MAX_FI_DATA_RANGE_VALUE': '6', 'CONSENT_TYPES': ['PROFILE', 'SUMMARY', 'TRANSACTIONS']}
<fiu_id> CT046 104 ['PERIODIC', 'ONETIME'] ['DEPOSIT'] {'DATA_LIFE_DAY': '1', 'DATA_LIFE_MONTH': '0', 'DATA_LIFE_YEAR': '0', 'MAX_CONSENT_EXPIRY_UNIT': 'MONTH', 'MAX_CONSENT_EXPIRY_VALUE': '18', 'FREQUENCY_DAY': '0', 'FREQUENCY_HOUR': '0', 'FREQUENCY_MONTH': '3', 'FREQUENCY_YEAR': '0', 'MAX_FI_DATA_RANGE_UNIT': 'MONTH', 'MAX_FI_DATA_RANGE_VALUE': '1', 'CONSENT_TYPES': ['PROFILE', 'SUMMARY', 'TRANSACTIONS']}
* 105 ['ONETIME'] ['DEPOSIT', 'GSTR1_3B', 'INSURANCE_POLICIES', 'LIFE_INSURANCE', 'GENERAL_INSURANCE'] {'DATA_LIFE_DAY': '1', 'DATA_LIFE_MONTH': '0', 'DATA_LIFE_YEAR': '0', 'FREQUENCY_DAY': '0', 'FREQUENCY_HOUR': '0', 'FREQUENCY_MONTH': '0', 'FREQUENCY_YEAR': '0', 'MAX_CONSENT_EXPIRY_UNIT': 'DAY', 'MAX_CONSENT_EXPIRY_VALUE': '1', 'MAX_FI_DATA_RANGE_UNIT': 'DAY', 'MAX_FI_DATA_RANGE_VALUE': '1', 'CONSENT_TYPES': ['PROFILE', 'SUMMARY']}
<fiu_id> CT010 105 ['ONETIME'] ['DEPOSIT', 'TERM_DEPOSIT', 'RECURRING_DEPOSIT', 'SIP', 'CP', 'GOVT_SECURITIES', 'EQUITIES', 'BONDS', 'DEBENTURES', 'MUTUAL_FUNDS', 'ETF', 'IDR', 'CIS', 'AIF', 'INVIT', 'REIT', 'GSTR1_3B'] {'DATA_LIFE_DAY': '7', 'DATA_LIFE_MONTH': '0', 'DATA_LIFE_YEAR': '0', 'FREQUENCY_DAY': '0', 'FREQUENCY_HOUR': '0', 'FREQUENCY_MONTH': '0', 'FREQUENCY_YEAR': '0', 'MAX_CONSENT_EXPIRY_UNIT': 'MONTH', 'MAX_CONSENT_EXPIRY_VALUE': '1', 'MAX_FI_DATA_RANGE_UNIT': 'MONTH', 'MAX_FI_DATA_RANGE_VALUE': '6', 'CONSENT_TYPES': ['PROFILE', 'SUMMARY', 'TRANSACTIONS']}
<fiu_id> CT045 105 ['ONETIME'] ['GSTR1_3B', 'INSURANCE_POLICIES', 'LIFE_INSURANCE', 'GENERAL_INSURANCE', 'MUTUAL_FUNDS', 'DEPOSIT'] {'DATA_LIFE_DAY': '1', 'DATA_LIFE_MONTH': '0', 'DATA_LIFE_YEAR': '0', 'FREQUENCY_DAY': '0', 'FREQUENCY_HOUR': '0', 'FREQUENCY_MONTH': '0', 'FREQUENCY_YEAR': '0', 'MAX_CONSENT_EXPIRY_UNIT': 'DAY', 'MAX_CONSENT_EXPIRY_VALUE': '1', 'MAX_FI_DATA_RANGE_UNIT': 'MONTH', 'MAX_FI_DATA_RANGE_VALUE': '12', 'CONSENT_TYPES': ['PROFILE', 'SUMMARY', 'TRANSACTIONS']}

Rule Matching Guidelines for Consent Requests

AAs must build systems that use a rule-based approach to validate consent requests based on the fair use rules. Here's how the matching works:

Rule Components

Each rule contains key parameters:

  • FIU ID: Financial Information User identifier
  • Sahmati Template ID: Fair Use Template ID from Sahamati
  • Purpose Code: Purpose of the consent (e.g., 101, 102, 103, etc.)
  • Fetch Type: How data is fetched (ONETIME or PERIODIC)
  • FI Type: Types of financial information (DEPOSIT, EQUITIES, etc.)
  • Fair Use Rules: Detailed constraints on data access

Wildcard Matching

The * symbol acts as a wildcard that matches any value. When a rule contains a wildcard, it applies universally regardless of the specific value in that field.

Specific Priority

More specific rules (with actual IDs instead of wildcards) take precedence over generic wildcard rules.

Multiple FI Types

When a consent involves multiple FI types, the system applies the maximum allowed range among all applicable rules.