Skip to content
Expert Guide Series

What security requirements do fintech apps need

Building a fintech app without a clear grasp of its security requirements is one of the more reliable ways to spend twice what you planned and ship late. We learned this directly on a peer-to-peer currency exchange product, a platform where travellers could exchange leftover foreign currency with each other at interbank rates, cutting out commission entirely. The core transfer mechanism worked well. What we had not factored in was anti-money laundering compliance.

Apple flagged the product as a potential vehicle for money laundering because of its unlimited transfer capability, and we had to go back and retrofit several layers: more stringent KYC checks, enhanced transfer security, and hard limits on the number of transfers permitted between any two parties. That retrofit cost time and money that upfront planning would have avoided.

Retrofitting compliance after build costs far more than designing for it from the start.

Security in fintech is not a feature you add before launch. It shapes architecture decisions from the earliest days of a project, determines which payment providers you can use, and governs how much data you collect, when you collect it, and who can see it. The chapters below work through the main categories, compliance, authentication, data access, payment handling, platform rules, drawing on real projects where they touch them.

The goal is a clear map of what you are accountable for, so decisions made early in a project do not become expensive problems at the point of submission.

KYC and AML obligations

Know Your Customer (KYC) and Anti-Money Laundering (AML) obligations are the regulatory floor for any product that moves money between parties. KYC requires you to verify that users are who they claim to be. AML requires you to monitor transactions for patterns that suggest money is being laundered through your platform. Both are mandatory, and both have teeth, regulators can and do pull app store listings for non-compliance.

On the currency exchange product, we built the exchange functionality first and treated compliance as a second-order concern. That sequence was wrong. Apple's review team identified that unlimited peer-to-peer transfers with no identity verification created an obvious route for moving illicit funds. We had to introduce document-based identity verification, add transaction monitoring to flag unusual patterns, and restructure the transfer flow to include hard caps on both frequency and value.

The practical lesson is that KYC and AML requirements should be scoped before a single line of transfer logic is written. If your product moves money between users, even small amounts of foreign currency, you need to know which regulatory regime applies, what verification your payment provider requires, and how Apple and Google interpret AML risk in their review guidelines. Discovering this at submission is the expensive version of finding out.

Transfer limits and transaction controls

Transfer limits are one of the clearest expressions of AML compliance inside a product. They cap how much money can move through the platform in a single transaction or across a defined period, and they signal to regulators and app stores that the product is not designed to handle high-value flows without oversight.

On the currency exchange product, after Apple flagged the unlimited transfer model, we worked through two iterations. The first was a cap on the number of transfers permitted between any two parties, a structural control that prevented the same two users from repeatedly exchanging large sums. When the product later pivoted to an in-person exchange model, Apple raised further concerns. To satisfy those requirements, we imposed a per-transaction limit of approximately €100 to €150. That figure was not arbitrary, it reflected the threshold Apple considered low enough to prevent the platform being used for laundering meaningful sums.

Transaction controls go beyond simple caps. They include velocity checks (how many transactions in a given period), counterparty limits (how many unique users a single account can transact with), and flagging rules that escalate unusual behaviour for review. These controls need to be built into the transaction engine, not bolted on as post-processing rules. A transfer architecture designed without them is harder to retrofit than one that treats them as core requirements from day one.

Define your transfer limits and velocity rules before you write any transaction logic. Retrofitting controls into an existing payment flow is significantly harder than designing for them at the start.

Start your app project the right way

We deliver the complete blueprint before a line of code is written. User research, psychology-driven design and full technical specifications. You choose who builds it.

See how we work Get started

No commitment

Authentication architecture

Authentication is one of the earliest architectural decisions in any app, and in fintech it carries more weight than in most other categories. The choice of how users prove their identity shapes the security posture of the entire product.

We advise most clients to consider passive login as an alternative to both social login and traditional email-and-password flows. A user enters their phone number or email address and receives a one-time code, no password to remember, no reset flow to build, no credential database to protect. The security profile is better than stored passwords, the friction is comparable to social login, and crucially, no user data is shared with third-party platforms.

The decision changes in products where the nature of the content creates legal risk. On an anonymous messaging app we worked on, authentication had to sit at the very front of the experience. The messages were anonymous to other users in the product, but we needed to be able to tie every message back to a verified account on the back end, specifically to handle cases of abuse or harassment. That legal requirement overrode our usual preference for deferring login until the moment a user actually needs to store something against an account.

The legal requirements of your product, not preference, should determine where authentication sits in the flow.

Fintech products sit closer to the anonymous messaging end of that spectrum than most. Money movement requires identity certainty, and that certainty needs to be established early, through a mechanism that does not rely on passwords a user might share, reuse, or forget. According to Verizon's 2024 Data Breach Investigations Report, 76% of data breaches involved compromised credentials, which points clearly toward authentication designs that do not depend on stored passwords at all.

Tiered verification and progressive data collection

One of the more common mistakes in fintech app design is collecting all verification data upfront, before a user has any reason to trust the product. This front-loading increases drop-off at registration and creates the impression that the product is more bureaucratic than useful. The alternative is a tiered model, where the level of verification required scales with what the user is trying to do.

On an auction game product we worked on, we implemented exactly this. Watching or favouriting an auction required only a basic account, name and email or phone number. Playing a game and winning real money required elevated verification: age confirmation and a payment method on file. We only asked for additional data at the exact moment the product functionality required it, and not a moment before.

User action Verification required Data collected
Watching or favouriting an auction Basic account Name, email or phone number
Playing a game with real money Elevated verification Age confirmation, payment method

This approach works because it aligns the ask with the moment of value. A user who has just watched an auction and wants to participate has a reason to go through additional steps. A user who has just opened the app for the first time has no such motivation. The tiered model reduces friction at entry without compromising the verification standards that financial features genuinely require.

Map every verification requirement to a specific user action before you design your onboarding flow. Asking for data before the product needs it is a conversion problem dressed up as a security requirement.

Payment handling and fund custody

If your product collects money on behalf of one party and holds it pending delivery of a service by another, you are operating an escrow-like function. This carries regulatory implications that are separate from standard payment processing, and the choice of how you handle it matters.

On a property maintenance platform we worked on, the product connected landlords, tenants, and tradespeople. Job specifications could be uploaded, progress could be geotagged, and payment would be released on completion. The client needed funds to be held between payment and completion, an escrow model in practice. We investigated third-party escrow services but found they introduced legal complications the client was not equipped to navigate.

The solution was Stripe Connect with delayed payouts, treating the product as a marketplace app. This gave us the escrow-like outcome, funds held and released on a condition being met, while keeping the product fully within Stripe's legal and financial regulation framework. Stripe handles the compliance burden for the payment custody layer, which is exactly the kind of responsibility a fintech app should not be trying to manage independently.

The constraint worth knowing before you start: Stripe Connect account types impose meaningfully different limits on payment behaviour. Express accounts require near-immediate payouts, which did not suit our use case. The more control you need over payment timing, the more complex the integration becomes. Finding the right balance between custom payment behaviour and retaining the protections that come from Stripe's default handling is genuinely tricky, and it is worth mapping payment flow requirements in detail before committing to an account type.

Data access controls without a traditional API

Most security thinking assumes a traditional API layer sitting between the client application and the database. That intermediary handles authentication tokens, enforces access rules, and acts as a controlled checkpoint for every read and write. When you remove it, as you might on an MVP where build speed matters, the security model has to move elsewhere, and it requires careful attention.

On a performance coaching survey app, we used Firebase's real-time database as the backend rather than building a traditional API. Each survey created by a coach generated a record in Firebase. Audience members accessed their own unique response record via keys embedded in the QR code URL. The QR codes themselves were generated using iOS's built-in libraries, meaning they were never stored externally, the code existed only on screen during the live presentation, and once the coach marked a survey as finished, no further responses could be recorded.

The security model had to be built entirely within Firebase's rules. Only authenticated coach accounts could create surveys. Each QR code contained a unique key granting read access to only that specific survey. When a respondent accessed the URL, we used a cookie and device fingerprinting to restrict write access to one submission per device per survey, preventing duplicate responses while ensuring respondents could not read anyone else's answers.

The lesson from that project was that skipping a traditional API is a legitimate MVP decision, but it pushes the entire security burden onto the database rules. Every permission has to be scrutinised carefully because there is no controlled intermediary to catch what the rules miss. According to Serverion, 2023, 61% of organisations have accidentally exposed secrets such as API keys in public repositories, which points to how easily access controls fail when they are not designed deliberately.

Location and personal safety requirements

Location data is among the most sensitive categories a mobile app can handle. It tells you where someone lives, where they work, and what they do between the two. In fintech, it appears most often in fraud detection (flagging transactions from unexpected locations) and in marketplace products where physical proximity matters. In both cases, how precisely you expose that data deserves deliberate design.

On a fitness social app we worked on, the original concept centred on showing users' real-time locations on a map so people could find workout partners nearby. Research revealed that a high proportion of the expected user base was female, which made precise location sharing a significant personal safety concern. We redesigned the feature to introduce randomised location offsets: users could see the general area where a potential workout partner was, but not their exact position.

Users could then exchange messages and review each other's profiles before choosing to reveal their precise location, making disclosure an active opt-in rather than a default. The core value of the feature, enough proximity information to judge whether a meetup was feasible, was preserved. The risk of exposing someone's exact location to a stranger they had not yet vetted was removed.

This principle applies equally to any fintech product that uses location to enable transactions. Proximity-based payment, geofenced offers, and fraud detection all use location data, and each carries a different safety profile that deserves the same scrutiny we gave the fitness app.

App store and platform compliance

Apple and Google are not passive distributors. Both platforms actively review financial products for compliance with their own guidelines, and those guidelines overlap with, but are not identical to, financial regulation. A product can be legally compliant in its home jurisdiction and still be rejected by Apple for failing to meet App Store requirements around money transmission, gambling, or user data handling.

The currency exchange product is the clearest example from our own work. Apple's AML concerns were not triggered by a regulatory complaint, they came from Apple's own review team applying their internal guidelines. Satisfying the regulator and satisfying Apple turned out to be two separate tasks, and the App Store review was the harder one to predict.

On a social football product we worked on, the App Store Connect account was registered in the client's name, and they held the Account Holder role. We were given admin access to most of the account and set up three testing groups: one for our team, one for the client, and one external QA beta group.

As the project approached launch, the client began bypassing the structure by manually sending uploaded builds to whichever group they wanted. Because the account was theirs, we had limited ability to prevent this, and it caused problems with build control during a critical period. The structure of account ownership has real operational consequences, and it is worth agreeing governance of the App Store Connect account before a project starts.

Treat App Store and Google Play compliance as a separate workstream from regulatory compliance. The review criteria overlap but are not the same, and Apple's AML interpretation can be stricter than the underlying regulation.

What retrofitting security actually costs

The cost of building security in from the start is predictable. The cost of retrofitting it is not, and it is almost always higher. On the currency exchange product, the retrofit involved rearchitecting the transfer flow, adding identity verification, integrating new compliance tooling, and resubmitting to Apple, all work that interrupted development of the product's actual feature roadmap.

The pattern generalises. Security requirements that are discovered during or after build require changes to foundational parts of the system: the authentication model, the data schema, the transaction logic. Changing those things after they are live, or after other features have been built on top of them, is significantly more expensive than getting them right in the design phase. GoodFirms estimates that highly regulated industries like fintech can see development budgets increase by 30 to 50% due to compliance, security, and data protection requirements, and that figure assumes the requirements were known at the start. Discovering them late pushes the ceiling higher.

The practical countermeasure is a compliance audit at the start of the design process. This covers the regulatory regime that applies to the product, the app store guidelines relevant to its category, the payment provider constraints for the chosen payment model, and the data protection obligations for each type of user data the product will collect. None of this is quick, but it is bounded work. The alternative, finding requirements through rejection, forced retrofit, or a data breach, is both slower and more expensive.

  1. Identify the regulatory regime that applies to your product's category and geography.
  2. Map every type of user data you will collect and the protection obligations attached to it.
  3. Review App Store and Google Play guidelines for your product category before build begins.
  4. Define transfer limits, velocity rules, and KYC thresholds before writing transaction logic.
  5. Agree account ownership and testing group governance with clients before the first build is uploaded.

Conclusion

Security in fintech is an architectural constraint, not a checklist item. It determines how authentication is structured, how payments flow, how much data you collect and when, and how the product is described to app store reviewers. Getting it wrong at the design stage is recoverable but expensive, as the currency exchange product showed, retrofitting compliance after build means rewriting the parts of the system that everything else sits on top of.

The projects covered here, the currency exchange product, the auction game, the property maintenance platform, the performance coaching app, each had a different security challenge, but each one reinforced the same underlying point. Requirements discovered late become rework. Requirements scoped early become design decisions, and design decisions cost far less to get right the first time.

If you are early in the design of a fintech product and want to work through the compliance and security requirements before a line of code is written, let's talk about your product.

Frequently Asked Questions

Why is it so costly to retrofit security and compliance after an app has been built?

Retrofitting compliance means revisiting architecture decisions, transfer logic, and data flows that were designed without those constraints in mind. On our currency exchange product, adding KYC checks and transfer limits after build cost significantly more time and money than scoping them upfront would have done.

What is the difference between KYC and AML, and do I need both?

KYC, Know Your Customer, requires you to verify that users are who they claim to be, whilst AML, Anti-Money Laundering, requires you to monitor transactions for suspicious patterns. If your product moves money between parties, both obligations apply and both are enforceable, including through app store removals.

Can Apple or Google remove my app for failing to meet financial compliance standards?

Yes. Regulators and app store review teams can and do pull listings for non-compliance with AML and KYC requirements. Apple flagged our currency exchange product during review because unlimited peer-to-peer transfers with no identity verification presented an obvious money laundering risk.

When in the development process should security requirements be addressed?

Security requirements should shape your architecture from the earliest days of a project, not be added as a final step before launch. Decisions about data collection, payment providers, and transfer logic all depend on knowing your compliance obligations in advance.

What are transfer limits, and why do app stores care about them?

Transfer limits cap how much money can move through a platform in a single transaction or over a set period. They signal to regulators and app store reviewers that the product is not designed to handle high-value flows without oversight, which is a key indicator of AML compliance.

What kind of identity verification is typically required for a money transfer product?

Document-based identity verification is commonly required, where users submit official identification that is checked against their claimed identity. This is a core component of KYC compliance and is something we had to introduce retrospectively on our currency exchange product after Apple's review team raised concerns.

How do I know which regulatory regime applies to my fintech product?

The applicable regime depends on factors such as where your users are based, what type of money movement your product facilitates, and which payment providers you use. You should establish this before writing any transfer logic, as discovering the requirements at submission is a far more expensive way to find out.

Does my app need transaction monitoring even if it only handles small amounts of money?

Yes. AML obligations apply based on the nature of the transactions, not just their size. Even a product handling small amounts of foreign currency between users can be flagged if it lacks monitoring for unusual patterns or frequency of transfers.