sandij
Cleverbase runs an API platform for online trust: qualified e-signatures, PKI, digital identity and high-assurance identity onboarding for European organisations. We’re now building towards the EU Digital Identity Wallet and the European Business Wallet. Helping customers design and ship their solutions on our platform matters as much to us as building the platform itself.
As a Qualified Trust Service Provider under eIDAS, what we ship has to be demonstrably correct, auditable and secure, and we still deploy frequently. We go beyond compliance by applying modern cryptography to better protect personal data, because our mission is everyone secure online.
Stack: JVM (Scala with Cats/Cats-Effect, http4s, fs2, doobie), gRPC, Postgres and HSMs for the trust services; TypeScript (React, NestJS, oRPC, Drizzle, Playwright) for web; standards like JSON/XML/PDF signatures and OpenID. Experience with this exact stack isn't required, but interest in cryptography or digital identity is.
Roles currently available:
Web Engineer (Medior): https://cleverbase.com/en/careers/web-engineer-medior/
Web Engineer (Senior): https://cleverbase.com/en/careers/web-engineer-senior/
Solution Engineer (Medior): https://cleverbase.com/en/careers/solution-engineer-medior/
Apply: email [email protected] with your CV and a short note, and mention that you found us through this HN post from the CTO.
Portable documents host new file formats
Attribute presentation is not designed for this feature. When attribute presentation becomes non-repudiable, it creates legal uncertainty:
1. In court, the verifier may now present the proof of possession as evidence. But this is, at least in the EU, not recognised by default as an e-signature. It is yet unknown if it would be interpreted as such by a court. So the verifier keeps a risk that will be difficult for them to assess.
2. Even if it would be recognised as evidence, the holder may argue that it is a replay of a presentation made in another transaction. Presentation protocols are not designed for timestamp assurance towards third parties, and generally do not include verifiable transaction information.
3. The verifier may protect itself by audit-logging attribute presentation input and output along with publicly verifiable timestamps and verifiable transaction information, and by editing its terms and conditions to claim a priori non-repudiation of any presentation. Typically such a solution would not create the same evidence files at the holder’s side. So the holder would not be able to present as strong evidence in court as the verifier. (This asymmetry aspect needs some more elaboration.)
Non-repudiation is well arranged in EU law for e-signatures. If anyone would want the same for attribute presentation, this should involve changes in law. As far as I can see, non-repudiation is now opportunistically being considered in mDL/EUDI just from an isolated technical perspective.
1. plausible deniability of the document’s issuer seal
2. plausible deniability of having presented the document
The second is great for legal certainty for the user. The first has problems. It would be incompatible with qualified e-sealing; stakeholders have no evidence if issuer integrity was compromised.
Also, it would mean that issuance happens under user control, during presentation to a relying party. In a fully decentralised wallet architecture, this means including the trusted issuer KEM key pair on the user’s phone. Compromising the issuance process, for example by extracting the trusted issuer KEM key pair, could enable the attacker to impersonate all German natural persons online.
The advantage would have been that authenticity the content of stolen documents could be denied. This potentially makes it less interesting to steal a pile of issued documents and sell it illegally. But how would illegal buyers really value qualified authenticity e-seals on leaked personal data?
The opponent may still claim that the car rental place is showing a copy that was obtained illegally, and not in holder presentation. To avoid such a claim, the car rental company should ask for a qualified e-signature before providing the car key. The signed data can include any relevant claims that both parties confirm as part of the transaction. To provide similar assurance to the customer, the company should counter-sign that document, or provide it pre-sealed if it is an automated process.
Note that with the EU Digital Identity, creating qualified e-signatures is just as easy as presenting digital credentials.
We may accidentially end up with non-repudiation of attribute presentation, thinking that this increases assurance for the parties involved in a transaction. The legal framework is not designed for this and insufficiently protects the credential subject for example.
Instead, the high assurance use cases should complement digital credentials (with plausible deniability of past presentations) with qualified e-signatures and e-seals. For these, the EU for example does provide a legal framework that protects both the relying party and the signer.
Using WebAuthn for Non-Repudiation
We deliver identity wallets and trust services. Users can sign documents on mobile with the same legal value as paper signatures, but higher security. Users can identify online in cases where physical presence or showing a passport would otherwise be needed. And the wallet is a strong multi-factor customer authenticator.
We founded Cleverbase in 2016, aiming to enable everyone to do easy and secure business online. Since 2018 we operate under Dutch government supervision within the eIDAS trust framework. We are part of the development of a European Digital Identity Wallet. We are currently hiring for two of our teams:
- enrollment of European citizens with a high level of assurance, issuing reusable credentials - wallet cryptography to enable users to fully control their own digital identity, managing and using credentials
https://cleverbase.com/en/job/mobile-app-developer-ios-and-o...
https://www.reddit.com/r/crypto/comments/zukgfq/comment/j1l2...
Some additional reasoning why having a strong standard library is important:
https://www.cryptologie.net/article/505/why-not-rust-for-sec...
Object Design: Roles, Responsibilities, and Collaborations (2003) free e-reprint
We are building inherently complex systems with high compliance and security impact. So all colleagues are aware that we need to manage a lot of requirements and design knowledge in the progress. So there is a strong motivation to re-use information, reducing work and room for errors. And it helps to have some people passionate about knowledge management and making Git-based workflows easy to use. For example by linking the Mkdocs-generated pages to the GitHub file editor.
We structure the project and its related projects hierarchically along service design packages, similar to the “class-responsibility-collaboration” breakdown in object-oriented design.
All of our stream-aligned team collaborates continuously on this data as part of sprints, including analysts, managers, software and QA engineers. We recently started to collaborate with the enabling Risk & Compliance team on the same data, and started doing compliance audits using the generated, Git hash-versioned reports.
Our other teams use similar combinations of data, mostly centered around Confluence spaces which enable some form of traceability due to bi-directional linking.
Curious how for example code project structure or inter-process messaging constraints can prohibit mixing concerns or breaking the domain model. Also curious how such a forceful environment is experienced and whether it has the intended effect.
"Conversely, if the service operator runs GNU/Linux or other free software, that's not a virtue that affects you, but rather a benefit for her. We don't praise or thank her for this; rather we felicitate her for making the wise choice."
https://www.gnu.org/philosophy/network-services-arent-free-o...