Live
Black Hat USAAI BusinessBlack Hat AsiaAI BusinessLess than a month: StrictlyVC San Francisco brings leaders from TDK Ventures, Replit, and more togetherTechCrunch AIA YouTuber channeled his distaste for the PS5’s design into slick console coversThe Verge AIThe end of 'shadow AI' at enterprises? Kilo launches KiloClaw for Organizations to enable secure AI agents at scaleVentureBeat AI"You Have Not Been a Good User" (LessWrong's second album)LessWrong AIWhy Cyber-Insurance and SOC 2 Audits Struggle with Small Tech Teams — And What a Structured Evidence Layer ChangesDEV CommunityA Code Authorship Analysis on the Claude Code Leak. What Was Found Doesn't Match Human or AI Code.DEV CommunityVanityH – Elegant Hyperscript DSL for Frontend Render FunctionsDEV Community“Prismo: Building an AI-Powered Parametric Insurance for Gig Workers | Hackathon Journey”DEV CommunityFrom Coin Toss to LLM — Understanding Random VariablesDEV Community7 Patterns That Stop Your AI Agent From Going Rogue in ProductionDEV CommunityI Let an AI Agent Run My Freelance Life. It Almost Burned It Down.DEV CommunityHow to Build an AI Agent That Tweets for You (Step by Step)DEV CommunityBlack Hat USAAI BusinessBlack Hat AsiaAI BusinessLess than a month: StrictlyVC San Francisco brings leaders from TDK Ventures, Replit, and more togetherTechCrunch AIA YouTuber channeled his distaste for the PS5’s design into slick console coversThe Verge AIThe end of 'shadow AI' at enterprises? Kilo launches KiloClaw for Organizations to enable secure AI agents at scaleVentureBeat AI"You Have Not Been a Good User" (LessWrong's second album)LessWrong AIWhy Cyber-Insurance and SOC 2 Audits Struggle with Small Tech Teams — And What a Structured Evidence Layer ChangesDEV CommunityA Code Authorship Analysis on the Claude Code Leak. What Was Found Doesn't Match Human or AI Code.DEV CommunityVanityH – Elegant Hyperscript DSL for Frontend Render FunctionsDEV Community“Prismo: Building an AI-Powered Parametric Insurance for Gig Workers | Hackathon Journey”DEV CommunityFrom Coin Toss to LLM — Understanding Random VariablesDEV Community7 Patterns That Stop Your AI Agent From Going Rogue in ProductionDEV CommunityI Let an AI Agent Run My Freelance Life. It Almost Burned It Down.DEV CommunityHow to Build an AI Agent That Tweets for You (Step by Step)DEV Community

NH:STA S01E02 OpenPGP.js

DEV Communityby MaddyApril 1, 20262 min read0 views
Source Quiz

<p>This post is part of a series on our work for the <a href="https://www.sovereign.tech/" rel="noopener noreferrer">Sovereign Tech Agency</a> (STA). Our first post in the series explains why and how we are contributing to various open source projects. </p> <h2> About the project </h2> <p><a href="https://openpgpjs.org" rel="noopener noreferrer">OpenPGP.js</a> is a pure, Open Source <a href="https://en.wikipedia.org/wiki/Pretty_Good_Privacy#OpenPGP" rel="noopener noreferrer">OpenPGP</a> implementation written in JavaScript. Its main use-case is enabling PGP workflows in web-based email systems, but as JavaScript is available on almost all devices these days, its utility is universal.</p> <h2> Our contributions </h2> <p>We started out by <strong>introducing a fuzz testing suite</strong> to

This post is part of a series on our work for the Sovereign Tech Agency (STA). Our first post in the series explains why and how we are contributing to various open source projects.

About the project

OpenPGP.js is a pure, Open Source OpenPGP implementation written in JavaScript. Its main use-case is enabling PGP workflows in web-based email systems, but as JavaScript is available on almost all devices these days, its utility is universal.

Our contributions

We started out by introducing a fuzz testing suite to the project. Fuzz testing is a form of unit testing, but instead of relying on manually crafted input and comparing it to the desired output, fuzz testing generates a near infinite number of permutations for input data to find rare implementation bugs. For security-related software, this is an important aspect of a complete automated testing suite.

We then focussed on making the project more approachable for new contributors by:

  • improving the documentation for first-time contributors

  • adding a high-level description of the project’s architecture

  • and improving the general contribution guidelines.

Finally, we started work on migrating certain core modules from JavaScript to TypeScript, to make crucial parts of the project more type-safe.

Reflections from the team

Here’s a short interview with Neighbourhoodie developer Alba Herrerías Ramírez, who runs our STF programme and worked on OpenPGP.js:

What was the most surprising thing working on this project?

Alba: I’m not sure if it’s ‘surprising’ but something I found pleasant was their user documentation, it’s great, I would like to see more projects paying this detail to docs.

What was especially challenging about this project?

OpenPGP.js have been planning to release v6 for a long time and our work got stuck in the middle (since they requested us to base our work in the v6 branch). We needed to accommodate the project’s timelines.

Conclusion

In summary, we could play to our strengths here and help a web-based project and we could build upon our work with Sequoia-PGP. There is lots to be done on the OpenPGP.js project and we hope we get another chance at helping them along.

Find out more about the work we do by visiting the Neighbourhoodie Blog.

Was this article helpful?

Sign in to highlight and annotate this article

AI
Ask AI about this article
Powered by AI News Hub · full article context loaded
Ready

Conversation starters

Ask anything about this article…

Daily AI Digest

Get the top 5 AI stories delivered to your inbox every morning.

More about

releaseavailableopen source

Knowledge Map

Knowledge Map
TopicsEntitiesSource
NH:STA S01E…releaseavailableopen sourcegithubDEV Communi…

Connected Articles — Knowledge Graph

This article is connected to other articles through shared AI topics and tags.

Knowledge Graph100 articles · 188 connections
Scroll to zoom · drag to pan · click to open

Discussion

Sign in to join the discussion

No comments yet — be the first to share your thoughts!

More in Releases