AI Cost Firewall v0.8.4 — Privacy Guard Integration and Cache Isolation Hardening
AI Cost Firewall v0.8.4 strengthens its integration with VCAL Privacy Guard v0.3.0, adding structured-content inspection support and privacy-aware cache isolation for self-hosted enterprise and MSSP deployments.
This focused hardening release preserves the existing Observe → Enforce behavior, controlled streaming, Assessment Context, and OpenAI-compatible request handling.
Structured-content Privacy Guard integration
AIF now passes supported JSON message content to Privacy Guard using serde_json::Value, including plain strings, arrays of strings, and supported typed text parts. It preserves the structure of supported mixed text/non-text arrays while Privacy Guard inspects the text portions.
Recognized unsupported text-bearing structures are rejected rather than silently bypassing privacy inspection. Non-text parts are preserved, but AIF does not inspect the contents of images or attached documents.
Effective privacy policy and inspection evidence
AIF captures the effective privacy policy ID, version, and hash, along with relevant inspection-coverage metadata. These details make privacy enforcement decisions easier to correlate with policy configuration and audit evidence.
A request without a complete effective privacy policy identity can still proceed after successful inspection, but it bypasses cache lookup and storage to avoid unsafe reuse. If Privacy Guard is unavailable and the configured fail-open behavior permits the request to proceed, cache lookup and storage are also bypassed.
Privacy-aware cache isolation
Exact-cache identity now incorporates an opaque scope based on the effective tenant, Privacy Guard mode, and policy ID/version/hash.
Semantic-cache identity and Qdrant payload filters use the same privacy scope, in addition to existing placeholder/entity-signature checks. This prevents reuse of privacy-protected entries across tenants or incompatible privacy policies.
Previous privacy-protected cache entries may become cold under the new scope. Cache behavior for requests without Privacy Guard remains compatible where safe.
Privacy restoration and cache safety
Privacy Guard placeholders remain in cached responses. Restoration uses only the mapping associated with the current request, including when a response is served from cache or delivered through controlled streaming.
AIF does not store the restored personal information in its exact or semantic caches.
Testing and compatibility
The hardening update adds Rust regression coverage for structured-content shape preservation, unsupported text-bearing content, effective policy metadata, cross-request restoration, cross-tenant and cross-policy cache separation, and semantic-cache isolation.
- Evaluation Mode (
observe/enforce) and isolated shadow caches remain available. - Controlled streaming and JSON/SSE cache compatibility remain supported.
GET /assessment-context,aif_runtime_info, and the existing assessment workflow remain available.- OpenAI-compatible APIs and existing Docker, Docker Compose, Kubernetes, and OpenShift deployment patterns are unchanged.
- Evidence schema remains
vcal.evidence.event1.1.
Scope and limitations
Structured-content arrays are eligible for exact caching when the request satisfies the existing cache rules. Semantic caching remains limited to eligible plain-string message content.
Document attachment processing is not included in this release. Referenced files and document contents require a future Attachment Processor integration. Structured-content support should not be interpreted as arbitrary multimodal inspection.
Upgrade guidance
Deploy AIF v0.8.4 with VCAL Privacy Guard v0.3.0 to use the new structured-content integration. Confirm Privacy Guard policy metadata is returned, then validate representative requests, cache separation, restoration, and fail-open behavior in the target deployment.
No separate cache migration is required; privacy-scoped entries can be repopulated through normal traffic.