{"id":40528759,"url":"https://github.com/encryption4all/postguard-tb-addon","last_synced_at":"2026-02-12T15:05:03.017Z","repository":{"id":40385520,"uuid":"343786124","full_name":"encryption4all/postguard-tb-addon","owner":"encryption4all","description":"PostGuard addon for Thunderbird","archived":false,"fork":false,"pushed_at":"2023-12-08T10:42:23.000Z","size":1325,"stargazers_count":0,"open_issues_count":3,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-04-20T08:02:05.041Z","etag":null,"topics":["easy-to-use","email","encryption","ibe"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/encryption4all.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-03-02T13:35:53.000Z","updated_at":"2022-12-16T16:28:48.000Z","dependencies_parsed_at":"2023-01-30T12:15:25.998Z","dependency_job_id":"24bec1dc-96ab-4e9a-8b61-c26fbfcdbffa","html_url":"https://github.com/encryption4all/postguard-tb-addon","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/encryption4all/postguard-tb-addon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/encryption4all%2Fpostguard-tb-addon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/encryption4all%2Fpostguard-tb-addon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/encryption4all%2Fpostguard-tb-addon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/encryption4all%2Fpostguard-tb-addon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/encryption4all","download_url":"https://codeload.github.com/encryption4all/postguard-tb-addon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/encryption4all%2Fpostguard-tb-addon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28614752,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T18:56:40.769Z","status":"ssl_error","status_checked_at":"2026-01-20T18:54:26.653Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["easy-to-use","email","encryption","ibe"],"created_at":"2026-01-20T21:37:40.902Z","updated_at":"2026-02-12T15:05:02.985Z","avatar_url":"https://github.com/encryption4all.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PostGuard addon for Thunderbird\n\nThe PostGuard addon utilizes E2E identity-based encryption to secure\ne-mails. This allows for easy-to-use encryption without the burden of key\nmanagement.\n\nAnyone can encrypt without prior setup using this system. For decryption, a\nuser requests a decryption key from trusted third party. To do so, the user\nmust authenticate using [Yivi](https://yivi.app/), a privacy-friendly\ndecentralized identity platform based on the Idemix protocol. Any combination of\nattributes in the Yivi ecosystem can be used to encrypt e-mails, which allows for\ndetailed access control over the e-mail's content.\n\nExamples include:\n\n-   Sending e-mails to health care professionals, using their professional registration number.\n-   Sending e-mails to people that can prove that they have a certain role within an organisation.\n-   Sending e-mails to people that can prove that they are over 18.\n-   Sending e-mails to people that can prove that they live within a country, city, postal code or street.\n-   Or any combination of the previous examples.\n\nFor more information, see [our website](https://postguard.eu/) and [our Github\norganisation](https://github.com/encryption4all/postguard).\n\n## Prerequisites\n\nNode and a package manager like `yarn`, or alternatively `npm`, are required to\nbuild the addon. Building the addon was tested on:\n\n-   node `v17.9.0`,\n-   yarn `v1.22.18`.\n\n## Building\n\nInstall the dependencies and build the extension using:\n\n```\nyarn\nyarn build\n```\n\n## WebAssembly\n\nPostguard's [cryptographic\ncore](https://github.com/encryption4all/irmaseal/tree/main/irmaseal-core) is\nimplemented in Rust, which is compiled down to WebAssembly in\n[postguard-wasm](https://github.com/encryption4all/postguard/tree/main/pg-wasm)\nusing `wasm-pack`. For this purpose, we require a `script-source 'unsafe-eval'`\ndirective in the Content Security Policy (CSP). Hopefully, this can soon be\nreplaced with `unsafe-wasm-eval` in a newer version of Firefox/Thunderbird.\n\n## Experiments\n\nThe addon currently uses four experiments:\n\n-   the `pg4tb` experiment, which has a temporary file API and an experimental way to display messages.\n-   the `switchbar` experiment, which is a modification of the notificationbar API that implements a switchable toolbar inside the compose window. This experiment uses `innerHTML` to adjust the bar. This can probably be avoided, but the input is not user input, rather developer input. For now, no plans are made to publish the experiment, since it is tailored specific to our UX needs.\n-   the [notificationbar API](https://github.com/jobisoft/notificationbar-API) to show warning/error notifications.\n\n## Self-distribution \u0026 updates\n\nTo self-distribute (and update the addon) make sure that the following is present in the manifest:\n\n```json\n\"browser_specific_settings\": {\n    \"gecko\": {\n        \"update_url\": \"\u003cUPDATE_URL\u003e/updates.json\"\n    }\n}\n```\n\nAt this URL a file (see, `dist/updates.json`) should be hosted. This file\ncontains updates consisting of a version, a download URL for this specific\nversion and optionally, version restrictions.\n\n```json\n{\n    \"addons\": {\n        \"pg4tb@e4a.org\": {\n            \"updates\": [\n                {\n                    \"version\": \"0.1\",\n                    \"update_link\": \"\u003cDOWNLOAD_URL\u003e/postguard-tb-addon-0.1.xpi\"\n                }\n            ]\n        }\n    }\n}\n```\n\nA new version can be prepared for auto-updating by bumping the version in the\nmanifest and providing an extra `update` entry in `updates.json`. Make sure\nthat both files are publicly available at the URLs mentioned above.\n\n## Funding\n\nPostGuard is being developed by a multidisciplinary (cyber security, UX) team from\n[iHub](https://ihub.ru.nl/) at Radboud University, in the Netherlands, funded\nby NWO.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fencryption4all%2Fpostguard-tb-addon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fencryption4all%2Fpostguard-tb-addon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fencryption4all%2Fpostguard-tb-addon/lists"}