http-with-placeholders host interface: you put {{profile.<field>}} markers in the request, and the host resolves them from the calling user’s profile inside the enclave, just before the request goes out. The plaintext never enters your WASM.
- Synchronous. Like plain
http, you get the upstream response back in the same invocation — there’s no deferred queue. - Profile access is gated by the user’s delegation. The markers resolve only when the calling agent is authorized to act for that user (see Invoke your contract). A marker your contract isn’t permitted to resolve fails with
placeholder not permitted: <marker>. - Egress is the same rule as
http. The target host must be on the user’s allowed-hosts grant, or the call is denied (host/http.egress_denied). - Markers reference the user profile schema — e.g.
{{profile.first_name}},{{profile.date_of_birth}},{{profile.verified_contacts.email.value}}. Fields the schema doesn’t carry yet (passport, title) are supplied by your contract directly.