Is Outbox an all or nothing kind of feature in a service bus landscape?

I’ve been reading the documentation about the Outbox feature, and two sentences caught my eye and left me with some uncertainty.

In the description about Phase 2 step 2 it says:
“If processing fails at this point, duplicate messages may be sent to the queue. Any duplicates will have the same MessageId, so they will be deduplicated by the outbox feature (in phase 1, step 2) in the endpoint that receives them.”

and then a few paragraphs further down it basically repeats it:
“As long as the receiving endpoints use the outbox feature, these duplicates will be handled by the deduplication in phase 1, step 2.”

But what does this actually mean - do all endpoints need to use Outbox for it to work properly?
My original understanding was that it’s only necessary to enable in the endpoint needing the atomicity of keeping business data and message sending transactional. But it seems that endpoints receiving messages from an Outbox-enabled endpoint should also have Outbox enabled. Or am I misunderstanding the documentation?

Correct. The Outbox pattern is actually two in one, outbox and inbox.

I see. So in a scenario where an outbox-enabled endpoint stores some business data and then publishes a message, then all subscribers should also have outbox enabled. Do the subscriber endpoints need access to the same outbox persistence as the publisher endpoint, or do each endpoint have its own persistence? I’m thinking the latter.

Either will work. Depends on your use case and needs.