{"id":50595855,"url":"https://github.com/rogerchappel/logveil","last_synced_at":"2026-06-05T14:01:31.935Z","repository":{"id":362017182,"uuid":"1234485580","full_name":"rogerchappel/logveil","owner":"rogerchappel","description":"Local-first sanitizer for agent logs and terminal captures.","archived":false,"fork":false,"pushed_at":"2026-06-02T07:18:01.000Z","size":43,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-02T09:13:48.278Z","etag":null,"topics":["agent-tools","cli","log-redaction","repro-bundles","security-tools","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rogerchappel.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-10T08:42:12.000Z","updated_at":"2026-06-02T07:18:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/rogerchappel/logveil","commit_stats":null,"previous_names":["rogerchappel/logveil"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/rogerchappel/logveil","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogerchappel%2Flogveil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogerchappel%2Flogveil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogerchappel%2Flogveil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogerchappel%2Flogveil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rogerchappel","download_url":"https://codeload.github.com/rogerchappel/logveil/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogerchappel%2Flogveil/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33944671,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-tools","cli","log-redaction","repro-bundles","security-tools","typescript"],"created_at":"2026-06-05T14:01:30.755Z","updated_at":"2026-06-05T14:01:31.915Z","avatar_url":"https://github.com/rogerchappel.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LogVeil\n\nLogVeil turns agent logs, terminal captures, JSONL transcripts, and chat exports into safe repro bundles you can review and share.\n\nIt is built for the awkward moment after an agent run fails: the log has useful evidence, but it may also contain home paths, API keys, tokens, emails, prompts, or private infrastructure details. LogVeil keeps the workflow local, deterministic, and scriptable.\n\n## Quick start\n\n```bash\nnpm install\nnpm run build\nnode dist/cli.js redact examples/agent-session.log --out repro-safe.md --json-out evidence.json\nnode dist/cli.js audit examples/agent-session.log --format json\n```\n\nAfter package installation, use the binary directly:\n\n```bash\nlogveil redact ./session.log --out repro-safe.md\nlogveil audit ./session.log --format json --fail-on secret\n```\n\n## Commands\n\n### `redact`\n\nProduces a Markdown repro bundle by default.\n\n```bash\nlogveil redact ./session.log --out repro-safe.md\nlogveil redact ./logs --out repro-safe.md --json-out redaction-evidence.json\n```\n\n### `audit`\n\nProduces JSON by default for automation.\n\n```bash\nlogveil audit ./session.log --format json\nlogveil audit ./session.log --format markdown\n```\n\n## Gates\n\n`--fail-on` exits with code `2` when findings at or above the selected severity exist.\n\n```bash\nlogveil audit ./session.log --format json --fail-on secret\nlogveil audit ./session.log --format json --fail-on warning\n```\n\nAccepted values: `none`, `info`, `warning`, `secret`.\n\n## Safety model\n\n- Offline by default: no telemetry, SaaS calls, or hidden network access.\n- Redaction is enabled by default.\n- Outputs are deterministic, including a stable `createdAt` timestamp.\n- Raw evidence is masked in reports.\n- Source files are never mutated; LogVeil only writes when `--out` or `--json-out` is provided.\n\n## Current redaction coverage\n\nLogVeil detects common high-signal patterns:\n\n- OpenAI-style `sk-...` API keys\n- GitHub `ghp_...` and related tokens\n- AWS access key IDs\n- secret-looking key/value assignments\n- email addresses\n- Unix home-directory paths\n- private IPv4 addresses\n\n## Limitations\n\nThis is an MVP, not a complete DLP system. Review sanitized bundles before publishing them. Add project-specific checks around especially sensitive logs, binary captures, screenshots, or proprietary prompt content.\n\n## Development\n\n```bash\nnpm test\nnpm run check\nnpm run build\nnpm run smoke\nbash scripts/validate.sh\n```\n\nThe smoke script uses checked-in fixtures under `examples/`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frogerchappel%2Flogveil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frogerchappel%2Flogveil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frogerchappel%2Flogveil/lists"}