You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: packages/integration/examples/openinference/README.md
+23Lines changed: 23 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,6 +62,29 @@ PHOENIX_PROJECT_NAME=default \
62
62
63
63
Backend verification checks that Phoenix returns the same trace id, span ids, and span names that atrib signed into local sidecars. The run marker is emitted as extra trace metadata and reported when the backend exposes it.
64
64
65
+
## Private evidence across Phoenix retention
66
+
67
+
The Phoenix lifecycle proof exercises a stricter privacy boundary than the dual-export smoke. The local span stream still contains synthetic private tool input and output. `AtribSpanProcessor` signs salted commitments to that material and writes the disclosure to a mode-0600 private mirror. A separate allowlist exporter removes user content, span events, links, and status messages before sending the trace to Phoenix.
68
+
69
+
Start Phoenix, then run the proof:
70
+
71
+
```bash
72
+
docker run --rm -p 6006:6006 arizephoenix/phoenix:19.3.0
The script confirms that Phoenix received the expected trace and span ids without the private bodies. It deletes the trace through Phoenix's REST API, confirms the trace is gone, then verifies the atrib signatures and replays the private input and output commitments from the local mirror.
77
+
78
+
The signed `context_id` carries the OpenTelemetry trace id. Exact span ids remain in the private mirror and are not part of the public atrib record. This local run does not prove public-log inclusion or independent chronology. It proves the redaction, deletion, signature, and private-disclosure lifecycle that a logged deployment can build on.
79
+
80
+
To submit the synthetic hash-only records to the public atrib log and archive, set the explicit live-proof flag:
The live path verifies that each Merkle leaf matches the signed record, verifies inclusion against the returned checkpoint, checks the checkpoint signature and log key id, and retrieves the archived record. It does not submit the private mirror or its span bodies.
87
+
65
88
For Langfuse export, set `ATRIB_OPENINFERENCE_OTLP_ENDPOINT` to the full OTLP trace endpoint and pass auth through `ATRIB_OPENINFERENCE_OTLP_HEADERS` or `OTEL_EXPORTER_OTLP_HEADERS`. To prove Langfuse receipt, enable backend verification and provide Langfuse read credentials:
0 commit comments