@@ -112,7 +112,9 @@ pool. Both honor `PYTHON_THREADPOOL_THREAD_COUNT`.
112112Activities retain their synchronous or asynchronous calling convention.
113113Synchronous activities use synchronous storage inside the host-managed execution
114114thread and remain directly callable without ` await ` ; async activities await
115- async storage. Binding converters perform no storage I/O. Synchronous functions
115+ async storage. Direct calls to decorated activities return ordinary Python values
116+ without accessing payload storage; transport processing applies only to host
117+ binding invocations. Binding converters perform no storage I/O. Synchronous functions
116118still receive the synchronous durable client, and synchronous client APIs use
117119synchronous storage. Direct ` Orchestrator.handle() ` and ` Orchestrator.create() `
118120adapters also remain synchronous.
@@ -121,6 +123,8 @@ Both client history APIs hydrate entity operation inputs and results, including
121123values nested in the host's entity protocol envelopes. During orchestration
122124replay, nested entity results are hydrated, but historical nested request inputs
123125are not downloaded because replay only needs their correlation metadata.
126+ Historical scheduled activity inputs are also not downloaded during replay;
127+ explicit history retrieval continues to hydrate those inputs.
124128
125129> [ !WARNING]
126130> With payload storage configured, whole payload strings recognized by the
@@ -140,6 +144,17 @@ itself externalized. Keep the wrapper whenever passing that value across a
140144durable payload boundary; passing its string field alone opts back into reference
141145interpretation. Custom payload stores define their own reserved token syntax.
142146
147+ > [ !WARNING]
148+ > Recognized references are trusted transport inputs, not authorization
149+ > boundaries. ` BlobPayloadStore ` reads from the container named in the token
150+ > using its configured credentials; ` container_name ` selects the upload
151+ > container and does not restrict downloads. An account-wide connection string
152+ > can therefore allow reads outside that container. Use least-privilege
153+ > credentials scoped to the intended payload storage, and explicitly decide
154+ > whether external callers may supply references. Reject untrusted references
155+ > or validate their allowed storage locations before passing them into durable
156+ > APIs; token recognition alone does not authorize a read.
157+
143158## Unit testing entities
144159
145160Use ` execute_entity() ` to run one entity operation in-process without a
0 commit comments