The Reg Store will allow regulation experts to deploy apps dealing with specific regulations, such as an app for Reg D or an app for Reg S. There may be multiple apps covering the same regulation by different providers at different price levels.
To comply with regulations, each asset (through its Primary Node) will simply choose which reg-apps apply to their asset, and then in real time, just before a transaction takes place – the relevant apps will be executed to decide if the transaction is compliant or not.
Future versions will add additional "hooks" for checking against regulations apps in additional places along the user experience flow.
For V1 only, we have hard coded one hook (before the transaction is executed), and hard-coded one app – “RecipientClaimVerification”, which checks that the user receiving a token has the exact claims that the asset owner defined as mandatory. For example, an asset may define that only users with a specific KYC and Accreditation (if they are from the US) can buy its tokens – and then the “RecipientClaimVerification” would reject any transaction in which the recipient of the tokens in the transaction does not have both the required claims against its profile.