Skip to main content

Flusk plan features

Support Bubble avatar
Written by Support Bubble
Updated over 3 months ago

Bubble includes a variety of security checks designed to help keep your app secure. The specific security features available to you depend on your current subscription plan.

This article outlines which security features are included in each plan. For a more in-depth explanation of each feature, refer to the detailed descriptions provided at the bottom of the article (or follow the links in the tables below).

Basic security checks

Flusk provides foundational security checks to safeguard your apps from common vulnerabilities. These checks, called “issues” in your dashboard, help identify essential risks and ensure a secure starting point. While the Starter plan includes only these basic checks, all other plans offer both basic and advanced security features for comprehensive protection.

Advanced security checks

Advanced security checks are designed to detect more complex vulnerabilities and potential threats to your app’s infrastructure. While Flusk can detect these issues regardless of your plan, detailed information is limited unless your plan includes advanced checks.

Glossary

Missing privacy rules

Overview

This check identifies cases where your app’s database privacy rules aren’t defined. Privacy rules control who can view, search, or modify specific data in your database. When privacy rules are missing, it increases the risk of exposing sensitive user information to unauthorized access, which could lead to data misuse.

Example

If no privacy rules are set for a user data type, anyone with access to the app could retrieve personal information through a search or API call.

Sensitive data exposed in workflows

Overview

Detects workflows that expose sensitive data (e.g., user IDs, emails, or financial information) in ways that unauthorized users could intercept or access. You can customize which fields data types are sensitive, or override any defaults.

Example

A workflow sends a user’s email address in a query string or includes it in logs visible in the browser’s developer tools,‌ exposing it to malicious actors.

Editor data visibility risk

Overview

Flags settings that allow sensitive data to be visible to app editors, risking accidental leaks or misuse during app development.

Example

An app editor sees confidential user data like purchase histories while debugging workflows, even though it’s unrelated to their tasks

Weak password policies

Overview

Ensures that end-user password requirements are robust enough to prevent brute-force attacks or unauthorized access.

Example

A password policy that allows simple passwords like “12345” makes it easy for attackers to guess credentials and gain access.

Unprotected test environments

Overview

Identifies test versions of the app that are accessible without proper authentication, exposing sensitive or unfinished features to the public.

Example

The test version of your app is live and accessible via a shared link, allowing unintended users to explore unreleased functionality or data.

Default username/password risk

Overview

Detects default admin credentials for your development version (e.g., “username”/“password”) that are easy to guess and compromise.

Example

An app’s admin panel uses default credentials, and an attacker gains access by guessing them.

Publicly accessible sensitive fields

Overview

Flags database fields marked as public that contain sensitive data, making them accessible to unauthorized users.

Example

A field storing user payment history is marked as public, allowing anyone with access to query this data.

Secure page protection

Overview

Detects pages lacking end-user ‌server-side redirects, allowing unauthorized users to navigate to secure areas of the app. This includes verifying both frontend permissions and server-side redirects.

Example

A user without admin privileges manually enters the admin dashboard URL and gains access because no page-level restrictions are set.

Database exposure risks

Overview

Identifies unsecured database queries or structures that could expose data to unauthorized users.

Example

A search query in a public-facing workflow retrieves all users’ information without filtering for the current user.

Compromised API tokens

Overview

Detects exposed or improperly secured API tokens, which could allow unauthorized access to external services.

Example

An API token for a payment service is visible in a browser’s developer tools, enabling attackers to misuse it

Unauthorized collaborator access

Overview

Flags improperly managed Bubble app collaborator roles that grant unwarranted permissions, risking accidental or malicious changes.

Example

A former freelancer still has access to your app and can modify workflows or view sensitive data.

Improperly secured map API keys

Overview

Identifies unsecured API keys for Google Maps or similar services, which could lead to unauthorized usage or billing.

Example

Your public-facing app exposes a Google Maps API key, allowing attackers to use it for their projects, leading to unexpected charges.

Exposed sensitive API parameters

Overview

Detects API calls that include sensitive data in plain text or unsecured formats.

Example

A call to a payment gateway includes the third-party API key and isn’t marked as hidden.

Sensitive data in API URLs

Overview

Flags URLs that include sensitive information (e.g., usernames or session tokens) which could be logged or intercepted.

Example

A session token appears in a URL shared with a third party, granting them unauthorized access to the user’s session.

Unprotected backend workflows

Overview

Identifies backend workflows that lack authentication, making them vulnerable to unauthorized triggers.

Example

An attacker discovers and runs an API workflow that deletes records from your database.

Temporary password exploits

Overview

Flags workflows that use temporary passwords without proper expiration or security measures.

Example

A user’s temporary password is generated on the client side, making it possible for an attacker to reset anyone’s password, including admins.

Insecure API documentation (Swagger)

Overview

Detects exposed Swagger documentation that reveals sensitive API endpoints and operations.

Example

Swagger docs expose sensitive APIs, giving attackers a roadmap to exploit your app.

Publicly accessible file uploaders

Overview

Flags file upload fields that allow anyone to upload files without restrictions, risking malicious file injections.

Example

A file uploader doesn’t link the file to a database entry, and therefore isn’t applying privacy rules.

Publicly acessible picture uploaders

Overview

Identifies picture uploaders that allow unrestricted uploads, which could result in misuse or security breaches.

Example

An image uploader doesn’t link the file to a database entry, and therefore isn’t applying privacy rules.

Unrestricted iFrame embedding

Overview

Detects iFrames that allow embedding from unauthorized domains, risking phishing or content hijacking.

Example

An attacker embeds your app in a malicious iFrame to harvest user inputs or mimic legitimate functionality.

Did this answer your question?