TECHNOLOGIES: GLIDE

Glide App Security Review

In Glide, hiding a column or component does not stop the app downloading it to their device. We test whether Row Owners and protected columns actually enforce that limit. 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
Glide 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
Email

Row Owners restricts what a signed-in user can download from Glide’s servers based only on the email address they used to sign in; every other visibility rule in Glide is a client convenience, not a permission.

In Glide, hiding something from view is a design choice, not a security control

Glide’s own documentation is direct about what actually restricts data: Row Owners lets you restrict who can download or access data based on the email address a user signs in with, and Glide’s servers refuse to send a row to anyone who does not own it. Everything else that looks like access control is not: Glide’s guidance on Roles states plainly that conditions are not security features and that an app can still download data in the background even when the interface hides it, and the User Profiles guide repeats the same warning about visibility conditions, hidden tabs and removed components. We test every screen built on that assumption against what the client can actually retrieve.

Row Owners only works once something is actually set as an owner column, and that is not automatic everywhere. Glide’s built-in Users table has Row Owners enabled by default, but the User Profiles guide’s own advice is to add Row Owners deliberately if you swap in a table from Google Sheets or another source instead. Roles compound the same table: a user role is just a value in a column, it cannot be assigned by the end user themselves, and Glide will not let you use a computed column such as Make Array or Template as the role source, only a plain column or a workflow-updated Multiple Texts column. We test whether every table holding user data actually has an owner column, and whether every role that gates a row was set up the way Glide’s own guidance describes.

The data source underneath adds a second layer. Glide’s own data source guide confirms an app stays in two-way sync with Google Sheets, Airtable, Excel, BigQuery, PostgreSQL, Google Cloud SQL, MySQL, SQL Server or Glide’s own Glide Tables, and Protected Columns exist because an unprotected column in that source is downloaded to every user’s device even if your layout never shows it or hides it behind a condition. On Business and Enterprise plans, the separate Glide Tables API reaches the same tables with its own Bearer token, a route that has nothing to do with the Row Owners or Roles a signed-in app user is bound by. It is the same question we test on a Bubble app’s Privacy Rules: does every route into the data enforce the same restriction, or just the one your layout put in front of you.

SCOPE

What we pen test on a Glide app

GL-01

Row Owners: restricting rows by sign-in email

Row Owners restricts which rows a signed-in user’s client can download, based on the email address they used to sign in, and Glide’s own documentation is explicit that its servers refuse to send a row to anyone who is not its owner. A single table can carry more than one Row Owner column for an OR condition, or an Array Column of sequentially numbered email fields for multiple owners on one row; we test which tables actually have an owner column set, and whether every one of them was configured the way Glide describes.

GL-02

Roles, and what can and cannot set one

A role is just a value in a plain column on the user’s profile row, combined with a Row Owner column elsewhere to gate access; Glide’s own guidance rules out a computed column such as Make Array or Template as the role source, though a Multiple Texts column updated by a workflow is allowed, and a user can never set or change their own role from inside the app. We test every role-gated table against how that role column is actually populated and who can influence it.

GL-03

The default Users table versus a table you swap in

Glide’s built-in Users table has Row Owners enabled by default, but its own User Profiles guide separately recommends adding Row Owners deliberately if you set a table from Google Sheets or another source as your user profile table instead, and every user table needs at least three basic columns regardless of its source. We test whichever table is actually acting as the user profile table, not the one Glide would have created by default.

GL-04

Conditions and hidden components are not access control

Glide’s own Roles guide states plainly that conditions are not security features and that an app can still download data in the background even when the interface hides it, and the User Profiles guide repeats the same warning about visibility conditions, hidden tabs and removed components. We test every screen that relies on a condition to hide something against what the underlying client actually receives.

GL-05

User-specific columns: personalisation, not protection

A user-specific column holds a different value per user inside the Data Editor only, bound permanently to the email address a user signed in with, and it is never synced back to the original data source; Glide’s own FAQ is direct that these columns are a user-experience feature, not a way to protect secure data, and that Row Owners is the control to use instead. We test whether anything sensitive was placed in a user-specific column rather than behind a Row Owner.

GL-06

Protected columns on external data sources

Protected Columns are available only for external data sources on a paid Glide plan, and without one, Glide’s own documentation confirms an app can still download the data in an unused or hidden column even if no screen ever shows it. Data written to a protected column through a form stays hidden afterwards, including from the user who wrote it; we test every connected sheet or base for sensitive columns the app does not use but has not protected.

GL-07

Sign-in methods and app access settings

Access settings split an app into Private or Public, with Private further limited to Users in the users table, your Glide team, an allowed email domain or all emails listed in another table, and Authentication offers PIN Emails from Glide, Gmail or Microsoft, Sign-in with Google, or PIN texts via Twilio. Access Requests lets an unlisted visitor request entry by email for an admin to approve, and an invited user’s magic link signs them in automatically regardless of whatever privacy and sign-in settings are otherwise configured; we test which of these routes is actually open on the app in scope.

GL-08

Team SSO for Enterprise apps

Team SSO is an Enterprise add-on that connects Glide to an organisation’s identity provider over SAML or OIDC, configured once and shared across every app on the team, with only one identity provider allowed per team and up to 24 hours of continued access after it is removed on the provider’s side. We test the SSO Dashboard’s session log and whether PIN or Google sign-in are still available alongside SSO in ways that were not intended.

GL-09

Data sources: two-way sync with Sheets, Airtable and SQL

Glide keeps a two-way sync with whichever data source powers the app, from Google Sheets, Airtable and Excel to BigQuery, PostgreSQL, Google Cloud SQL, MySQL and SQL Server, or its own Glide Tables, with spreadsheet-based sources capped at 25,000 rows across all tables and higher-tier sources gated to paid plans. Row Owners and Roles are settings inside the Glide app, not inside the underlying Google Sheet or Airtable base, so we test whether that source’s own sharing permissions still match what the app is meant to restrict.

GL-10

The Glide API and Data Editor: two more routes to the same table

The Glide Tables API, available on Business and Enterprise plans, reads and writes rows directly using its own API key, sometimes labelled a Bearer Token, entirely separate from the Row Owners and Roles a signed-in app user is bound by. The Data Editor gives a collaborator full visibility of every row, greying out only what a Row Owner would hide during a Viewing As preview; we test who holds an API key and Data Editor access against what the published app itself allows.

OUR PROCESS

Glide App Security Review: From Scope to Attestation

01

App and Data Source Mapping

We map every table, Row Owner column, role, user profile table and connected data source in the app, including whether Glide Tables, Google Sheets, Airtable or a SQL database is behind it.

02

Role and Row Owner Testing

We test from accounts in every role and access tier in scope, checking what each one’s Row Owners, conditions and protected columns actually allow against live rows.

03

API, Data Editor and Data Source Testing

A CREST-certified tester tests Glide API key scope, Data Editor access, and whether the underlying Google Sheet or Airtable base’s own sharing matches what the app is meant to restrict.

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 Glide 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 Glide App Security Review 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 Glide App Security Review

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 Glide app?

A login for each role or access tier you want tested is enough to start. Studio or Data Editor access to see Row Owner columns, roles and connected data sources speeds up confirming what we find, though it is optional.

Will this touch our live data?

We test read-only against production by default. Where proving a write or delete needs real records, we agree a sandbox table or specific test data with you first, and anything we create during testing is documented and removed afterwards.

Is this different for Glide Tables versus Google Sheets or Airtable?

Testing adapts to whichever data source is behind the app, since Row Owners and protected columns are Glide settings either way, but a Google Sheet or Airtable base also has its own sharing permissions that we check separately against what the app is meant to restrict.

Does Glide have a policy for customers testing their own app?

We confirm Glide’s current terms with you during scoping before testing starts.

What is out of scope?

Glide’s own platform, Runtime and infrastructure, other customers’ apps on shared Glide Cloud infrastructure, and denial-of-service testing are all out of scope. We test the app, its Row Owners, roles, protected columns, sign-in settings and connected data source configuration.

How long does a Glide app test take?

A single app sits in our 2-day single-app scope, rising with the number of roles, tables and connected data sources in scope. We confirm the exact day count once we have seen the app.

Do you need our Studio project or just a published app?

A published app with test accounts in every relevant role is enough to start. Studio or Data Editor access speeds up root-causing anything we find, particularly around Row Owner columns and protected columns that are not visible from outside the app, but it is not required.

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

In Glide, hiding a column or component does not stop the app downloading it to their device. We test whether Row Owners and protected columns actually enforce that limit. CREST-certified testers, fixed price from £2,270 for a 2-day single-app scope, quoted within 24 hours.