Bank of Thailand mobile banking rules: assess your mobile banking app against the minimum standards.

The Bank of Thailand's mobile banking security notification sets minimum standards for banking apps: no embedded links in customer messages, one account on one device, face comparison with presentation attack detection above 50,000 baht, anti-tampering checks and blocks on rooted devices. The IT risk notification adds an annual penetration test for internet-facing systems, and the PDPA sets the duties for customer data. Ostorlab tests your app and the APIs behind it, behind login, on every release.

  • Checks root and jailbreak detection, anti-tampering, session handling and certificate pinning, and what the app does when they trigger
  • Tests login, one-time codes and the face-verification step-up above the 50,000 baht threshold with your test accounts
  • Follows the app into its APIs, even with TLS pinning
  • Finds keys, tokens and personal data left in the app package, storage, caches and logs
Scan your own appBook a demo

Free scan of your app from the App Store or Google Play. No login required.

Who it applies to
Banks and state financial institutions under BOT supervision, and e-Money providers with mobile apps; personal data duties under the PDPA apply to all of them
Key date
Mobile Banking Security notification No. 4/2568 published on 7 February 2025, in force 30 days later; technology crime standards effective 8 August 2025
Focus
Mobile banking app security, face verification for high-value transfers, device checks, annual penetration tests and PDPA duties
Main reference
Bank of Thailand Notification No. 4/2568 (Mobile Banking Security)
Key dates

The BOT texts behind your mobile channel

The mobile banking security notification sits alongside the IT risk notification, the technology crime standards and the PDPA. The dates below are for the texts cited on this page.

  1. 1 June 2022

    PDPA in force

    The Personal Data Protection Act B.E. 2562 (2019) becomes fully effective, with security duties for personal data and breach notification to the PDPC without delay and within 72 hours.

  2. 16 October 2023

    IT risk notification

    Notification No. สกช. 5/2566 replaces the 2019 IT risk rules. Internet-facing systems, including mobile banking and internet banking, need a penetration test at least once a year and after significant change.

  3. 7 February 2025

    Mobile Banking Security

    Notification No. 4/2568 is published in the Royal Gazette. It sets minimum security standards for banking apps and enters into force 30 days after the day following publication, and 60 days for the operating-system risk clause. Notifications No. 17/2568 and No. 18/2568 carry the same measures to state financial institutions and e-Money mobile applications.

  4. 8 August 2025

    Technology crime standards

    Notification No. 19/2568 takes effect: no links in customer messages, one account on one device, face verification thresholds, anti-tampering, blocks on risky apps and a customer hotline, under the Emergency Decree on Technology Crime Prevention.

  5. 17 December 2025

    Digital fraud management

    Notification No. 57/2568 takes effect, replacing the 2023 fraud policy for financial service providers. It covers end-to-end fraud management, including authentication matched to customer risk, transaction alerts and default daily limits. The monitoring and loss handling stay with your fraud teams.

  6. 23 July 2026

    Digital Channel Security consultation

    The BOT opens consultation on a draft Digital Channel Security notification. It would extend the rules to internet banking and non-bank providers and phase out SMS one-time codes for transaction authentication. Comments closed on 24 August 2026. The draft is not in force.

  7. Every year

    Penetration testing

    Systems connected to public networks, such as mobile banking and internet banking, go through a penetration test by independent internal or external experts at least once a year, and after significant changes.

What the BOT asks

The BOT's mobile banking rules, applied to your app

For each rule: what the text says, what it means for a mobile banking app, how Ostorlab helps, and what stays with your team. The Bank of Thailand texts are in Thai and are summarised here.

  1. IT Risk Notification No. สกช. 5/2566, 6.6 and 6.7 (Thai text)

    Test internet-facing systems at least once a year

    What the text says

    Assess vulnerabilities of every system according to its risk level. For critical systems, run the assessment at least once a year and whenever there is a significant change. Run a penetration test by independent internal or external experts, covering the systems and networks connected to public networks, at least once a year and after significant changes. The BOT may order an additional test by an independent external expert if the report, scope or methods are not adequate.

    Source:IT Risk Notification No. สกช. 5/2566, 6.6 and 6.7 (Thai text)

    What it means for your mobile app

    Your mobile banking app and its APIs are internet-facing systems. The yearly test is a named expectation, and it covers systems and networks, not only the app you can see.

    How Ostorlab helps

    An AI-agent pentest tests the app and its APIs behind login, on the build you ship, with a working exploit you can replay for each AI-agent finding. Findings are rated critical, high, medium or low, tracked as tickets in the platform or in Jira and ServiceNow, and retested once the fix ships.

    What stays with you

    Choosing the independent testers for the annual test, and deciding whether their report covers the app and APIs.

  2. IT Risk Notification No. สกช. 5/2566, 7.2; IT Risk Management Implementation Guideline, 2.7.2 (Thai text)

    Test before go-live and build security in

    What the text says

    Design, develop and test systems so they keep data confidential, remain reliable and stay available. Security testing should include a vulnerability assessment of the system, and where the system connects to an external network, a penetration test by external experts before it starts service. Review the source code independently whenever a critical transaction part is developed or changed. Keep development, testing and production environments separate, and sign off test results before go-live.

    Source:IT Risk Notification No. สกช. 5/2566, 7.2; IT Risk Management Implementation Guideline, 2.7.2 (Thai text)

    What it means for your mobile app

    Every release of your banking app is a change to an internet-facing system. The security tests belong to the release process, not to a yearly exercise you do afterwards.

    How Ostorlab helps

    Mobile SAST analyses the APK, AAB or IPA directly, with no source code needed, including taint analysis across embedded SDKs. Mobile DAST runs the app, and both run from your CI/CD pipeline on every build.

    What stays with you

    Source code review for critical transaction changes, environment separation, sign-off and release approval.

  3. IT Risk Notification No. สกช. 5/2566, 6.6, 6.10 and the third party rules (Thai text)

    Manage vulnerabilities, patches and third parties with deadlines

    What the text says

    Run a vulnerability management process for every system, with a frequency that matches its risk. Keep a patch management process for systems and devices, and complete security patches within a time that matches the vulnerability risk and the system importance. Where the vendor has not released a patch, put compensating controls in place, and use a formal exception process when a patch cannot be installed. Manage third parties that provide IT services, connect to your IT systems or can reach customer data, with due diligence and audit rights.

    Source:IT Risk Notification No. สกช. 5/2566, 6.6, 6.10 and the third party rules (Thai text)

    What it means for your mobile app

    The SDKs and native libraries inside your app are software you ship. Each one needs a known version, a severity when a vulnerability appears, and a fix deadline you can prove.

    How Ostorlab helps

    SCA fingerprints statically compiled libraries and maps them to known vulnerabilities, release to release. Findings are rated, tracked as tickets and retested once the fix ships.

    What stays with you

    Patching servers and infrastructure, vendor contracts, exception approvals and risk acceptance decisions.

  4. Mobile Banking Security Notification No. 4/2568, 5.3.2(2) (Thai text)

    Harden the app against tampering and old versions

    What the text says

    Maintain and improve the app to international standards and new threats. Ask only for the app permissions you need, and review them at every significant change. Do not serve old app versions that may carry vulnerabilities. Check for tampering every time the customer opens the app, and do not let a modified app run. Manage the computer session to prevent session hijacking, and obfuscate the source code so it cannot be read easily.

    Source:Mobile Banking Security Notification No. 4/2568, 5.3.2(2) (Thai text)

    What it means for your mobile app

    Tampering, session hijacking and readable code are the base an attacker builds on. Each of these protections is a behaviour you can test against a modified build and a live session.

    How Ostorlab helps

    Mobile Shielding Scan attempts bypasses of root and jailbreak detection, anti-tampering and instrumentation, shows what the app does next, and gives you a hardening score. Authenticated testing covers session handling.

    What stays with you

    The version policy for old releases, permission requests and the choice of hardening products.

  5. Mobile Banking Security Notification No. 4/2568, 5.3.2(3); Technology Crime Notification No. 19/2568, 4.2.1(5) (Thai text)

    Block rooted, jailbroken and risky device environments

    What the text says

    Do not let the app run on rooted or jailbroken devices. Do not let it run while risky applications are active, such as unnecessary accessibility services, remote control apps, or apps that can hide or steal what is on the screen. Avoid serving mobile banking on operating systems that an accepted security body such as Thailand Banking Sector CERT (TB-CERT) considers at risk. If you still serve those devices, warn the customer and cap transfers at 5,000 baht per day. When a new vulnerability appears, close it within a suitable timeframe or by a deadline the BOT sets.

    Source:Mobile Banking Security Notification No. 4/2568, 5.3.2(3); Technology Crime Notification No. 19/2568, 4.2.1(5) (Thai text)

    What it means for your mobile app

    Payment malware on a customer's phone is the threat these clauses target. Detection that does not stop the workflow is not enough, and forced-update and OS support policies are part of the control.

    How Ostorlab helps

    Mobile Shielding Scan runs the app in rooted and jailbroken environments and with overlays, attempts the bypasses and shows whether the app blocks the workflow, refuses to start or keeps running.

    What stays with you

    Deciding the OS support policy, the customer warnings and the limits applied to risky devices.

  6. Mobile Banking Security Notification No. 4/2568, 5.3.2(1) (Thai text)

    Protect data at rest, in transit and on screen

    What the text says

    Avoid storing important customer data on the mobile device, and if you must store it, encrypt it to an accepted standard and destroy it when no longer needed. Show sensitive information only as far as necessary, mask passwords, and hide the screen when the app goes to the background. Use secure protocols and prove the server with certificate pinning or an equivalent method, and encrypt important data at the application layer so it cannot be intercepted or changed in transit.

    Source:Mobile Banking Security Notification No. 4/2568, 5.3.2(1) (Thai text)

    What it means for your mobile app

    What the app writes to storage, shows on screen and sends over the network is where customer data leaks. All three are concrete, testable behaviours.

    How Ostorlab helps

    Ostorlab looks for tokens and personal data in local storage, caches, logs and screenshots, checks for screen masking and background blurring, and intercepts traffic even with TLS pinning to inspect what travels to the backend.

    What stays with you

    Data classification, key management on the backend and retention rules.

  7. Mobile Banking Security Notification No. 4/2568, 5.3.1(4); Technology Crime Notification No. 19/2568, 4.2.1(3) (Thai text)

    Verify high-value transfers with face comparison

    What the text says

    Add a customer verification step for mobile banking transactions using face comparison with presentation attack detection that resists photos, videos and spoofed biometrics, for example liveness detection. The step is required for transfers of 50,000 baht or more in one transaction, cumulative transfers reaching 200,000 baht within one day, and requests to raise the daily transfer limit to 50,000 baht or more. Customers who cannot use face comparison, such as visually impaired customers, need a documented alternative with risk controls.

    Source:Mobile Banking Security Notification No. 4/2568, 5.3.1(4); Technology Crime Notification No. 19/2568, 4.2.1(3) (Thai text)

    What it means for your mobile app

    The threshold sits in the flow, not in a policy document. The server has to require the face step on the transaction, and the limit increase is a step-up event of its own.

    How Ostorlab helps

    Authenticated testing covers login, limit changes, transfers and step-up flows with your test accounts, including the API calls the app makes when it triggers the face step.

    What stays with you

    The biometric product, liveness calibration, the exemption process for customers who cannot use it, and the customer notices.

  8. Mobile Banking Security Notification No. 4/2568, 5.3.1(3) and (5); Technology Crime Notification No. 19/2568, 4.2.1(2) (Thai text)

    Keep one account on one device and cap the limits

    What the text says

    Limit mobile banking to one user account per mobile banking service per institution, and to one mobile device. The limit applies per application when an institution runs more than one. Set a maximum daily withdrawal and transfer limit for each customer risk group; for customers under 15 years old the combined limit is no more than 50,000 baht per day. Where a customer asks to lift the limit, prove their identity and review the reason against clear criteria.

    Source:Mobile Banking Security Notification No. 4/2568, 5.3.1(3) and (5); Technology Crime Notification No. 19/2568, 4.2.1(2) (Thai text)

    What it means for your mobile app

    Device binding and the daily limits are server-side rules. If an old device, a copied session or a limit increase request can bypass them through the app or the API, the control is not real.

    How Ostorlab helps

    Authenticated testing checks device binding, session invalidation after a device change and the API calls behind limit changes, with your test accounts.

    What stays with you

    The risk groups, the limit values, and the exception process for customers who ask for more.

  9. Mobile Banking Security Notification No. 4/2568, 5.3.1(1) and (2); Technology Crime Notification No. 19/2568, 4.2.1(1) and 5 (Thai text)

    Stop phishing links and answer fake apps

    What the text says

    Do not send links in SMS messages or email to customers. On social media, avoid links that ask for authentication or personal data. A link may be sent only when the customer asks for it each time, with a clear message that it is a one-off reply to their request. Monitor the official app stores for apps that fake or imitate yours, and have a response process with owners, takedown steps and timeframes, including for fake apps outside the stores. Keep a hotline for customers to report technology crime, in and outside business hours.

    Source:Mobile Banking Security Notification No. 4/2568, 5.3.1(1) and (2); Technology Crime Notification No. 19/2568, 4.2.1(1) and 5 (Thai text)

    What it means for your mobile app

    Phishing starts in the channels customers trust. The controls are a link policy you can verify in the messages you send and a takedown process you can rehearse.

    How Ostorlab helps

    Ostorlab tests the app and the APIs behind its account and payment flows for abuse that follows a phishing link, such as credential stuffing, session replay and broken authorization.

    What stays with you

    The messaging policy, the takedown process for fake apps and the customer hotline.

  10. Personal Data Protection Act B.E. 2562 (2019), section 37, and the PDPC notification on security measures B.E. 2565 (2022) (Thai text)

    Meet the PDPA duties for personal data

    What the text says

    Use appropriate security measures to prevent loss, unauthorised access, use, change or disclosure of personal data, with organisational, technical and physical measures that match the risk, including access control and the ability to audit access. Notify the PDPC of a personal data breach without delay and within 72 hours of becoming aware of it, unless the breach carries no risk to individuals, and notify affected people when the risk is high. The security standard set by the PDPC notification is a floor that applies on top of the BOT rules.

    Source:Personal Data Protection Act B.E. 2562 (2019), section 37, and the PDPC notification on security measures B.E. 2565 (2022) (Thai text)

    What it means for your mobile app

    Customer data leaves the bank through the app, its SDKs and its logs. A breach of that data starts the 72-hour clock, and app testing is how you find the exposures before someone else does.

    How Ostorlab helps

    Ostorlab looks for personal data and credentials in the app package, storage, caches, logs and screenshots, and reports what the app and its SDKs send to which backends.

    What stays with you

    Records of processing, the breach response plan, the 72-hour notification to the PDPC and the notices to data subjects.

Summary of public Bank of Thailand and PDPC texts, checked on 27 September 2026. The BOT texts are in Thai and are summarised here. The draft Digital Channel Security notification is not in force and is described as a draft. This page is not legal advice.

Mapping

The BOT rules, control by control

The controls the BOT texts point to, how Ostorlab tests them in your app and its APIs, and the evidence you can keep.

The BOT rules, control by control
ControlHow Ostorlab helpsEvidence you keep
Annual penetration test of internet-facing systemsIT Risk 6.7AI-agent pentest of the app and its APIs, behind login, on the build you ship. Details A working exploit you can replay for each AI-agent finding, and a coverage heatmap
Security testing before go-live and on changeIT Risk 6.6, 7.2Mobile SAST on the binary and Mobile DAST on the running app, in CI/CD on every build. Details Scan results per build, with decompiled source context, traffic and screenshots
Vulnerable components, patches and third-party SDKsIT Risk 6.6, 6.10Fingerprints statically compiled libraries and maps them to known vulnerabilities, release to release. Details Mapped vulnerabilities with upgrade or replace recommendations, and closure tracked across releases
Anti-tampering, session handling and obfuscationMobile Banking Security 5.3.2(2)Modifies the binary, hooks the app and attempts to bypass tamper checks and session protections. Details Evidence of which protections held and which were bypassed
Rooted, jailbroken and risky device environmentsMobile Banking Security 5.3.2(3)Runs the app in rooted and jailbroken environments and with overlay or remote-control apps present. Details Hardening score, and bypass evidence for each protection that failed
Certificate pinning and the APIs behind the appMobile Banking Security 5.3.2(1.3)Intercepts traffic even with TLS pinning and tests authorization, token misuse and abuse such as enumeration and replay. Details Request and response evidence for each API finding
Keys and credentials in the app packageMobile Banking Security 5.3.2(1.1)Finds API keys, tokens and credentials in the app package and validates whether they work. Details Validated secrets, with the permissions and services they expose
Data on the device: storage, caches, logs and screenshotsMobile Banking Security 5.3.2(1.1) and (1.2)Looks for tokens and personal data in storage, caches, logs and screenshots, and checks masking and background blurring. Details File system evidence showing what was written, where and when
Face verification and step-up above the thresholdsMobile Banking Security 5.3.1(4)Logs in with your test accounts and tests the transfer, limit and step-up flows, and the API calls behind them. Details Findings on the step-up flows, with reproduction steps
One account, one device and daily limitsMobile Banking Security 5.3.1(3), (5)Tests device binding, session invalidation after a device change and the API calls behind limit changes. Details Session and device-binding findings, with request and response logs

Ostorlab tests controls in the app and its APIs. Fraud monitoring, the customer hotline, incident response and reporting, remediation of devices and operating systems, risk-group decisions, breach notification to the PDPC, backups and recovery, governance and physical security stay with your teams.

Action plan

BOT controls to test in your mobile app

A practical list for security and technology risk teams, based on the mobile banking security notification, the technology crime standards and the IT risk notification.

  1. Annual test

    Put the app and its internet-facing APIs in the yearly penetration test, and test again after significant changes.

  2. Before go-live

    Add a vulnerability assessment and, for internet-facing systems, an independent penetration test to the release process, with results signed off before go-live.

  3. App hardening

    Run the app as a modified build and check anti-tampering, root and jailbreak detection, session handling and blocking of old versions.

  4. Risky devices

    Test with accessibility, remote-control and screen-capture apps present, and check what the app does when the device is rooted or the OS is on the TB-CERT risk list.

  5. Data and credentials

    Look for keys, tokens and personal data in the app package, storage, caches, logs and screenshots, and check certificate pinning and app-layer encryption.

  6. Face verification

    Test that transfers of 50,000 baht or more, 200,000 baht cumulative in a day, and limit increases trigger face comparison on the server.

  7. One account, one device

    Verify device binding, session invalidation after a device change and the daily limits for each risk group.

  8. Components and patches

    Keep a versioned list of SDKs and native libraries, set patch deadlines by risk, and retest when a fix ships.

A suggested list, not a BOT template. This is not legal advice.

Sources

The official texts this page is based on, checked on 27 September 2026.

FAQ

Frequently asked questions

Straight answers on coverage, setup, and how results reach your team.

Can't find your answer? Book a demo or contact us.

Assess your mobile banking app the way the BOT describes it

Start with a free scan of your app from the store, or book a demo to run shielding and logged-in tests of your app and APIs with our team.