this post was submitted on 28 Jul 2025
350 points (97.8% liked)

Technology

77795 readers
3863 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related news or articles.
  3. Be excellent to each other!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
  9. Check for duplicates before posting, duplicates may be removed
  10. Accounts 7 days and younger will have their posts automatically removed.

Approved Bots


founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] pivot_root@lemmy.world 126 points 4 months ago (19 children)

Tea was storing its users’ sensitive information on Firebase, a Google-owned backend cloud storage and computing service.

Every time. With startups, it's always an unsecured Firebase or S3 bucket.

[–] NeilBru@lemmy.world 13 points 4 months ago* (last edited 4 months ago) (13 children)

I'm certainly no web security expert, but shouldn't Tea's junior network/backend/security developers, let alone seniors, know how to secure said Firebase or S3 buckets with STARTTLS or SSL certificates? Shouldn't a company like this have some sort of compliance department?

[–] zqps@sh.itjust.works 14 points 4 months ago* (last edited 4 months ago) (6 children)

It's a little more complex than that. If you want the app on the user device to be able to dump data directly into your online database, you have to give it access in some way. Encrypting the transmission doesn't do much if every app installation contains access credentials that can be extracted or sniffed.

Obviously there are ways around this too, but it's not just "use TLS".

[–] Chulk@lemmy.ml 1 points 4 months ago (2 children)

Wouldn't some sort of proxy in between the bucket and the client app solve this problem? I feel like you could even set up an endpoint on your backend that manages the upload. In other words, why is it necessary for the client app to connect directly with the bucket?

Maybe I'm not understanding the gist of the problem

[–] nickwitha_k@lemmy.sdf.org 2 points 4 months ago

Yeah. You also landed on a correct thought process for security. Cloud providers will let you make datastores public but that's like handing over a revolver with an unknown number of live chambers and saying "Have fun playing Russian roulette! I hope you win." Making any datastore public facing, without an API abstraction to control authN and authZ is not just a bad practice, it's a stupid practice.

[–] zqps@sh.itjust.works 2 points 4 months ago

Exactly, it's not necessary. It's bad / lazy design. You don't expose the DB storage directly, you expose a frontend that handles all the authentication and validation stuff before accessing the DB on the backend. That's normal Client-Server-Database architecture.

load more comments (3 replies)
load more comments (9 replies)
load more comments (14 replies)