---
title: "End-to-End Arguments in System Design"
description: "This paper asks where a system should place reliability, delivery, security, and duplicate-suppression guarantees. Read it to see why a lower layer can make failures rarer yet still cannot certify the application result, and why the final check belongs at the endpoints that understand what success means."
canonical_url: "https://fanout.sh/daily/2026-08-21-end-to-end-arguments"
md_url: "https://fanout.sh/daily/2026-08-21-end-to-end-arguments.md"
last_updated: "2026-08-21"
access: "public"
---

# End-to-End Arguments in System Design

This paper asks where a system should place reliability, delivery, security, and duplicate-suppression guarantees. Read it to see why a lower layer can make failures rarer yet still cannot certify the application result, and why the final check belongs at the endpoints that understand what success means.

## Paper details

- Authors: Saltzer, Reed, and Clark

- Venue: ACM TOCS, 1984

- Track: Systems

- Difficulty: Easy

- Reading time: 30 min

- Original paper: https://web.mit.edu/saltzer/www/publications/endtoend/endtoendA4.pdf

## What you will learn

- Why packet checks and local retries cannot replace a checksum that covers the file from source storage through destination storage.

- How lower-layer reliability can improve performance without becoming the source of application correctness.

- Why the right endpoints change with the application, and why end-to-end is a design argument rather than a ban on smart networks.

## Continue exploring

[Explore reliability engineering](https://fanout.sh/system/archive/reliability-resource-guide): Continue into Fanout's reliability guide and connect end-to-end checks to failure domains, retries, idempotency, graceful degradation, observability, and recovery design.

---
This representation contains public Fanout content only. Protected Pro lessons, account data, billing, checkout, and pricing are not included.

Browse the public content map: https://fanout.sh/sitemap.md
