All posts

July 29, 2026 · 4 min read

Myth: "I Used a Reputable Database Provider, So It's Secured by Default"

This is close to the single most common misunderstanding I run into, closely related to the database findings Harbova's scan turns up constantly: "I'm using Supabase, it's a real, established platform, so my data is secured by default." The platform being reputable and your specific tables being locked down are two different claims, and only one of them is actually true automatically.

What the platform actually guarantees

Supabase and Firebase both handle a huge amount of genuinely hard infrastructure correctly: uptime, scaling, backups, the underlying database engine itself. That's real, valuable engineering, and it's not nothing. None of it decides who's allowed to read a specific row in a specific table you created. That decision is a setting you, or whichever tool built your app on your behalf, have to configure explicitly.

Why the default can be more open than people assume

Supabase's Row Level Security has to be turned on, and given an actual rule, table by table, or a table defaults to being reachable by anyone with the right public key, which ships in your app's own front-end code, by design, since it's meant to be public. Firebase's rules default to a permissive "test mode" while a project is being built, meant to be tightened before going live, and often simply never get tightened at all.

The specific gap between "reputable" and "configured correctly"

A reputable provider gives you strong, well-built tools to configure this correctly. It doesn't configure it for you, and it doesn't know your specific app's data model well enough to guess what the right rule should be. "I used a good platform" answers a real question about the underlying engine's quality. It doesn't answer the separate question of whether your own tables are actually locked down.

How to check your own setup

  • If you're on Supabase, confirm Row Level Security is enabled on every table holding real data, not just some of them.
  • For each table, check that the actual policy restricts rows to their real owner, rather than just confirming a policy exists at all.
  • If you're on Firebase, confirm your rules are out of test mode, and actually restrict reads and writes rather than allowing everything by default.

The platform is genuinely solid. What it does with your specific data is still a decision only you can make correctly, and it's worth confirming directly rather than assuming a good platform already made that decision for you.

Related reading

Check whether your database is actually locked down, free, in under a minute.

Scan my app free

Harbova is a security service for apps built with AI tools. Start with a free scan, and if it finds something serious, we can fix it and prove it is closed.