52. pepsi-stage-secure-link¶

Hold a message that could not be encrypted, and mail out the link.

52.1. Role¶

pepsi-stage-secure-link is the far end of [stage-encrypt] ON_NO_KEY = secure-link. When encryption is required and the recipient publishes no usable key, pepsi-stage-encrypt routes the message here rather than sending it in the clear or bouncing it.

The stage takes the message off the wire entirely: it seals it under a freshly generated PIN, stores only the ciphertext in pepsi.secure_message, injects a notification mail carrying the link (and, by default, a second mail carrying the PIN to the sender, to be relayed out of band), and then deletes the queue row. Advancing it would transmit the cleartext to the recipient who must not receive cleartext; the message’s continuation is the notification, which takes the ordinary outbound path from [pepsi-secure-link] NOTIFY_STAGE. Reference: pepsi-stage-secure-link(1).

A message with several keyless recipients produces one stored message per recipient, each with its own token, PIN and ciphertext.

52.2. Configuration¶

The [stage-<name>] section carries only PROGRAM; everything else is in the global [pepsi-secure-link] section, which is deliberately out of reach of the per-address override layer. See The secure-link fallback portal for the whole feature, and pepsi.conf(5) for the options.

52.3. Failure¶

Everything that can fail happens before the queue row is deleted, and a failure fails the message rather than dropping it — a message that reached this stage is one the operator said must not go out unprotected.

Pepsi

Navigation

Contents

  • 1. Introduction
  • 2. Getting started on a cheap VPS
  • 3. Installation
  • 4. Debian packages
  • 5. The Wizard
  • 6. Configuration
  • 7. Supported Features
  • 8. SMTP Protocol Extensions
  • 9. Key management
  • 10. The secure-link fallback portal
  • 11. Client interoperability
  • 12. Security model
  • 13. Microsoft Exchange as a gateway
  • 14. The administrative API
  • 15. The administration console
  • 16. Architecture
  • 17. The message state
  • 18. Extending the Pipeline
  • 19. Test Suite
  • 20. Benchmark Suite
  • 21. Performance
  • 22. pepsi-ingress
  • 23. pepsi-dispatch
  • 24. pepsi-httpd
  • 25. pepsi-stage-arc
  • 26. pepsi-stage-srs
  • 27. pepsi-stage-encrypt
  • 28. pepsi-stage-decrypt
  • 29. pepsi-stage-dkim-sign
  • 30. pepsi-stage-bounce
  • 31. pepsi-stage-aliases
  • 32. pepsi-stage-relay-to-internet
  • 33. pepsi-stage-relay-to-smarthost
  • 34. pepsi-stage-relay-to-maildir
  • 35. pepsi-stage-dot-forward
  • 36. pepsi-stage-relay-to-lmtp
  • 37. pepsi-stage-discard
  • 38. pepsi-stage-anti-spam
  • 39. pepsi-stage-auto-pay
  • 40. pepsi-stage-check-whitelist
  • 41. pepsi-stage-auto-whitelist
  • 42. pepsi-stage-autocrypt-learn
  • 43. pepsi-stage-detect-language
  • 44. pepsi-detect-language
  • 45. pepsi-stage-block-language
  • 46. pepsi-stage-vacation
  • 47. pepsi-stage-edit-settings
  • 48. pepsi-stage-if
  • 49. pepsi-stage-milter
  • 50. pepsi-stage-route
  • 51. pepsi-stage-vks-confirm
  • 52. pepsi-stage-secure-link
    • 52.1. Role
    • 52.2. Configuration
    • 52.3. Failure
  • 53. pepsi-setup
  • 54. pepsi-queue
  • 55. pepsi-status
  • 56. pepsi-sendmail
  • 57. pepsi-whitelist
  • 58. pepsi-keys
  • 59. pepsi-keydisc
  • 60. pepsi-settings
  • 61. pepsi-tlsrpt
  • 62. pepsi-secure-link
  • 63. pepsi-failure-bouncer
  • 64. pepsi-quota
  • 65. pepsi-helper-token-refresh
  • 66. pepsi-telemetry
  • 67. pepsi-telemetry-client
  • 68. pepsi-config
  • 69. Feature stability
  • 70. Manual pages
  • 71. RFC Index

Related Topics

  • Documentation overview
    • Previous: 51. pepsi-stage-vks-confirm
    • Next: 53. pepsi-setup

Quick search

©2026, Pepsi contributors. | Powered by Sphinx 8.1.3 & Alabaster 0.7.16 | Page source