Digital signature · Cryptography · SEO
FirmaOKPDF digital-signature suite that runs fully offline
PDF digital-signature suite (PAdES-B): sign and validate with .p12 certificates without the file ever leaving the device. Beyond the product, I worked on the site: blog, page architecture, Schema.org structured data and measurement of the funnel down to the download.
Technologies
- React Native
- Expo
- WebCrypto
- PAdES-B
- Astro
- TypeScript
- Schema.org
- JSON-LD
- Google Analytics 4
- Search Console
- Technical SEO
- UX/UI
My role
Web & applications developer at Azirgo SAS. I worked on the mobile app, the browser build and the cryptographic signing layer, and I ran the site: blog, page analysis, Schema.org structure, UX/UI and measurement with Google Analytics and Search Console.
The problem
Signing a PDF with a digital certificate usually means uploading both the document and the certificate to somebody else's server, and for sensitive documents that is exactly the wrong trade. But that advantage does not sell itself: whoever needs to sign searches for “how to sign a PDF with a certificate” or “is an electronic signature legally valid”, not for an app name. With no content answering those searches and no measurement, there was no way to know which path ended in a download.
What I built
- A site with product, use-case and download pages, with UX/UI aimed at reaching the app in as few steps as possible.
- A blog on electronic signatures, .p12 certificates, document validation and the legal validity of what gets signed.
- Page-by-page analysis: which queries each page attracts, where it ranks and whether it should be expanded, rewritten or merged.
- A Schema.org structured-data layer (SoftwareApplication, FAQPage, BlogPosting, BreadcrumbList) so search engines understand what the app is and what it does.
- Google Analytics 4 events for the path to the download, plus click, impression and position tracking in Search Console.
- PDF signing and validation using the PAdES-B standard, with the user's own .p12 certificates.
- Fully offline execution: the document and the certificate never leave the device.
- A mobile app for iOS and Android, plus a build that runs in the browser.
Technical decisions
- Mark the site up as SoftwareApplication instead of leaving pages without structured data: search engines should understand there is an app, what it does and which platforms it runs on.
- Content answers the question that comes before the download (is this signature valid? what is a .p12?), because that question is what stalls the decision.
- Test more than one path to the download - site first, app first, comparison - instead of assuming which one converts.
- All cryptography runs on the client: with no signing backend there is no server where private keys or documents could be exposed.
- WebCrypto as the base for browser signing rather than an unaudited in-house library.
- One React Native + Expo codebase for iOS and Android instead of two separate native apps.
Challenges
- Explaining a technical advantage - nothing leaves the device - in terms that matter to someone who just wants to sign a document today.
- Competing for searches dominated by certificate authorities and official paperwork pages.
- Tracking a funnel that ends off-site, in the app stores, without losing sight of where the visit came from.
- Implementing PAdES-B correctly: a signature that does not validate is a useless signature, there is no middle ground.
Result
FirmaOK is in production as one of the published mobile apps, signing works with no connection, and the site carries acquisition: blog and pages marked up with Schema.org, the path to the download measured in GA4 and per-query performance reviewed in Search Console.
