TECHNOLOGIES: IONIC & CAPACITOR

Ionic and Capacitor Penetration Testing

Capacitor’s WebView bridge hands your JavaScript direct access to native plugins in every build you ship. We test the bridge, storage, deep links and update channel your app relies on. CREST-certified testers, fixed price from £4,240 for a 3-day single-framework scope, quoted within 24 hours.

  • Unlimited retesting
  • Unlimited pre-retesting
  • No hidden fees
Accredited & recognised
Cyber Essentials certified Cyber Essentials Plus certified IASME certifying body ISO 27001 certified ISO 9001 certified Crown Commercial Service supplier UK Cyber Security Council member
CREST
Approved Provider
10
Ionic and Capacitor Test Areas
FREE
Retest Until Closed
24h
Scope to Active Test
CLIENT REFERENCE
“I would highly recommend EJN Labs to any organisation seeking reliable, detailed, and well-managed penetration testing services, particularly for government or enterprise-level projects.”
SquareOneImran SaghirProject Lead, SquareOneRead the SquareOne case study →
CLIENT REFERENCE
“There wasn’t another company we could find that could deliver what we needed in the timeframe we needed. The client loved it, and we got instant ROI from the engagement.”
CelloriDan WilcocksonFounder, CelloriRead the Cellori case study →
See all case studies →
WHY IT MATTERS
Bridge

Every native capability your Ionic app uses, from the camera to encrypted storage, crosses Capacitor’s WebView bridge as a plugin call from JavaScript into native code. We test what each bridge call and plugin actually allows once it reaches the native side.

Why an Ionic and Capacitor app’s risk sits in the bridge and its configuration

Every native capability an Ionic app uses, from the camera to push notifications, crosses Capacitor’s WebView bridge as a plugin call passed from JavaScript into native Swift, Kotlin or Java code. Capacitor’s own security guide states plainly that every Capacitor developer is responsible for auditing their own app’s data, authentication, network and web view security, and it recommends configuring a Content Security Policy through a meta tag in the app’s own HTML rather than relying on one being set for you. We test what a plugin’s native implementation actually allows once a bridge call reaches it, and whether the release build ships with a CSP that restricts what the web view can load.

Data written with the official Preferences plugin lands in UserDefaults on iOS and SharedPreferences on Android, and Capacitor’s own documentation is explicit that this API is not meant to be used as a local database and carries none of the hardware-backed protection that iOS Keychain Services or the Android Keystore provide for a session token or an encryption key. Deep linking carries a separate risk: Capacitor’s security guide warns that a Custom URL Scheme is not globally controlled the way a web domain is, so a malicious app can register the same scheme and intercept a link, including the redirect an OAuth2 flow depends on, which is why it states PKCE must be used for any OAuth2 flow completed via a deep link. We test what your app actually stores in Preferences versus a Keychain or Keystore-backed alternative, and whether every deep link handler and OAuth redirect enforces PKCE the way the guidance requires.

Where a build receives updates outside app store review, that update path becomes part of the app’s attack surface. Ionic’s own commercial products announcement confirms new sales of Appflow, its own live-update platform, were discontinued in February 2025, with existing Appflow customers retaining access only through 31 December 2027, so we confirm during scoping which live-update mechanism, if any, your build currently uses before testing how it verifies an update’s authenticity. Every check made on the client side is still only a convenience once a request reaches your backend, so we test whether your API enforces authorisation independently of what the Capacitor client sends. Where your organisation also ships a React Native or Flutter build against the same backend, our React Native and Flutter penetration testing covers that app alongside this one.

SCOPE

What we pen test on an Ionic and Capacitor application

IC-01

WebView Bridge and Plugin Exposure

Every native capability an Ionic app uses crosses Capacitor’s WebView bridge as a plugin call passed from JavaScript into native code, and Capacitor’s own security guide places responsibility for auditing that surface on the developer, not the framework. We test what each plugin’s native implementation actually allows a bridge call to do, not just what the JavaScript API is documented to expose.

IC-02

Content Security Policy Configuration

A Content Security Policy for the web view is set through a meta tag in the app’s own HTML, in the same format a website would use, and Capacitor’s documentation points developers to configure one themselves. We check whether a CSP is present in the release build and whether it actually restricts the scripts, origins and connections a compromised web view could otherwise reach.

IC-03

Cleartext Traffic and Local Server Configuration

Android disables cleartext HTTP traffic by default from API 28 onward, and Capacitor’s own configuration schema documents a server.cleartext flag that exists specifically to allow it back in for a live-reload development server. We check that this flag, along with the androidScheme, iosScheme and hostname settings Capacitor uses to serve your web assets, is not left in a state meant for development once the app ships.

IC-04

allowNavigation and WebView Navigation Scope

Capacitor’s documentation states that by default all external URLs are opened in the device’s external browser rather than inside the app’s own web view, and the allowNavigation setting is what lets specific external domains load inside the web view instead, something its own schema comments describe as not intended for production use. We test which domains your build actually allows to navigate inside the web view and whether that list matches what production needs.

IC-05

Preferences Storage and Session Data

The official Preferences plugin stores data in UserDefaults on iOS and SharedPreferences on Android, and Capacitor’s own documentation is explicit that this API is not meant to be used as a local database and offers none of the hardware-backed protection that iOS Keychain Services or the Android Keystore provide. We check what your app actually writes to Preferences and whether a session token, credential or encryption key has landed there instead of behind Keychain or Keystore.

IC-06

Custom URL Scheme and Deep Link Hijacking

Capacitor’s security guide warns that a Custom URL Scheme is not globally controlled the way a web domain is, so another app can register the same scheme and intercept a link, including the redirect an OAuth2 flow depends on, which is why it states PKCE must be used for any OAuth2 flow completed via a deep link. We test every appUrlOpen handler your app registers and confirm OAuth redirects enforce PKCE, the same check we run on a React Native build using the same backend.

IC-07

Native Plugin Implementation Review

Every Capacitor plugin, official or community-built, ships real Swift, Objective-C, Kotlin or Java code that runs with the full native permissions of your app, independently of anything the JavaScript layer assumes about it. We review the native side of any custom or third-party plugin in scope for the access, storage and validation decisions it actually makes once a bridge call reaches it.

IC-08

Backend Authorisation Behind the App

A check written into your Ionic app, whether in a callback, a plugin response or a stored token, is a convenience for the interface, not a control, since a request can always be replayed or rebuilt without the app in between. We test whether your backend enforces authorisation and object-level access itself, independent of what the Capacitor client sends or withholds.

IC-09

Live Update and Over-the-Air Channel Integrity

Where a build receives updates outside app store review, through Ionic’s own Appflow Live Updates or another channel, that update path becomes part of the app’s attack surface, and Ionic’s commercial products announcement confirms new Appflow sales stopped in February 2025 with existing customer access running only to 31 December 2027. We confirm during scoping which live-update mechanism, if any, your build currently uses, then test how it verifies an update’s authenticity before applying it.

IC-10

Certificate Validation and Transport Security

Capacitor’s own security guide states plainly that apps should only make requests to SSL-enabled endpoints and should never call an http:// address, since that is the only way to guarantee data is not sent in plain text. We test whether your app enforces this in practice, including certificate pinning where you use it and what happens to the connection if a pinned or expected certificate does not match.

OUR PROCESS

Ionic and Capacitor Penetration Testing: From Scope to Attestation

01

Scope, Builds and Access

We agree which builds, platforms and backend environments are in scope, plus TestFlight, Play internal track or signed build access and at least one authenticated account for every distinct role.

02

Bridge and Plugin Mapping

We catalogue every plugin your app uses, official and community-built, map what each exposes across the WebView bridge, and identify deep link handlers, storage locations and any live-update channel in the build.

03

Manual Testing

CREST-certified testers manually test plugin exposure, storage, deep link handling, certificate pinning and backend authorisation, chaining findings where they compound.

04

Attestation and Retest

You get a technical report with CVSS scores and reproduction steps, a walkthrough call, a free retest once fixes are deployed, and an attestation letter for auditors.

CREDENTIALS

Verified Accreditations Auditors Accept

Every credential below is independently verifiable. UK procurement teams, FCA supervisors, ISO 27001 / SOC 2 auditors, and cyber insurance underwriters all recognise these standards.

GET YOUR QUOTE

Get a CREST Ionic and Capacitor pen test quote in 24 hours

A fixed-price quote back in one business day, from a named CREST assessor. No sales pipeline, no chasing.

  • CREST and IASME accredited. Testing your auditors and clients already recognise.
  • Fast-track testing within 24 hours where required. Free retest of every fix included.
  • Live findings via your client portal, not a four-week PDF.
  • Fixed price from £3,500 for a single-role, single-app scope, agreed up front. Most engagements run £5,000 and up. No day-rate surprises.
What clients say
There wasn’t another company we could find that could deliver what we needed in the timeframe we needed. The client loved it, and we got instant ROI from the engagement.
CelloriDan WilcocksonFounder, Cellori

Under NDA Further named references available on a scoping call.

What happens next
  1. We reply within one business day with a fixed-price quote from a named CREST assessor.
  2. You approve the scope and we book a start date, usually within 24 hours.
  3. Live findings land in your client portal as we test, with a free retest of every fix.
Accredited & recognised
CREST member Cyber Essentials certified Cyber Essentials Plus certified IASME certifying body ISO 27001 certified ISO 9001 certified UK Cyber Security Council Crown Commercial Service supplier

Get your fixed pen test quote in 24 hours

⚡24h reply ✓CREST tester ↻Free retests

or book a 20-min scoping call first

We reply within one business day. Your data stays with us. No newsletter signup.

COMPLIANCE READY

Reports Mapped to Every Framework

Findings are written so your team can reference the report against each framework without translation work.

ISO 27001:2022

Annex A.8.8 management of technical vulnerabilities plus A.5.15-5.18 and A.8.2-8.5 access control validation.

SOC 2 Type I & II

CC6 logical access, CC7 system operations, CC8 change management evidence.

PCI DSS

Requirement 11.4 application penetration testing across cardholder data environments, including ecommerce penetration testing for online retail platforms.

FCA SYSC

SYSC 4.1.1R, 6.1.1R, 13 mapped to each finding for FCA-regulated firms.

UK GDPR

Article 32 effectiveness testing, customer-data security controls, ICO-acceptable evidence.

Cyber Essentials Plus

Direct certification through our IASME body status, single-vendor delivery.

PRICING

Transparent Ionic and Capacitor Penetration Testing Pricing

Pricing depends on the number of roles, integrations and environments in scope. See our pricing page for how we quote.

✦ ALWAYS · ON EVERY TIER · NO EXCEPTIONS ✦
✓Free retests, no time limit
✓Free rescheduling
✓No cancellation fees
✓24-hour scope to active testing
✓Live findings to client portal
✓Executive + technical report
✓60-min walkthrough call
✓Letter of attestation
SMALL / SMB
£4,240–£5,780
3 to 5 testing days

Single user role, basic CRUD application, marketing website with auth. Around 5 working days from kickoff to report.

Get a fixed quote
ENTERPRISE
£8,190–£11,240
7 to 9 testing days

Multi-tenant platform, complex authorisation matrix, integration-heavy applications. Around 15 to 20 working days from kickoff to report.

Get a fixed quote

Full UK pen test cost guide

WHY EJN LABS

What You Get From Ionic and Capacitor Penetration Testing

Six concrete differentiators competitors don’t all match.

CREST-Certified Testers, Verifiable

Every test by a CREST-certified pen tester (CRT, CCT APP, CCT INF where applicable). Verify our company status at crest-approved.org.

24-Hour Startup, Where Required

From signed scope to active testing in a single business day for incident response, audit deadlines, or regulator-driven timelines.

Live Findings, Not 4-Week PDFs

Critical issues reported during testing through your client portal. Your team remediates while testing continues.

Audit-Ready Reports

Executive summary plus full technical report with CVSS scores and explicit framework mappings (ISO 27001, SOC 2, PCI DSS, FCA SYSC).

Free Retests, Standard

Verify remediation of every finding before close-out. Letter of attestation for audit submission included. Most competitors charge £1,500-£3,000 per retest.

UK-Based CREST Testers

Every engagement performed by vetted, UK-based CREST-certified testers, matched to your needs, security clearance, and compliance scope.

FAQ

Frequently Asked

What access do you need to test our Ionic and Capacitor app?

We need the build itself, through TestFlight, a Play internal testing track or a signed APK or IPA, plus at least one authenticated account for every distinct role the app exposes. If the app talks to a backend you control, API documentation or a schema export and any tokens needed for a staging environment speed up testing.

Will testing touch our live data?

We test whichever build and environment you give us access to. If that points at production, we agree exclusions upfront, such as destructive account actions and real payment processing, and we do not run those tests against live customer data without that agreement in writing.

How long does an Ionic and Capacitor penetration test take?

A single Ionic and Capacitor application sits in our 3-day single-framework scope, with a report typically landing around 5 working days after kickoff. An app with more roles, a wider plugin surface or multiple backend integrations moves into a larger scope with more testing days.

Do you test iOS, Android or both?

Both, where both are in scope. Capacitor plugins are implemented separately for iOS and Android, so a missing check or a bypass found on one platform’s native code does not mean the other platform’s implementation is safe, and we test each build.

Is the backend our app calls included in the test?

Only if you scope it in. This test covers the Ionic and Capacitor app itself: its bridge, plugins, storage, deep links and update channel. Testing the API or backend behind it in depth is covered by our API penetration testing and can be scoped alongside this test.

What is out of scope for a single-framework Ionic and Capacitor test?

Infrastructure hosting your backend, such as your cloud environment or servers, is out of scope for this test and covered by our cloud penetration testing service instead. A separate web app or admin panel sharing the same backend is also scoped and quoted separately.

Do you need our source code?

No. Testing is black-box against the installed build by default. A grey-box option, where we review your plugin implementations, bridge configuration and update-channel signing setup alongside testing, is available if you want faster or deeper coverage of specific findings.

Does Ionic or Capacitor have a customer penetration-testing policy we need to follow?

Ionic Framework and Capacitor are open-source tooling you build, sign and release yourself rather than a shared multi-tenant service, so there is no vendor notification process for the app itself. Capacitor’s maintainers do run a responsible-disclosure process for vulnerabilities in the framework, reported to security@ionic.io, which is separate from testing your own app, and where your build relies on a distribution channel, backend platform or live-update service, we confirm that provider’s current testing terms during scoping.

EXPLORE EVERY SERVICE

20+ CREST-accredited testing services in one place

Web, mobile, API, cloud, AI, infrastructure, red team. Pick the test that fits your environment.

Penetration testing services
READY TO START

Get a fixed price for your Ionic and Capacitor application

Capacitor’s WebView bridge hands your JavaScript direct access to native plugins in every build you ship. We test the bridge, storage, deep links and update channel your app relies on. CREST-certified testers, fixed price from £4,240 for a 3-day single-framework scope, quoted within 24 hours.