TECHNOLOGIES: RETOOL

Retool Penetration Testing

Every Retool query runs with its resource’s credentials, not the user’s. We test whether your apps, workflows and public links can reach more data than you intended. CREST-certified testers, fixed price from £2,270 for a 2-day single-app 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
Retool 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
Resource

A resource is Retool’s shared connection to a database or API, and every query passes through the credentials attached to it, not the browser. What that resource’s permission level and credential scope actually allow, rather than what the app’s interface offers, is what a query can reach.

The resource decides what a query can reach, not the app built on top of it

Retool’s permission system runs on two layers: groups that grant Use, Edit or Own access to apps, resources, workflows and agents, and, on higher-tier plans, resource permissions that can be set separately for each environment a resource is configured in. Retool’s own documentation is explicit that there is no default resource permission across environments: production and staging must each be granted independently, and a new environment added to a resource inherits nothing from the environments already configured on it. We test whether that separation actually holds, or whether a group with staging Use access on one resource turns out to have Edit or Own on production without anyone deciding that on purpose.

Every query an app runs is proxied through the resource it is attached to, and the resource’s credentials, not the app, decide what the database or API will accept. Retool’s own security documentation confirms that connecting an app to your own database means Retool proxies requests and applies the credentials server-side rather than letting the browser connect directly. SQL queries take {{ }} embedded expressions from components and other queries, and Retool converts them into prepared statements by default specifically to stop that input being used to inject SQL, though some database integrations let a resource administrator turn that conversion off. We test which queries take user-controlled input, whether prepared statements are still in force where it matters, and what a query can actually do once it runs, since that ceiling is set by the resource credential, not by what the app’s interface offers.

Filtering a table or an action by current_user, whether that is their email, their assigned permission groups or a custom attribute, only restricts what a user sees if every query touching that data applies the filter consistently, and current_user is not available at all in a public app that does not require sign-in. The same resource a form or table queries can also be reached from a scheduled or webhook-triggered workflow running unattended, and from a self-hosted deployment where your own infrastructure, rather than Retool’s, runs the containers that hold those credentials. We test the client’s apps, workflows, resources and permission configuration, on Retool Cloud or self-hosted, and never Retool’s own platform.

SCOPE

What we pen test on a Retool application

RT-01

Permission Groups and Object Access Levels

Retool grants Use, Edit or Own access to apps, resources, workflows and agents through permission groups, and on higher-tier plans through object roles scoped to specific items or folders. We map every group and role against what it actually grants, since Own on a resource carries configuration and sharing rights that Use or Edit do not.

RT-02

Resource Environments and Production Isolation

Production and staging are separate resource environments with their own permissions, and a newly added environment inherits nothing from the environments already configured on that resource. We test whether a group given staging access has quietly picked up production too, and whether every resource environment in scope was granted access on purpose.

RT-03

Server-Side Query Execution and Resource Credentials

Every query an app runs is proxied through its resource and executed with that resource’s stored credentials, not a scope set per app or per user. We test what those credentials can actually do against the underlying database or API, since that ceiling, not the app’s interface, is what a compromised query or a chained finding can reach.

RT-04

Privileged Backend Connections Behind a Restricted App

An app can look read-only in its interface while sitting on a resource credential with far wider access to the same database, because the restriction lives in which queries the app builder created, not in the credential itself. We test for that gap directly, attempting actions the app’s interface does not expose but the underlying resource permits.

RT-05

SQL Queries, Embedded Expressions and Prepared Statements

SQL queries take {{ }} embedded expressions from components and other queries, and Retool converts these into prepared statements by default to stop that input being used to inject SQL, though the setting to disable that conversion exists on some database integrations. We test every query for user-controlled input, whether prepared statements are actually in force, and whether an app needed dynamic table or column names badly enough to have turned that protection off.

RT-06

REST and API Resource Queries

REST API resources carry their own authentication, headers and body, and the same embedded expressions used in SQL queries can pass user-controlled values into a REST request built inside the app. We test whether those values are validated before they reach the resource, and whether the API credential attached to it can be pushed beyond what any single query in the app was designed to call.

RT-07

current_user Filtering vs Enforced Access

The current_user object exposes a signed-in user’s email, permission groups and other attributes for a query or a visibility condition to filter on, but it is null in a public app with no sign-in, and nothing stops a second query on the same table skipping the filter the first one applied. We test whether row-level filtering by current_user is enforced everywhere that data is queried, or only in the place a builder remembered to add it.

RT-08

Workflows and Webhook-Triggered Automation

Workflows run on a schedule or in response to a webhook event, and a webhook trigger executes against the resources it references with the same server-side credentials an app would use, without a human approving the run. We test what a workflow’s webhook endpoint accepts, what data from the request it acts on, and what its queries can do once triggered.

RT-09

Public Links, Embedding and Authentication

A public link makes a classic app reachable by anyone with the URL and always serves its production environment, and current_user is unavailable in that context since no sign-in has happened. Where an app is embedded with real authentication instead, whether through an IFRAME sign-in or a single-use URL issued by your own backend, we test that the embedding actually restricts access rather than only hiding the app behind a parent page.

RT-10

Self-Hosted Deployment vs Retool Cloud

Self-hosted Retool runs on your own infrastructure as a set of containers, including the connectors that handle query and SSH tunnel traffic, so patching and network exposure are your responsibility rather than Retool’s. On Retool Cloud, Retool proxies queries to your resources without storing the underlying data, so testing concentrates on the app, permission and resource configuration you control either way.

OUR PROCESS

Retool Application Penetration Testing: From Scope to Attestation

01

Scope and Resource Mapping

We agree the apps, environments and resources in scope, and catalogue every permission group, resource credential, workflow and public link connected to them before testing starts.

02

Authenticated and Role-Based Testing

We test from accounts across every permission group and object role in scope, comparing what each one’s interface offers against what its underlying resource access actually allows.

03

Manual Exploitation

A CREST-certified tester manually tests query logic, resource credential scope, workflow and webhook behaviour, and public link exposure, chaining findings where they compound.

04

Reporting 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 Retool 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 Retool Application 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
£2,270–£3,340
2 to 3 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
£5,330–£8,130
4 to 6 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 Retool Application 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 Retool apps?

A test account in each permission group or object role we are covering, from a Viewer or Use-level account up to Edit and Own, plus visibility of the resources those apps query so we can see what each one’s credential is scoped to. We do not need your live database or API credentials directly; test or staging credentials attached to the relevant resources are enough.

Will this touch our live data?

No. Wherever a staging resource environment or a cloned dataset exists, we test against that. Where only a production resource is available, any check that could alter data is agreed and scoped with you in advance, and read-only checks are logged as they run.

How long does a Retool application penetration test take?

A single-app engagement is scoped at 2 testing days as a starting point, rising with the number of permission groups, resources and workflows connected to the app. Reporting and a walkthrough call follow testing, with a free retest once fixes are deployed.

Is self-hosted Retool tested differently from Retool Cloud?

Yes. Self-hosted, the containers and infrastructure running your instance sit in scope alongside the apps and resources, since patching and network exposure are your responsibility rather than Retool’s. On Retool Cloud, testing concentrates on the apps, permission groups, resources and workflows you control, since Retool operates the underlying platform.

What is out of scope?

Retool’s own cloud infrastructure and its underlying platform code are out of scope; that is covered by Retool’s own security programme, not this engagement. We test the apps, permission configuration, resources, workflows and any public links you have built and connected.

Does Retool have a policy for customers testing their own instance?

Retool runs a vulnerability disclosure programme covering its own platform, where security researchers report issues found in Retool’s infrastructure through its published reporting channel. That programme covers Retool’s platform rather than setting out rules of engagement for a customer running their own penetration test against a self-hosted or cloud instance, so we confirm Retool’s current terms with you during scoping, particularly for anything that could touch shared Retool Cloud infrastructure rather than your own self-hosted deployment.

Do you test workflows and webhook triggers as well as apps?

Yes, where they are in scope. We test what a workflow’s webhook endpoint accepts, what resources and credentials it reaches when triggered, and whether scheduled or webhook-triggered runs are held to the same permission boundaries as the app itself.

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 Retool application

Every Retool query runs with its resource’s credentials, not the user’s. We test whether your apps, workflows and public links can reach more data than you intended. CREST-certified testers, fixed price from £2,270 for a 2-day single-app scope, quoted within 24 hours.