Show HN: Mephisto – A RAM-only, ad-free disposable email PWA built with React
29 comments
·December 17, 2025a2128
Looking at the automatic first email and the network tab, this appears to be just wrapping around guerrillamail which is a classic disposable email website, and polling their API (doesn't seem to use websockets). Can you clarify what relationship you have with guerrillamail, if any, and whether or not the encryption and zero persistence claims extend to guerrillamail's service?
benmxrt
You're right that the current beta uses Guerrilla Mail as the upstream provider for mail delivery. My 'Zero-Persistence' and 'No-Cookie' claims specifically apply to the Mephisto layer: we don't store your data in our own DB, we don't use tracking cookies, and we purge all session metadata from our RAM.
Regarding polling vs WebSockets: The frontend currently polls the Mephisto proxy to ensure maximum compatibility with strict corporate firewalls, but a native WebSocket implementation for our own mail-server node is the long-term goal. I’m being transparent about the proxying—Mephisto is designed as a privacy-hardened 'frontend wrapper' that adds an extra layer of anonymity between you and the upstream providers.
benmxrt
I’m genuinely overwhelmed by the traffic (hitting 145+ concurrent sessions!) and the deep technical feedback from this community.
As a solo developer, seeing Mephisto being analyzed so thoroughly is incredible. If you support the idea of a 100% cookie-free, zero-persistence temporary mail tool, please consider starring the project on GitHub. It helps with visibility and keeps the motivation high to implement the complex features we’ve been discussing here (like IP-based domain allocation and secure reply-only logic).
Repo: https://github.com/jokallame350-lang/temp-mailmephisto
npn
Generated by AI. Use 1secmail API without giving any credit.
False advertisment.
benmxrt
I want to be completely transparent here. Mephisto currently utilizes a few different upstream providers (including Guerrilla Mail and 1secmail) via a custom proxy layer to ensure high availability. The goal of this project isn't to build a new mail protocol from scratch, but to provide a hardened, cookie-free, and zero-persistence 'privacy frontend' that bridges the gap between these APIs and the end-user.
Regarding the AI claim: I've used modern dev tools to speed up the React/TypeScript implementation, but the architecture (RAM-only storage, IndexedDB caching, and PWA focus) is a deliberate design choice I've made to solve specific privacy frustrations I had with existing services. I appreciate the call for better attribution, and I'll be updating the 'About' section to clearly credit all upstream providers.
codedokode
What about adding an option to reply to emails (only reply, not send to arbitrary address)? I think none of temp mail services has it.
benmxrt
That’s a very fair point. Showing the full list makes it easier for automated scrapers to blacklist the whole pool. I’m considering moving to a 'Random Rotation' by default, and only revealing the domain picker for advanced users. Balancing discoverability and resilience is definitely the biggest challenge here.
codedokode
Random choice allows collecting all the domains by merely refreshing the page. You might want to allocate several domains per AS or per IP block.
dmd
being able to reply IS the ability to send to an arbitrary address, because the SMTP protocol makes it trivial to SEND an email from any arbitrary address.
benmxrt
You hit the nail on the head. From an SMTP perspective, 'replying' is functionally identical to 'sending,' which is why most disposable mail services are strictly receive-only.
The moment you allow outbound traffic, you risk being weaponized as an open relay for spam. To implement a safe 'Reply-Only' feature, Mephisto would need a sophisticated validation layer that cryptographically links the outbound reply to a specific, recently received message ID. Even then, rate-limiting would have to be extremely aggressive. For now, staying receive-only is a deliberate choice to protect the service's reputation and ensure 100% uptime.
KomoD
Can you please write comments yourself instead of feeding every comment into an LLM and saying "reply to this"?
tony-vlcek
As an avid user of malinator.com I really like this. mailinator started being recognised and rejected in many forms. Maybe there's something you can do to get ahead of this? Maybe being able to generate random 1st level domain or pick from a large list could go a long way?
benmxrt
That is a great point, and it's definitely on the roadmap.
The "cat and mouse" game between disposable email services and site filters is constant. I'm currently looking into rotating a pool of less common TLDs to keep the service viable for longer.
The idea of letting users pick from a list is also solid—it gives them more agency and potentially bypasses blanket filters that only target the "default" domain.
Thanks for the feedback, Tony!
sixtyj
This would be awesome. +1
There aren’t many anonymous mail services that would rotate less common TLDs. Usually it is a constant list of domains you can choose from.
benmxrt
Absolutely agree with both of you. I just deployed an update that includes a domain picker directly in the address bar. Users can now manually choose from 8 different domains (including .net, .org, .la, and .info) to bypass blanket filters that often target the default TLDs.
Rotating less common TLDs automatically is the next logical step to keep the service resilient. Appreciate the support!
nashashmi
How long are emails stored on ram? If I navigate away, what happens? Does it stop?
benmxrt
Great question. The emails are stored in volatile RAM on the backend only for the duration of the active session.
To ensure a smooth experience if you accidentally navigate away or refresh, I’ve recently implemented IndexedDB local caching on the client side. This keeps your messages accessible in your browser's local storage without them ever being written to our server's hard drive.
However, Mephisto follows a strict 'Zero-Persistence' policy: the moment you explicitly clear your session or the session naturally expires, a wipe sequence is triggered, and all data is cryptographically purged from both the server's RAM and your browser's local cache. If you navigate away without a cache, the signal is lost—just like a true burner phone.
chaz6
Is there any reason you need to store them in the RAM on the backend once they have been transferred to the client?
benmxrt
That is a valid point. Currently, the backend keeps them in RAM mainly to support multi-device syncing (like the QR handoff feature) during an active session. If a user scans the QR code to open the same inbox on mobile, the backend needs to serve those existing messages to the new client.
However, I'm exploring a 'Transfer & Purge' logic where, once a message is successfully delivered and acknowledged by the primary client, it could be encrypted or removed from the server-side RAM entirely, leaving the responsibility of persistence to the client-side IndexedDB. It’s a delicate balance between UX and the absolute 'zero-trace' goal.
catapart
Hate to be the "shallow comment guy" but, uh....
absolute perfection. no fucking notes.
Every decision you've described seems like the one I would have made, and the implementation is elegant. Thank you!
benmxrt
Wow, thank you so much! That means a lot coming from this community. I'm trying to keep it as lean and purposeful as possible. Glad the implementation resonated with you!
Hi HN,
I built Mephisto because I was frustrated with the current state of disposable email services—most are riddled with intrusive ads, trackers, and captchas.
I wanted a tool that felt like a proper developer utility rather than a spam farm.
The stack is React, Vite, and Tailwind. Key architectural decisions:
1. Volatile Memory: The backend writes nothing to disk. Once a session terminates, the data is irretrievable. 2. Client-Side Entropy: The password generator runs locally in the browser; keys are never sent to the server. 3. PWA: It's installable and designed for low latency using WebSockets for incoming mail (no polling). 4. Mobile Handoff: You can transfer an active session to mobile via an encrypted QR code.
It is completely free and open for public use. I'd love to hear your feedback on the implementation and UI.