Before accepting the deposit and withdrawal of FIAT of an organization based on stellar, we are required to obtain KYC information from the user. There are two possible ways to collect information. One is interactive and the other is non-interactively.
In interactive KYC, users have to fill information on a webpage hosted under your organization. When the wallet pings the server, it responds with a URI that opens a form.
It allows the user to enter the required information into the wallet interface itself. When the wallet pings the server then it responds with required fields from the list of fields specified in SEP - 9. It is more customer-friendly.SEP-9 defines the list of KYC and AML fields which is required in the stellar protocol.
Rather than taking input, again and again, it allows the wallet to collect KYC information as per user and share with the issuer when needed. The organization needs to setup /customer endpoint on the wallet which can be further used by the user to upload KYC information. It allows uninterrupted flow for withdrawing and deposit.
KYC/AML fields are divided into 2 categories.
User KYC fields
Organization KYC fields
NOTE: All the fields will be followed by ‘organization.’
Address formatting will vary from country to country. Address fields are fairly universal and encoded with country_code, state_or_province, etc and full address can be added by the user in ‘address’ field with the efficient parsing of it by fields like country, postal_code, city, etc. Above mentioned list of possible fields can be used according to the use cases.
In this blog, we learned about the stellar protocol 9. This for the KYC process. It helps us to understand the flow of KYC and the type of KYC flow along with AML.
For official document - https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0009.md