The modern, zero-install platform that replaces the outdated Java desktop application. Generate FIEL, CSD, and more — on any device, with zero friction.
The official Certifica64bits.jar (Solcedi v4.10) is the only way to generate digital certificates for Mexico's tax authority. But it comes with serious limitations.
Technically cross-platform as a .jar, but in practice a nightmare: macOS Gatekeeper blocks it, Finder won't open it, and Java 9+ crashes with module errors. Users must open Terminal and run java --add-opens ... -jar Certifica.jar — impossible for non-technical people.
Users must install a specific, outdated Java Runtime Environment. This is a massive barrier for non-technical people — the elderly, students, small business owners.
There is no cloud edition, no REST API, no way to integrate with other software. Every interaction is manual and desktop-bound.
An intimidating UI lifted straight from early 2000s enterprise Java. Confusing for anyone who isn't an accountant or systems engineer.
We reverse-engineered and re-implemented every byte of the SAT's output format in Rust — compiled to WebAssembly — so it runs instantly in any modern browser.
Chrome, Safari, Firefox, Edge — no installs needed.
Keys generated client-side or in a stateless Worker. Nothing stored.
Output matches the SAT tool exactly. Same .key, .req, .ren, .sdg formats.
We track the SAT's jar with git diff. Every update is caught and ported.
Three core workflows cover all SAT digital certificate needs. Click any card to see details.
Generate a new electronic signature — the digital identity every Mexican taxpayer needs.
Renew an existing e.firma using your current keys — without losing your certificate.
Generate digital seal certificates for businesses — up to 30 branches in one go.
Bonus tools — all free
A three-layer stack engineered for speed, portability, and cryptographic correctness.
Certifica64bits.jar exactly — verified by cross-implementation test suite against the real Java output.
Every millisecond matters. Certifica's Rust core compiles to WebAssembly, delivering near-native performance — no JVM warmup, no garbage collection pauses, no sluggish Java Swing UI.
Time lost just launching the app, every single use.
Everything happens now. No waiting. No friction.
Walk through a FIEL (e.firma) requisition — the most common workflow. Click each step.
Type in your RFC (tax ID), CURP, full name, and email. Certifica validates each field instantly as you type — no need to guess if your RFC is formatted correctly.
Choose a password to protect your private key. The strength meter gives real-time feedback — mixing OS entropy with your input to ensure cryptographic-grade protection.
Your RSA 2048-bit key pair is generated in the browser (or optionally via the stateless Worker API). The private key is encrypted with your password. A PKCS#10 CSR is signed. Nothing is ever stored or transmitted.
You get two files ready to use: Claveprivada_FIEL_*.key (your password-protected private key) and a .req (the signing request). Upload the .req to the SAT portal — that's it.
The SAT's Java tool collects entropy only from mouse movements. If the user barely moves the mouse, the RSA key can be predictable. Certifica fixes this — without breaking compatibility.
(mouseX × 1000) + mouseY → 1 byteSecureRandom directly⚠ If the mouse stays still or moves in small patterns, entropy is dangerously low.
fixed_seed() — expands to key_size bytes via SHA-256rng_from_seed() — mixes in 32 bytes of OS entropyStdRng CSPRNG seededrsa crate
✔ Even if the user sits perfectly still, the OS entropy (/dev/urandom or Crypto.getRandomValues()) guarantees an unpredictable key.
No accounts. No limits. No tracking. Every feature is open and available.
No plan to change this. FIEL, CSD, renewal, validators, certificate inspector, key recovery — all free, forever.
If direct consumer monetization becomes necessary, here's how it could work — simple, fair, and transparent.
The platform is already production-grade. Here are the paths to revenue — none of which touch the free individual experience.
Sell API access for automated certificate workflows. Tiered pricing: free tier (N calls/day), pro (unlimited), enterprise (SLA). Accountants and payroll SaaS companies would integrate directly.
High margin · Recurring revenueDespachos contables, notarios, and corporation legal teams need bulk certificate operations. Offer a white-label portal with their branding, user management, and audit logs — priced per seat.
Sticky · Enterprise contractsOrganizations pay per certificate generated, per user, or per month. Transparent metered billing that scales from a single accountant to a 500-person firm.
Flexible · Fair pricingSSO (SAML/OIDC), role-based access control, audit trails, compliance reports, batch operations API, dedicated support SLAs with guaranteed response times. The stuff big companies pay for.
Premium · High valueA direct comparison of what each platform delivers.
The Rust cryptographic engine compiles to WebAssembly today — but it can target every device. Native apps are a straightforward extension, not a rewrite.
Cloudflare Pages + Worker + WASM. Already live, works everywhere.
Rust WASMSwiftUI wrapper around the Rust core via FFI. Distribute on the App Store.
Swift + Rust FFIKotlin/Jetpack Compose + Rust NDK. Publish on Google Play.
Kotlin + Rust NDKTauri or Electron shell around the same WASM/Worker. Windows, macOS, Linux.
Tauri + RustSame Rust crate. Same byte-identical output. Same security guarantees. Just a different UI shell.
Certifica is live and production-tested. It's already a better experience than the official tool. The monetization paths are clear. The future cross-platform apps are a single Rust crate away.
Privacy-first. Byte-identical to SAT. Ready for scale.