| layout |
home |
| hero |
| name |
text |
tagline |
actions |
PostGuard |
Encryption based on identity, not keys |
Send encrypted messages and files to anyone using just their email address. No key exchange, no certificates, no hassle. |
| theme |
text |
link |
brand |
What is PostGuard? |
/guide/what-is-postguard |
|
| theme |
text |
link |
alt |
Core Concepts |
/guide/concepts |
|
| theme |
text |
link |
alt |
Getting Started |
/sdk/getting-started |
|
| theme |
text |
link |
alt |
Visit PostGuard |
|
|
|
|
| features |
| title |
details |
No key exchange needed |
Encrypt data using nothing more than the recipient's email address. There are no public keys to look up and no certificates to manage. |
|
| title |
details |
Identity verification built in |
Recipients prove they own their email address (or other attributes) before they can decrypt. Sender identity can be verified too. |
|
| title |
details |
Time-limited keys |
Decryption keys expire automatically. Even if a key is compromised, it only works for a specific time window. |
|
| title |
details |
Works everywhere |
The JavaScript SDK runs in browsers and Node.js. Addons exist for Thunderbird and Outlook. A CLI tool handles server-side and scripting use cases. |
|
|
Install the SDK:
Encrypt files and send them to a recipient:
import { PostGuard } from '@e4a/pg-js';
const pg = new PostGuard({
pkgUrl: 'https://pkg.staging.yivi.app',
cryptifyUrl: 'https://fileshare.staging.yivi.app'
});
const sealed = pg.encrypt({
files: [file1, file2],
recipients: [pg.recipient.email('alice@example.com')],
sign: pg.sign.apiKey('PG-your-key')
});
await sealed.upload({
notify: { recipients: true, message: 'Here are your files' }
});
Source: encryption.ts#L24-L44
Read the concepts guide to understand how this works, or jump straight to getting started.