Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Receives OpenPGP ciphertext from approved website origins, stores only ciphertext in val-scoped blob storage, and emails the armored ciphertext plus a downloadable .asc backup. The optional sender name remains cleartext for the email subject. Message-management routes require a bearer token and are intended for the local GPG reader.
main.tsx— public submission API and protected reader routesshared.ts— validation and record typesstorage.ts— val-scoped blob storage and retention logiccleanup.ts— scheduled retention cleanup
Required for every deployment:
ALLOWED_ORIGINSEXPECTED_KEY_IDINBOX_TOKEN
Email delivery:
- Free tier:
EMAIL_TO_SELF=true - Paid tier:
NOTIFICATION_EMAIL=recipient@example.comand omit or setEMAIL_TO_SELF=false
Optional:
RETENTION_DAYS(default30)SUBMISSION_LIMIT_PER_10_MINUTES(default10)
The private OpenPGP key and plaintext are never uploaded to Val Town or included in email.