{"id":186754,"date":"2025-08-13T14:00:00","date_gmt":"2025-08-13T14:00:00","guid":{"rendered":"https:\/\/entertainment.runfyers.com\/index.php\/2025\/08\/13\/how-we-found-teaonher-spilling-users-drivers-licenses-in-less-than-10-minutes-techcrunch\/"},"modified":"2025-08-13T14:00:00","modified_gmt":"2025-08-13T14:00:00","slug":"how-we-found-teaonher-spilling-users-drivers-licenses-in-less-than-10-minutes-techcrunch","status":"publish","type":"post","link":"https:\/\/entertainment.runfyers.com\/index.php\/2025\/08\/13\/how-we-found-teaonher-spilling-users-drivers-licenses-in-less-than-10-minutes-techcrunch\/","title":{"rendered":"How we found TeaOnHer spilling users&#8217; driver&#8217;s licenses in less than 10 minutes | TechCrunch"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p id=\"speakable-summary\" class=\"wp-block-paragraph\">For an app all about spilling the beans on who you\u2019re allegedly dating, it\u2019s ironic that TeaOnHer was spilling the personal information of thousands of its users to the open web.<\/p>\n<p class=\"wp-block-paragraph\">TeaOnHer was designed for men to share photos and information about women they claim to have been dating. But much like <a href=\"https:\/\/techcrunch.com\/2025\/07\/26\/dating-safety-app-tea-breached-exposing-72000-user-images\/\" target=\"_blank\" rel=\"noreferrer noopener\">Tea, the dating-gossip app for women<\/a> it was trying to replicate, TeaOnHer had gaping holes in its security that exposed its users\u2019 personal information, including photos of their driver\u2019s licenses and other government-issued identity documents, as <a href=\"https:\/\/techcrunch.com\/2025\/08\/06\/a-rival-tea-app-for-men-is-leaking-its-users-personal-data-and-drivers-licenses\/\" target=\"_blank\" rel=\"noreferrer noopener\">TechCrunch reported<\/a> last week.<\/p>\n<p class=\"wp-block-paragraph\">These gated community-like apps were created ostensibly to let users share information about their relationships under the guise of personal safety. However, shoddy coding and security flaws highlight the ongoing privacy risks inherent in requiring users to submit sensitive information to use apps and websites.<\/p>\n<p class=\"wp-block-paragraph\">Such risks are only going to worsen; popular apps and web services are already having to <a href=\"https:\/\/techcrunch.com\/2025\/07\/15\/reddit-rolls-out-age-verification-in-the-uk-to-comply-with-new-rules\/\" target=\"_blank\" rel=\"noreferrer noopener\">comply with age-verification laws<\/a> that require people to <a href=\"https:\/\/techcrunch.com\/2025\/07\/29\/youtube-rolls-out-age-estimatation-tech-to-identify-u-s-teens-and-apply-additional-protections\/\" target=\"_blank\" rel=\"noreferrer noopener\">submit their identity documents<\/a> before they can be granted access to adult-themed content, despite the privacy and security risks associated with storing databases of people\u2019s personal information.<\/p>\n<p class=\"wp-block-paragraph\">When TechCrunch published our story last week, we did not publish specific details of the bugs we discovered in TeaOnHer, erring on the side of caution so as to not help bad actors exploit the bug. Instead, <a href=\"https:\/\/techcrunch.com\/2025\/08\/06\/a-rival-tea-app-for-men-is-leaking-its-users-personal-data-and-drivers-licenses\/\" target=\"_blank\" rel=\"noreferrer noopener\">we decided to publish a limited disclosure<\/a>, because of the app\u2019s rising popularity and the immediate risks that users faced when using the app. <\/p>\n<p class=\"wp-block-paragraph\">As of the time of disclosure, TeaOnHer was No. 2 in the free app charts on the Apple App Store, a position still held by the app today.<\/p>\n<p class=\"wp-block-paragraph\">The flaws we found appear to be resolved. TechCrunch can now share how we were able to find users\u2019 driver\u2019s licenses within 10 minutes of being sent a link to the app in the App Store, thanks to easy to find flaws in the app\u2019s public-facing backend system, or API.<\/p>\n<p class=\"wp-block-paragraph\">The app\u2019s developer, Xavier Lampkin, did not respond to multiple requests for comment after we submitted details of the security flaws, nor would Lampkin commit to notifying affected TeaOnHer users or state regulators of the security lapse.<\/p>\n<p class=\"wp-block-paragraph\">We also asked Lampkin if any security reviews were carried out before the TeaOnHer app was launched, but we got no reply. (We have more on disclosure later on.)<\/p>\n<p class=\"wp-block-paragraph\">Alright, start the clock.<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-teaonher-exposed-admin-panel-credentials\">TeaOnHer exposed \u2018admin panel\u2019 credentials<\/h2>\n<p class=\"wp-block-paragraph\">Before we even downloaded the app, we first wanted to find out where TeaOnHer was hosted on the internet by looking at its public-facing infrastructure, such as its website and anything hosted on its domain.<\/p>\n<p class=\"wp-block-paragraph\">This is usually a good place to start as it helps understand what other services the domain is connected to on the internet.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">To find the domain name, we first looked (by chance) at the <a href=\"https:\/\/web.archive.org\/web\/20250812173917\/https:\/\/apps.apple.com\/us\/app\/teaonher-dating-advice\/id6749215648?platform=iphone\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">app\u2019s listing on the Apple App Store<\/a> to find the app\u2019s website. This can usually be found in its privacy policy, which apps must include before Apple will list them. (The app listing also claims the developer \u201cdoes not collect any data from this app,\u201d which is demonstrably false, so take that as you will.)<\/p>\n<p class=\"wp-block-paragraph\">TeaOnHer\u2019s privacy policy was in the form of a published Google Doc, which included an email address with a <code>teaonher.com<\/code> domain, but no website.<\/p>\n<p class=\"wp-block-paragraph\">The website wasn\u2019t public at the time, so with no website loading, we looked at the domain\u2019s public-facing DNS records, which can help to identify what else is hosted on the domain, such as the type of email servers or web hosting. We also wanted to look for any public subdomains that the developer might use to host functionality for the app (or host other resources that <a href=\"https:\/\/techcrunch.com\/2020\/08\/08\/sorry-i-gatecrashed-your-zoom-meeting\/\" target=\"_blank\" rel=\"noreferrer noopener\">should probably not be public<\/a>), such as admin dashboards, databases, or other web-facing services.<\/p>\n<p class=\"wp-block-paragraph\">But when we looked at the TeaOnHer\u2019s public internet records, it had no meaningful information other than a single subdomain, <code>appserver.teaonher.com<\/code>.<\/p>\n<p class=\"wp-block-paragraph\">When we opened this page in our browser, what loaded was the landing page for TeaOnHer\u2019s API (for the curious, <a href=\"https:\/\/www.documentcloud.org\/documents\/26048764-teaonher-api-backend-page\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">we uploaded a copy here<\/a>). An API simply allows things on the internet to communicate with each other, such as linking an app to its central database.<\/p>\n<p class=\"wp-block-paragraph\">It was on this landing page that we found the exposed email address and plaintext password (which <a href=\"https:\/\/www.documentcloud.org\/documents\/26048764-teaonher-api-backend-page\/#document\/p1\/a2666767\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">wasn\u2019t that far off \u201cpassword\u201d<\/a>) for Lampkin\u2019s account to access the TeaOnHer \u201cadmin panel.\u201d<\/p>\n<p class=\"wp-block-paragraph\">The API page showed that the admin panel, used for the document verification system and user management, was located at \u201clocalhost,\u201d which simply refers to the physical computer running the server and may not have been directly accessible from the internet. It\u2019s unclear if anyone could have used the credentials to access the admin panel, but this was in itself a sufficiently alarming finding.<\/p>\n<p class=\"wp-block-paragraph\">At this point, we were only about two minutes in.<\/p>\n<p class=\"wp-block-paragraph\">Otherwise, the API landing page didn\u2019t do much other than offer some indication as to what the API can do. The page listed several API endpoints, which the app needs to access in order to function, such as retrieving user records from TeaOnHer\u2019s database, for users to leave reviews, and sending notifications.<\/p>\n<p class=\"wp-block-paragraph\">With knowledge of these endpoints, it can be easier to interact with the API directly, as if we were imitating the app itself. Every API is different, so learning how an API works and how to communicate with one can take time to figure out, such as which endpoints to use and the parameters needed to effectively speak its language. Apps like Postman can be helpful for accessing and interacting directly with APIs, but this requires time and a certain degree of trial and error (and patience) to make APIs spit out data when they shouldn\u2019t.<\/p>\n<p class=\"wp-block-paragraph\">But in this case, there was an even easier way.\u00a0<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-teaonher-api-allowed-unauthenticated-access-to-user-data\">TeaOnHer API allowed unauthenticated access to user data<\/h2>\n<p class=\"wp-block-paragraph\">This API landing page included <a href=\"https:\/\/www.documentcloud.org\/documents\/26048764-teaonher-api-backend-page\/#document\/p1\/a2666752\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">an endpoint called <code>\/docs<\/code><\/a>, which contained the API\u2019s auto-generated documentation (powered by a product called Swagger UI) that contained the full list of commands that can be performed on the API.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">This documentation page was effectively a master sheet of all the actions you can perform on the TeaOnHer API as a regular app user, and more importantly, as the app\u2019s administrator, such as creating new users, verifying users\u2019 identity documents, moderating comments, and more.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">The API documentation also featured the ability to query the TeaOnHer API and return user data, essentially letting us retrieve data from the app\u2019s backend server and display it in our browser.<\/p>\n<p class=\"wp-block-paragraph\">While it\u2019s not uncommon for developers to publish their API documentation, the problem here was that some API requests could be made without any authentication \u2014 no passwords or credentials were needed to return information from the TeaOnHer database. In other words, you could run commands on the API to access users\u2019 private data that should not have been accessible to a user of the app, let alone anyone on the internet.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">All of this was conveniently and publicly documented for anyone to see.<\/p>\n<p class=\"wp-block-paragraph\">Requesting a list of users currently in the TeaOnHer identity verification queue, for example \u2014 no more than pressing a button on the API page, nothing fancy here \u2014 would return dozens of account records on people who had recently signed up to TeaOnHer.<\/p>\n<p class=\"wp-block-paragraph\">The records returned from TeaOnHer\u2019s server contained users\u2019 unique identifiers within the app (essentially a string of random letters and numbers), their public profile screen name, and self-reported age and location, along with their private email address. The records also included web address links containing photos of the users\u2019 driver\u2019s licenses and corresponding selfies.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">Worse, these photos of driver\u2019s licenses, government-issued IDs, and selfies were stored in an Amazon-hosted S3 cloud server set as publicly accessible to anyone with their web addresses. This public setting lets anyone with a link to someone\u2019s identity documents open the files from anywhere with no restrictions.<\/p>\n<figure class=\"wp-block-image alignwide size-full\"><figcaption class=\"wp-element-caption\"><span class=\"wp-element-caption__text\">Two driver\u2019s licenses (redacted by TechCrunch) exposed by the flaws in the TeaOnHer app<\/span><span class=\"wp-block-image__credits\"><strong>Image Credits:<\/strong>TechCrunch (screenshot)<\/span><\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">With that unique user identifier, we could also use the API page to directly look up individual users\u2019 records, which would return their account data and any of their associated identity documents. With uninhibited access to the API, a malicious user could have scraped huge amounts of user data from the app, much like what happened with <a href=\"https:\/\/www.404media.co\/women-dating-safety-app-tea-breached-users-ids-posted-to-4chan\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">the Tea app to begin with<\/a>.<\/p>\n<p class=\"wp-block-paragraph\">From bean to cup, that was about 10 minutes, and we hadn\u2019t even logged-in to the app yet. The bugs were so easy to find that it would be sheer luck if nobody malicious found them before we did.<\/p>\n<p class=\"wp-block-paragraph\">We asked, but Lampkin would not say if he has the technical ability, such as logs, to determine if anyone had used (or misused) the API at any time to gain access to users\u2019 verification documents, such as by scraping web addresses from the API.<\/p>\n<p class=\"wp-block-paragraph\">In the days since our report to Lampkin, the API landing page has been taken down, along with its documentation page, and it now displays only the state of the server that the TeaOnHer API is running on as \u201chealthy.\u201d At least on cursory tests, the API now appears to rely on authentication, and the previous calls made using the API no longer work.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">The web addresses containing users\u2019 uploaded identity documents have also been restricted from public view.\u00a0<\/p>\n<h2 class=\"wp-block-heading\">TeaOnHer developer dismissed efforts to disclose flaws<\/h2>\n<p class=\"wp-block-paragraph\">Given that TeaOnHer had no official website at the time of our findings, TechCrunch contacted the email address listed on the privacy policy in an effort to disclose the security lapses.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">But the email bounced back with an error saying the email address couldn\u2019t be found. We also tried contacting Lampkin through the email address on his website, Newville Media, but our email bounced back with the same error message.<\/p>\n<p class=\"wp-block-paragraph\">TechCrunch reached Lampkin via LinkedIn message, asking him to provide an email address where we could send details of the security flaws. Lampkin responded with a general \u201csupport\u201d email address.<\/p>\n<p class=\"wp-block-paragraph\">When TechCrunch discloses a security flaw, we reach out to confirm first that a person or company is the correct recipient. Otherwise, blindly sending details of a security bug to the wrong person could create a risk. Before sharing specific details of the flaws, we asked the recipient of the \u201csupport\u201d email address if this was the correct address to disclose a security exposure involving TeaOnHer user data.<\/p>\n<p class=\"wp-block-paragraph\">\u201cYou must have us confused with \u2018the Tea app\u2019,\u201d Lampkin replied by email. (We hadn\u2019t.) \u201cWe don\u2019t have a security breach or data leak,\u201d he said. (It did.) \u201cWe have some bots at most but we haven\u2019t scaled big enough to be in that conversation yet, sorry you were misinformed.\u201d (We weren\u2019t.)<\/p>\n<p class=\"wp-block-paragraph\">Satisfied that we had established contact with the correct person (albeit not with the response we received), TechCrunch shared details of the security flaws, as well as several links to exposed driver\u2019s licenses, and a copy of Lampkin\u2019s own data to underscore the severity of the security issues.<\/p>\n<p class=\"wp-block-paragraph\">\u201cThank you for this information. This is very concerning. We are going to jump on this right now,\u201d said Lampkin.<\/p>\n<p class=\"wp-block-paragraph\">Despite several follow-up emails, we have not heard from Lampkin since we disclosed the security flaws.<\/p>\n<p class=\"wp-block-paragraph\">It doesn\u2019t matter if you\u2019re a one-person software shop or <a href=\"https:\/\/techcrunch.com\/2025\/07\/09\/jack-dorsey-says-his-secure-new-bitchat-app-has-not-been-tested-for-security\/\" target=\"_blank\" rel=\"noreferrer noopener\">a billionaire vibe coding through a weekend<\/a>: Developers still have a responsibility to keep their users\u2019 data safe. If you can\u2019t keep your users\u2019 private data safe, don\u2019t build it to begin with.<\/p>\n<p class=\"wp-block-paragraph\"><em>If you have evidence of a popular app or service leaking or exposing information, get in touch. You can securely contact this reporter via encrypted message at zackwhittaker.1337 on Signal.<\/em><\/p>\n<p class=\"wp-block-paragraph\"><em>We\u2019re always looking to evolve, and by providing some insight into your perspective and feedback into TechCrunch and our coverage and events, you can help us! Fill out\u00a0<\/em><em><a target=\"_blank\" href=\"https:\/\/survey.researchresults.com\/survey\/selfserve\/53b\/g002\/s0064551?list=tcap#?\" rel=\"noreferrer noopener nofollow\">this survey<\/a><\/em><em>\u00a0to let us know how we\u2019re doing and get the chance to win a prize in return!<\/em><\/p>\n<\/div>\n<p><br \/>\n<br \/><a href=\"https:\/\/techcrunch.com\/2025\/08\/13\/how-we-found-teaonher-spilling-users-drivers-licenses-in-less-than-10-minutes\/\" target=\"_blank\" rel=\"noopener\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>For an app all about spilling the beans on who you\u2019re allegedly dating, it\u2019s ironic that TeaOnHer was spilling the personal information of thousands of its users to the open web. TeaOnHer was designed for men to share photos and information about women they claim to have been dating. But much like Tea, the dating-gossip [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":186755,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[],"class_list":{"0":"post-186754","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tech"},"_links":{"self":[{"href":"https:\/\/entertainment.runfyers.com\/index.php\/wp-json\/wp\/v2\/posts\/186754","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/entertainment.runfyers.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/entertainment.runfyers.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/entertainment.runfyers.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/entertainment.runfyers.com\/index.php\/wp-json\/wp\/v2\/comments?post=186754"}],"version-history":[{"count":0,"href":"https:\/\/entertainment.runfyers.com\/index.php\/wp-json\/wp\/v2\/posts\/186754\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/entertainment.runfyers.com\/index.php\/wp-json\/wp\/v2\/media\/186755"}],"wp:attachment":[{"href":"https:\/\/entertainment.runfyers.com\/index.php\/wp-json\/wp\/v2\/media?parent=186754"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/entertainment.runfyers.com\/index.php\/wp-json\/wp\/v2\/categories?post=186754"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/entertainment.runfyers.com\/index.php\/wp-json\/wp\/v2\/tags?post=186754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}