Typesense Security Review
Typesense’s bootstrap key ships with unrestricted access to every action and collection until a narrower key replaces it. We test your key scopes, embedded filters, dashboard roles and cluster exposure. CREST-certified testers, fixed price from £2,620 for a 2-day single-cluster scope, quoted within 24 hours.
- Unlimited retesting
- Unlimited pre-retesting
- No hidden fees
“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.”
“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.”
Typesense’s own quickstart and Docker examples start a cluster with exactly one bootstrap API key, created with actions set to * and collections set to *, valid for every action on every collection until a narrower key replaces it.
Why Typesense security comes down to which key reaches your application
Typesense’s own API keys documentation shows the bootstrap key, the one generated from the –api-key value a cluster is started with, as a record with actions set to [“*”] and collections set to [“*”]: full access to every action on every collection. The same page states it is strongly recommended not to use that bootstrap key directly in production applications, generating an appropriately scoped key for the application at hand instead. Keys created afterwards carry their own actions list, from documents:search through to documents:create, documents:delete or documents:*, and their own collections list, and the API only ever returns a key’s full value once, at creation; retrieving it later returns just a short value_prefix. We map every bootstrap and scoped key your application actually uses against what each one’s real actions and collections allow.
For multi-tenant data, Typesense documents generating a scoped search key with generate_scoped_search_key, which takes a parent key that already carries a search-only scope and computes an HMAC digest of the embedded parameters with it, the same class of mechanism Algolia’s secured keys use to derive a restricted key without a server round trip, as covered on our Algolia integration security review. Typesense’s own documentation names indexing several customers’ data in one collection and issuing each tenant a scoped key with an embedded filter_by value as a named use case, and confirms any other search parameter, such as exclude_fields or limit_hits, can be embedded the same way specifically to stop a client changing it. We test whether every tenant-facing key actually carries its own filter_by, and whether the parent key used to sign it holds anything wider than search.
Typesense Cloud adds a layer on top of that same key-based API: a cluster’s cors-domains configuration parameter accepts only a comma-separated list of HTTPS URLs with no wildcard support, its dashboard splits access into five named roles from Administrator down to Billing Manager, and a team can turn on SAML single sign-on so that adding a new user only means granting them access to the SSO app in the identity provider. We review whichever of these layers apply to your deployment, self-hosted or Cloud, against the same standard: does the key or role in front of a person or integration actually match what they need.
SCOPE
What we review in a Typesense cluster
The Bootstrap Admin Key
Typesense’s own documentation shows the bootstrap key, created from the –api-key value a cluster starts with, as a record with actions set to [“*”] and collections set to [“*”], full access to everything, and states it is strongly recommended not to use it directly in production. We test whether that bootstrap key, or an equivalent full-scope key, is still the credential your application actually calls with.
Scoped Keys: Actions and Collections
Every key generated beyond the bootstrap key carries its own actions list, such as documents:search, documents:create or documents:*, and its own collections list, and Typesense only ever returns a key’s full value once, at creation, showing a short value_prefix afterwards. We test whether every scoped key’s actual actions and collections match what the calling application needs, not a wildcard scope copied from a bootstrap example.
Scoped Search Keys and the HMAC Mechanism
generate_scoped_search_key builds a new key by taking a parent key that already carries a search-only scope and computing an HMAC digest of the embedded parameters with it, the same class of mechanism Algolia’s secured keys use to derive a restricted key without a server round trip. We test which parent key actually signs your scoped keys, and whether that parent carries anything wider than search.
Multi-Tenancy via Embedded filter_by
Typesense’s own documentation names multi-tenancy as a use case for scoped search keys: indexing several customers’ data in one collection, then issuing each tenant a scoped key with a filter_by value embedded so it only ever returns that tenant’s rows. We test whether every tenant-facing key actually carries its own filter_by, and whether a request can override or drop that filter client-side.
Locking Other Search Parameters in a Scoped Key
Beyond filter_by, Typesense’s documentation confirms a scoped key can embed any other search parameter, such as exclude_fields or limit_hits, specifically so a client cannot change it after the key is issued. We test which parameters are actually locked into your production keys against which ones a browser or mobile client could otherwise supply itself.
Admin, Metrics, Stats and Debug Endpoints
Typesense gates its introspection surface the same way it gates data: the metrics.json:list, stats.json:list and debug:list actions each control access to a specific endpoint, separate from ordinary document or collection actions. We test whether a key handed to a dashboard or monitoring integration can also read this introspection surface, or reach the debug endpoint, when it was only ever meant to query data.
CORS Domains on Typesense Cloud
A Typesense Cloud cluster’s cors-domains configuration parameter accepts only a comma-separated list of HTTPS URLs, with no wildcard support, controlling which origins a browser can call the cluster’s API from directly. We test what that list currently contains against which origins your application actually serves from, since a stale or overly broad entry widens exactly the browser-facing surface a scoped key was meant to narrow.
Typesense Cloud Dashboard Roles
Typesense Cloud’s own documentation sets out five dashboard roles: Administrator with full unrestricted access, Super User with full access except user management and billing, Developer with access to every cluster’s dashboard but not provisioning or billing, Curator restricted to a cluster’s Search, Synonyms and Curation sections, and Billing Manager limited to billing. We test who actually holds each role against who the business meant to give cluster-admin or billing rights to.
Single Sign-On for Typesense Cloud Teams
Once SAML single sign-on is configured for a Typesense Cloud team, its own documentation states that adding a new user only requires giving them access to the SSO app in the identity provider, moving account provisioning into whatever process governs that IdP group. We test whether that IdP group is actually scoped to people who should hold a dashboard role, and what happens to access when someone leaves it.
Self-Hosted vs Typesense Cloud Boundary
A self-hosted Typesense cluster starts on port 8108 with a single administrator-supplied API key from the command line or config file, while Typesense Cloud additionally layers cors-domains, dashboard roles and SSO around the same key-based data API. We confirm during scoping which model your cluster runs on and test to the boundary that model actually gives you control over.
OUR PROCESS
Typesense Security Review: From Scope to Attestation
Scope and Key Inventory
We agree which clusters and collections are in scope, and collect every bootstrap, scoped and Cloud dashboard credential your application and team actually use.
Key and Role Mapping
We map each key’s actual actions, collections and embedded filters, plus every Typesense Cloud dashboard role, against what the calling application or person needs.
Manual Testing
A CREST-certified tester manually tests key scope and exposure, scoped-key generation, multi-tenant filter enforcement, CORS configuration and dashboard role boundaries, chaining findings where they compound.
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 Typesense 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.
Under NDA Further named references available on a scoping call.
- We reply within one business day with a fixed-price quote from a named CREST assessor.
- You approve the scope and we book a start date, usually within 24 hours.
- Live findings land in your client portal as we test, with a free retest of every fix.
Get your fixed pen test quote in 24 hours
Quote request received
We will reply within one business day with your fixed-price quote from a named CREST assessor.
Your data stays with us. No newsletter signup.
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 Typesense Security Review Pricing
Pricing depends on the number of roles, integrations and environments in scope. See our pricing page for how we quote.
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 quote3 to 4 testing days
Multi-role SaaS, business application with payment integration. Around 8 to 12 working days from kickoff to report.
Get a fixed quote4 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 quoteSECTORS
Sectors We Test Typesense For
Sector-specific scoping for regulated UK organisations.
Fintech & FCA-Regulated
FCA SYSC, Open Banking FAPI 1.0, PSD2 SCA, payment-flow scrutiny, KYC/AML testing.
Fintech sector pageSaaS Companies
SOC 2 Type I & II evidence, multi-tenant boundaries, role escalation, customer-tenant isolation.
SaaS sector pageLaw Firms
SRA Cyber Standard, privileged data, conveyancing fraud defence, partner-tier procurement.
Law firm sector pageHealthcare
NHS DTAC, DSP Toolkit v6, UK GDPR Article 32, EHR systems, telehealth platforms.
Healthcare sector pageInsurance
FCA / PRA Operational Resilience, cyber underwriting, claims data, broker portals.
Insurance sector pagePublic Sector
CCS / G-Cloud framework, NCSC-aligned, citizen-facing services, PSN-compliance scrutiny.
Public sector pageWHY EJN LABS
What You Get From Typesense 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 Typesense cluster?
We need every bootstrap, scoped and Cloud dashboard credential in scope, or dashboard access to view and generate them, plus a test collection we can use without affecting production search. Read access to the application code that generates scoped keys and embeds filters speeds up the review, though we can test with keys and authenticated access alone.
Will testing touch live data?
We test the collections and application code you nominate, working against your actual keys and filters rather than a copy, so we agree any destructive operations, such as collection deletion, before testing starts. We do not export real customer data without that agreement in writing.
Do you test Typesense’s own platform or just our deployment?
No. Whether you run Typesense yourself or use Typesense Cloud, we never test Typesense’s own source code or the underlying infrastructure it runs on. We test how your application creates and uses API keys, embeds filters and parameters in scoped keys, and configures CORS and dashboard roles on your own cluster or Cloud account.
What is out of scope for a single-cluster review?
Typesense’s own source code and infrastructure, other clusters in your Typesense Cloud account, and denial-of-service testing are all out of scope here. A separately hosted application that happens to query the same cluster is scoped and quoted on its own.
Does Typesense have a policy on customer penetration testing?
We confirm Typesense’s current terms for testing your own cluster or Typesense Cloud account during scoping, and test only within whatever authorisation that process requires.
Is this different for self-hosted Typesense and Typesense Cloud?
The underlying questions are the same: which key can do what, and what a scoped key actually restricts. What differs is the boundary, since Typesense Cloud additionally layers CORS configuration, dashboard roles and SSO around the same data API, so we confirm during scoping exactly what you control on your deployment and test to that boundary.
How long does a Typesense security review take?
A single cluster with a limited number of collections and key types sits in our 2-day single-cluster scope, with a report typically landing around 5 working days after kickoff. More collections, multiple applications, or a mix of scoped and Cloud dashboard access across several environments moves into a larger scope with more testing days.
Are your testers CREST certified?
Yes. Every Typesense engagement is carried out by UK-based, CREST-certified testers, and your report and attestation letter are recognised by auditors and insurers accordingly.
20+ CREST-accredited testing services in one place
Web, mobile, API, cloud, AI, infrastructure, red team. Pick the test that fits your environment.
Get a fixed price for your Typesense cluster
Typesense’s bootstrap key ships with unrestricted access to every action and collection until a narrower key replaces it. We test your key scopes, embedded filters, dashboard roles and cluster exposure. CREST-certified testers, fixed price from £2,620 for a 2-day single-cluster scope, quoted within 24 hours.



