Technical Requirements
1. Transaction Log
Digital services which have integrated with Myinfo should track and store user transactions for potential issue management.
The following are some of the suggested minimum fields for tracking:
UUID, Partial NRIC/FIN or NRIC/FIN (as relevant to usage under PDPA guidelines)
Fields requested from Myinfo
Time Stamp
In the event of user feedback or contact, these transaction logs may be requested by Myinfo to reconcile and resolve issues raised by the user.
2. X.509 Public Key
To implement RS256 (RSA Signature with SHA-256) Digital Signature for Myinfo APIs in your apps, please use a X.509 Public Key Certificate with RSA key size of 2048 bits or larger from one of the following compatible Certificate Authority (CA):
Comodo/Sectigo
digiCert
GeoTrust
GlobalSign
Thawte
VeriSign
*Certificate must be issued by Netrust. Entrust-issued certs are not accepted.
ECC and ECDSA Public Key Certificates are currently NOT supported.
3. TLS & Cipher Suites
IMPORTANT: In line with contemporary industry best practices, Myinfo supports TLS 1.2.
The list of supported strong cipher suites include:
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
4. Callback URLs
For security reasons:
Different callback URLs should be used for staging and production environments
Fully Qualified Domain Name (FQDN) of staging and production environments should be used (i.e. instead of IP address)
Callback URLs should not contain Hash (#) or Wildcard (*) characters
5. Mobile App integration
Myinfo offers integration via browser redirections. Native application integration is not supported.
Integration should be done via in-app browser (not WebViews) or external browser.
For services integrating on Android, setDomStorageEnable should be enabled.
Camera permissions for your app must be enabled to support cases where additional security verification with Singpass Face Verification is required.
Last updated
Was this helpful?