Key takeaways
- The four UAE regimes attach the testing obligation to the entity that holds the licence or the data, and none of them releases it when a vendor runs the API, a cloud provider runs the gateway or a partner sits downstream.
- Authorisation comes from a different party at each layer: your own letter for your configuration, tenant and data; the cloud provider's published testing policy for the gateway; each vendor's written consent; and a sandbox, a consent or an exclusion for every partner endpoint.
- A multi-tenant vendor's own report is evidence, not a substitute for a test of your tenant. The tenant boundary is tested against a second, empty test tenant the vendor provisions, and a refusal goes in the pack with a named decision.
- A downstream call turns the tester's request into your request to a partner's live system. Settle per endpoint which calls run live, which go to a sandbox and which are excluded, and record that sandboxed endpoints were not tested for how they consume the partner's responses.
- Personal records reached during the test are processed on your behalf under Federal Decree-Law No. 45 of 2021. The engagement contract sets that out, records are counted and not copied, and the vendor holding them is told you instructed it.
Outsourcing moves the API, not the obligation
The four UAE regimes that ask for security testing attach the obligation to the entity that holds the licence or the data, and none of them lets go of it when the system belongs to somebody else. A bank licensed by CBUAE that runs its account endpoints on a vendor's platform is still the party the examiner asks, and the Central Bank's rules on outsourcing keep responsibility for an outsourced activity with the institution. DESC reaches a supplier by contract, ADHICS reaches the vendors inside a hospital's environment, and the federal Information Assurance Regulation treats third-party security as a control family of its own. What UAE regulators expect from an API pentest set out which regime reaches which API. This article is about the case all four now meet: the API the rule reaches is not one the entity runs.
That case is the ordinary one. Between a caller and a record there are commonly five layers, with five operators. A third party's application makes the call. A gateway terminates it, a managed cloud service that the entity configures and the provider runs. An identity provider issues the token, often a vendor's hosted product. The service that makes the authorisation decision is a vendor's software, sometimes a shared platform serving other customers. The data store behind it is the vendor's, and in a multi-tenant design it holds other tenants' records in the same tables. The stack below is that path. Each layer needs a different answer to who may authorise a test against it, and the obligation to produce the evidence sits with the one party who operates almost none of it.
Third-party application
A partner's or a licensed app; its operator is not you
Gateway
A managed cloud service: your configuration, the provider's machines
Identity provider
Often a vendor's hosted product, issuing every token
Service
The authorisation decision, made in software a vendor runs
Data store
The vendor's database, shared with other tenants when multi-tenant
Who can authorise the test at each layer
Accessing an information system without authorisation is an offence under Federal Decree-Law No. 34 of 2021 on Countering Rumours and Cybercrimes, and authorisation can only be given by a party entitled to give it. Authorising a Red Team under UAE law set out that principle for an engagement against your own estate: you can authorise access to what is yours, and nobody can authorise access to what is not. An API test meets the principle in a sharper form, because the estate is layered and the layers are other people's. The entity's letter covers its own configuration, its own tenant and its own data. It does not cover the provider's machines, the vendor's platform beyond the tenant boundary, or a partner's endpoint.
The table sets out where the authority comes from at each layer and what the pack can say as a result. Two rows carry most of the weight. The large cloud providers publish testing policies for their managed services, and for most of them a customer may test its own resources without notice, with named exclusions such as denial of service. That policy is the authorisation for the gateway, and the letter should cite it by name and date. A multi-tenant vendor is the opposite case: its written consent is needed before the first request, and the next section is about what it consents to. The UAE Information Assurance Regulation carries third-party security as a control family, and the contract that created each of these relationships is where a right to test should already have been written. Where it was not, the consent is asked for now and the clause is added at renewal.
| Layer | Who usually runs it | Authorisation comes from | What the pack can say |
|---|---|---|---|
| Gateway | A cloud provider's managed service, configured by you | The provider's published testing policy, cited by name and date | Your configuration tested live: routes, rate limits, token validation |
| Identity provider | A vendor's hosted product | The vendor's written consent, or its own published policy | Token issuance, scope and lifetime tested against your tenant |
| Service, single-tenant | A vendor's software on infrastructure you control | Your own letter, with the vendor notified | Every endpoint and every role, tested as your own |
| Service, multi-tenant | A vendor's shared platform | The vendor's written consent, naming the tenant boundary | Your tenant in full; the boundary only as far as the vendor allows |
| Partner endpoint downstream | The partner | The partner's consent, its sandbox, or an exclusion | Which calls reached the partner live and which went to a sandbox |
The multi-tenant vendor, and the test it least wants to allow
A vendor that serves several regulated entities from one platform is asked for consent by each of them, and the answer it prefers is its own report. That report is evidence and belongs in the pack. It is not the same evidence as a test the entity commissioned, for two reasons. The vendor scoped it, so what it left out is invisible to the reader. And it describes the platform in general, when the examiner's question is about this entity's tenant, this entity's roles and this entity's data. An API pentest commissioned against the entity's own tenant answers that question directly, and the vendor's consent should extend to it.
The finding that makes the negotiation difficult is the one the OWASP API Security Top 10 ranks first. On a shared platform an object level authorisation flaw is a tenant boundary flaw: a record from one customer reached with a token issued to another. Testing for it means the tester's requests carry identifiers that do not belong to the entity's tenant, and the vendor will say, correctly, that nobody can authorise access to another customer's data. The working answer is a second tenant. The vendor provisions a test tenant that belongs to nobody, seeded with generated records, and the boundary is tested between the entity's tenant and that one. Where the vendor refuses even that, the refusal is recorded in the pack with whatever compensating evidence the vendor offered, and the entity's risk owner signs the decision to proceed on it. An examiner would rather read that decision than discover the gap.
Downstream calls: the partner's live system your API calls for you
An API under test rarely stops at its own data store. A payment initiation endpoint calls a scheme or a correspondent. A hospital's integration calls the health information exchange. A government service calls a supplier's platform for the record it needs. One hop after the tester's request reaches the entity's endpoint, it has become the entity's request to a partner's live system, and no letter the entity holds authorises hostile traffic into that. The rules of engagement that NIST SP 800-115 describes are where this is settled, and for an API the settlement is per endpoint. Which downstream calls run live, which are pointed at the partner's sandbox for the duration, and which endpoints are excluded because neither is possible.
Two consequences follow. A sandbox does not behave like the live partner, so an endpoint tested against one has been tested for its own authorisation and input handling and not for how it treats what comes back. The 2023 edition of the OWASP API list closes with unsafe consumption of APIs for that reason, and the pack should say which endpoints were tested for it and which were not. And the join of logs across layers, described in where an API pentest should be seen, now crosses organisations. The partner's record of what arrived is evidence the entity cannot read, and a line in the letter asking the partner to preserve and share it for the window costs less than asking afterwards.
Before day one: name, ask, record
The pre-engagement work is the sequence in the figure, and each phase leaves a document the examiner will read. Name: the endpoint inventory, built the way how an API pentest builds its endpoint inventory describes, gains a column for the operator of each layer the endpoint crosses and another for where its downstream calls go. Ask: the entity's own letter for what it runs, the provider policy cited for the gateway, written consent from each vendor with the tenant boundary named, and a sandbox, a consent or an exclusion for each partner. Record: what was tested live, what was tested against a sandbox or a test tenant, and every refusal, with the decision taken on it and the name of the person who took it.
One more line belongs in the ask. Personal records reached during the test are personal data under Federal Decree-Law No. 45 of 2021, which distinguishes the controller from the processor, and the UAE government's summary of its data protection laws notes that the financial free zones carry their own. A tester who reaches those records on the entity's instruction is processing them on its behalf, and the engagement contract is where that is written down. Records are counted and not copied. Generated data is used wherever a test tenant allows it, and the vendor whose platform holds the records is told that the entity gave the instruction. None of this is new law for an API. It is the same law meeting an asset with five operators, and the pack is where the five answers are kept together.
Name
Inventory with operators
Every endpoint, and the party running each layer it crosses
Downstream map
Where each endpoint's outbound calls go, live or sandbox
Ask
Your own letter
Covers your configuration, your tenant and your data
Provider policy cited
The gateway's published testing terms, by name and date
Vendor consent
Written, naming the tenant boundary and any test tenant
Partner sandbox or exclusion
Decided per endpoint, before the first request
Record
Live or copy, per endpoint
What was tested for real and what against a sandbox
Refusals and decisions
Each refusal, the compensating evidence, and who accepted it
Five operators, two emirates: who is asked in Dubai and Abu Dhabi
In Dubai this arrangement is the normal shape of a regulated estate. A bank or payment institution licensed by the Central Bank runs on hosted platforms, fronts them with a managed gateway and, under open finance, answers calls from licensed third parties it does not control. The examiner asks the institution, whose pack has to show consent from each operator and a result for each layer. A supplier to a Dubai government entity under DESC stands on the other side of the same relationship: it is the vendor being asked for consent, and the right-to-test clause it agreed at tender is what it is now held to. Firms inside the DIFC add the Centre's own data protection law to the contract that governs the tester's processing.
In Abu Dhabi the vendor inside a hospital's environment is held to ADHICS through the entity it serves, and the integration with the emirate's health information exchange is the downstream partner whose sandbox and consent have to be arranged before the test. The ADGM's data protection regulations add the same second layer for firms inside it. Across the United Arab Emirates the practical difference between the emirates shows up in procurement. Did the tender for a platform or an integration ask for a right to test, a right to the vendor's own report, and a duty to provide a test tenant? Where a mobile app pentest is bought alongside the API test, the same consents cover both, because the client sends its traffic through the same five layers. Ask for the clauses at the next renewal. They cost far less to write into a contract than to negotiate the week before a test.
Frequently asked questions
Can a UAE regulated entity outsource its API and the obligation to test it?
It can outsource the API. The obligation stays. CBUAE's outsourcing rules keep the licensed institution responsible for outsourced activities, DESC reaches a supplier through the contract with the Dubai government entity, and ADHICS reaches the vendors inside an Abu Dhabi healthcare environment. The examiner asks the entity, and the entity's evidence pack has to show consent from each operator in the estate and a test result for each layer.
Who authorises a penetration test of an API on a cloud gateway or a vendor's platform?
A different party at each layer. The entity's own letter covers its configuration, its tenant and its data. The cloud provider's published testing policy covers the gateway, and the letter should cite it by name and date. Each vendor gives written consent for its platform, naming the tenant boundary. A partner endpoint the API calls downstream needs the partner's consent, a sandbox for the duration, or an exclusion. Nobody can authorise access to a system that is not theirs.
Is a SaaS vendor's own penetration test report enough for a UAE examiner?
It is evidence and it belongs in the pack, but it is not a test of your tenant. The vendor scoped it, so its omissions are invisible, and it describes the platform in general rather than your roles and your data. Commission a test against your own tenant, and ask the vendor for an empty test tenant so the boundary between tenants can be tested without touching another customer's records. If the vendor refuses, record the refusal and the named decision to proceed on it.
How do you test an API that calls a partner's live system?
Per endpoint, before the test starts. Decide which downstream calls may run live, which are pointed at the partner's sandbox for the window, and which endpoints are excluded because neither is possible. Record that a sandboxed endpoint was tested for its own authorisation and input handling but not for how it consumes the partner's responses, and ask the partner in advance to preserve its log of what arrived, because that record is evidence you cannot otherwise read.






