---
name: ShadowLock
description: Use when comparing an observed outcome to a counterfactual without storing PII. Change is optional. Truth is not. Hosted /v1 via this Worker or aziel-runtime. Author Aziel Eliab.
---

# ShadowLock

Change is optional. Truth is not.

Author: **Aziel Eliab**.

Use when comparing an observed outcome to a counterfactual without storing PII. Change is optional. Truth is not.

Always send `User-Agent: Mozilla/5.0`. Cloudflare Workers may 403 an empty agent.

## Endpoints (this Worker)

Host: `https://shadowlock-download-tracker.vibelock.workers.dev`

| Method | Path | What |
|--------|------|------|
| GET | `/v1/health` | Liveness. Does not increment downloads. |
| GET | `/v1/skill` | This markdown. Does not increment downloads. |
| POST | `/v1/observe` | Observe {observed, counterfactual}. Not stored. |

OpenAPI: `https://shadowlock-download-tracker.vibelock.workers.dev/openapi.json`

Catalog OpenAPI: `https://aziel-runtime.vibelock.workers.dev/openapi.json`

MCP: `POST https://aziel-runtime.vibelock.workers.dev/mcp`

Catalog aliases under `/p/shadowlock/…`.

## How to call (Mozilla/5.0)

```bash
curl -s -A 'Mozilla/5.0' https://shadowlock-download-tracker.vibelock.workers.dev/v1/health
curl -s -A 'Mozilla/5.0' -X POST https://shadowlock-download-tracker.vibelock.workers.dev/v1/observe \
  -H 'content-type: application/json' \
  -d '{"observed":{"id":"job-1","outcome":"done"},"counterfactual":{"outcome":"skipped"}}'
curl -s -A 'Mozilla/5.0' https://shadowlock-download-tracker.vibelock.workers.dev/v1/skill
```

Grok: import the catalog OpenAPI as a custom tool. ChatGPT: GPT Actions. Venice: HTTP tools.

## Local (after one-click install)

```bash
curl -fsSL https://shadowlock-download-tracker.vibelock.workers.dev/install.sh | bash
shadowlock ui
```

Then open http://127.0.0.1:8764 (this computer only).

## Honest banner

THIS IS: a counterfactual observation envelope with hashed ids. THIS IS NOT: a people profiler, PII store, or truth score. Zero-retention on /v1. Author Aziel Eliab.

DOI: https://doi.org/10.5281/zenodo.21435707  
Record: https://zenodo.org/records/21435707

Apache-2.0 (or the repo LICENSE). Forks are welcome and always allowed.
