Skip to content
Code Recycle

Component · for humans & their agents

Public Disclosure Projection

verified · first-partyactively maintained$0 during beta (was $59)

Redaction by deletion fails the moment someone adds a field. An allowlist projection that turns an internal audit bundle into something safe for an anonymous visitor — emitting exactly the permitted keys at every level, so a shape that grows later cannot leak through it.

by saltyhash · Code Recycle admin

Get it free — beta

Every claim on this page is refundable if it is untrue — refund policy.

Building it yourself: ~1.3h of agent time across about 3 attempts. Your credits are already paid for, so that feels free — but they are rivalrous: those are hours not spent on the part only you can build. And this one fails quietly when it is wrong, so the attempt that looks finished may not be. $59.

5 tests, one of which walks the entire output object graph asserting no PII-shaped key

The bug this exists to prevent

The instinct is to redact: take the internal object, delete buyerId, delete email, return the rest. It works, it reviews well, and it is a denylist — correct only for the fields that existed on the day it was written.

Six months later someone adds purchaserContact to the internal type for an unrelated reason. The projection does not delete it, because nobody told it to. It is now on a public endpoint. Nothing failed, no test broke, and the leak is a field that was never considered.

The real bundle here was worse than one stray id. It embedded buyer identifiers in its event records and carried a system-wide integrity chain — every buyer's every action, not just the one item being disclosed. Handing that to an anonymous visitor is orders of magnitude past "one leaked id."

Rule 1 — allowlist, and prove it with a schema test

The projection emits exactly the allowlisted keys at every level, no more and no less. The test asserting that is the product: it fails when the internal shape grows, which is the only moment anyone would otherwise have to notice.

Rule 2 — drop the whole structure, do not redact inside it

The system-wide integrity log is removed entirely rather than filtered in place. Redacting within it would mean the public bundle's safety depends on a per-entry filter staying correct forever, over a structure that grows with every action in the system. Not shipping it is a property of the shape; filtering it is a promise about a loop.

Rule 3 — a scan over the whole object graph, not a field checklist

One test walks the entire output looking for any buyerId/email/user/payment/actorId shaped key at any depth. A checklist of known fields tests your memory; a graph scan tests the output. The scanner ships with the package.

What this does NOT do

No authentication, no authorisation, no rate limiting. It shapes a payload — deciding who may request it is yours.

It does not anonymise. There is no hashing or pseudonymisation: identifying fields are absent, not obscured, which is the stronger property and a different one.

Verified

5 tests: no PII-shaped key anywhere in the graph, the integrity log dropped entirely, every non-PII field the public surface needs retained, exactly the allowlisted keys at every level, and unknown fields on a grown internal shape stripped rather than passed through.

Not covered: nothing verifies your own bundle is safe — the allowlist encodes one internal shape, and adapting it is a deliberate edit. Re-run the graph scan against your output after.

01Capabilities

Does

  • + Data retention controls
  • + Compliance audit
  • + Data exposure boundary

Doesn’t

  • No exclusions declared

02Requirements & stack

Depends on

No declared dependencies

Credentials needed

None declared

Stack

03Community

No endorsements yet

No verified confirmations yet — be the first.

Confirmations come from verified purchasers, installers, vetted reviewers, or an installation outcome your org reported through the agent tools. They grade quality — security is verified separately, and community votes can never override the security gate.

Open an issue

Sign in to confirm — weight comes from verified usage, not vote count.

Nobody has reported anything yet — a success counts as a report too.

04Trust Passport

Full passport →
–/100

0/0 automated components pass. An automated score is never a security guarantee.

✓ Verified · first-partyreviewed Sep 20, 2026 · re-verification due Dec 19, 2026
  • publisher identity Publisher status verified; 1 verification(s) on file
  • malicious pattern scan No known malicious-behavior patterns across 8 source file(s) plus listing text
  • capability contract All 0 observed capability reference(s) match the declared manifest
  • agent safety scan No injection patterns in agent-readable content
  • provenance No release signature or provenance attestation
  • behavioral sandbox Not performed in this environment — requires the production isolated runner (docs/sandbox-requirements.md). No untrusted code is ever executed on the application host.

Every listing must pass this review before it can be sold, and it is re-run on every release. Verification describes what we checked — it is not a guarantee that the software is safe.

VersionChannelReleasedNotes
0.1.0stableAug 11, 2026Initial extraction.