Skip to main content


Hi #Rust developers! My Calendar team at @protonprivacy is #hiring! We are looking to fill several positions at our offices in #Barcelona, #Geneva, and #london

Job Description: grnh.se/op1xycx2teu

#Proton is office-first, with people coming in 3 days a week. Lunch is provided for you!

Please boost if you know a great Rust developer! If **I know you, please reach out directly** and I can refer you directly!

#rustlang #privacy #protoncalendar #protonmail #protonvpn #FediHire

in reply to Martin Geisler

would be nice to get a job coding rust, I'm USA tho so cant with ya, tho I'm curious what parts y'all use rust for?
This entry was edited (1 month ago)
in reply to Rin3d

We use it as the cross-platform foundation for our apps (and I'm told the backend and storage teams are also looking into using Rust).

So basically, we write our business logic in Rust and compile it to #WebAssembly (#Wasm) for the web, and to a shared object for loading into #Kotlin for #Android and a static library for use in #Swift for #iOS. We also have #Windows desktop clients to eventually support.

It's basically the age-old dream of write once, run everywhere 😄

in reply to Martin Geisler

interesting, do y'all have issues with wasm limitations? In #bevyengine we have issues on the file system and async side of things.

Also are y'all thinking to use tauri for the windows desktop since you already have the wasm target?

This entry was edited (1 month ago)
in reply to Rin3d

For Mail, we're not yet using Wasm: the web page you see on mail.proton.me is a TypeScript app from what I understand: github.com/ProtonMail/WebClien….

But we're working on other web apps that use Rust with Wasm. We pass events over a narrow FFI bridge using #UniFFI and that works just fine, even with async Rust. Side-effects like writing to local storage is then handled on the browser side, so the app is ultimately a mix of TypeScript and Rust.

in reply to Martin Geisler

That is surprising. For E2EE, it would make potential timing attacks and some forms of side-channel leaks difficult
in reply to Tris

@tris @Rin3d Ah, you're talking about doing the crypto in Wasm instead of using something like developer.mozilla.org/en-US/do… ?

I don't actually know that detail: it could be that our Wasm code calls back out to the browser for a more native implementation of the crypto primitives.

in reply to Tris

@tris @Rin3d I think github.com/ProtonMail/WebClien… is a hint that we use the browser's native #WebCrypto APIs.
in reply to Martin Geisler

Woohoo, thanks everyone for the help spreading the news! We have gotten 5 new applications for the #RustJob I linked.

Keep it going – it would be great to fill these positions by end of year! We currently have 59 open positions to fill: grnh.se/jl7d7bt2teu.

As an example, we need #backend engineers for

- #ProtonDrive: grnh.se/94486om2teu (#storage, #mysql, #sre)
- Account: grnh.se/slmk5pe2teu (#php, #symfony)

#FediHire #jobs #JobVacancy #rust #rustlang #Proton

⇧