Skip to main content

Encrypt PII, not meaning. Locally.

Project description

argus-redact

English · 中文说明

PRvL Rust Demo PyPI Downloads Tests codecov

Encrypt PII, not meaning. Locally.

The privacy layer between you and AI. Your identity stays on your device — AI gets the meaning, not you.

from argus_redact import redact

redacted, key = redact("张三的电话是13812345678,身份证号110101199003074610", names=["张三"], lang="zh", salt=42)
print(redacted)
# expected: P-83811的电话是138****5678,身份证号ID-03292

print(sorted(key.items()))
# expected: [('138****5678', '13812345678'), ('ID-03292', '110101199003074610'), ('P-83811', '张三')]
pip install argus-redact

Three Promises

Promise How
🛡️ Protected — your PII never leaves your device 3-layer local detection: regex → NER → local LLM
🧠 Usable — AI can still understand and help you Pseudonym replacement preserves meaning and context
🔄 Reversible — substring-level inverse via per-message key One-line restore() for verbatim LLM echoes; paraphrase / coref handled by compose layer, best-effort

Other tools shred your PII — it's gone forever. argus-redact encrypts it with a different key every time. ETH Zurich research shows LLMs can deanonymize users for $1-4/person when pseudonyms are fixed. We generate fresh random keys per call — the cloud sees unrelated pseudonyms every time.

Default redaction output

redact() emits per-type pseudonym codes, not Chinese label literals:

>>> redact("员工张三,身份证110101199003074610,电话13812345678", mode='fast', lang='zh')
('员工P-83811,身份证ID-89732,电话138****5678',
 {'P-83811': '张三', 'ID-89732': '110101199003074610', '138****5678': '13812345678'})
Type group Default output Strategy Reversible
person / organization P-NNNNN / O-NNNNN pseudonym
phone / email / bank_card 138****5678 (partial digits visible) mask
id_number / medical / ssn / ... ID-NNNNN / MED-NNNNN / SSN-NNNNN remove → per-type code
self_reference / 我妈 (kept verbatim) keep

To unify all reversible types under one prefix (hides PII type from the LLM):

redact(
    text,
    unified_prefix="R",
    config={
        "phone": {"strategy": "remove"},   # mask types must opt in to participate
        "email": {"strategy": "remove"},
    },
)
# → "员工R-83811,身份证R-89732,电话R-12345"

<TYPE_N> 1-based sequential token style is on the future-release candidate list (no committed timeline). See docs/configuration.md for the current strategy reference.

Privacy Levels

argus-redact evaluates your text from your perspective, not a regulator's:

🟢 Safe      — nothing about you is exposed
🟡 Caution   — contains personal info, not dangerous alone
🟠 Danger    — can narrow down to you specifically
🔴 Exposed   — directly identifies you
from argus_redact import redact

report = redact("身份证110101199003074610,手机13812345678,确诊糖尿病", report=True)
report.risk.level    # "critical"
report.risk.score    # 1.0
report.risk.reasons  # ("id_number (critical)", "phone (high)", "medical (critical)", ...)

This is what compliance frameworks don't tell you: how dangerous is it to share this specific text with AI?

Three Layers, Collaborative

Layer 1  Rust+Regex   phone, ID, bank card, email, self-reference, ...    <0.2ms
             │
         produce_hints() → text_intent, pii_density, self_reference_tier
             │
Layer 2  NER ← hints   locations, organizations, standalone names         10-100ms
Layer 3  Local LLM      implicit PII — symptoms→disease, behavior→belief  ~20s

Layers are not independent — L1 passes hints to L2, enabling collaborative detection. Instruction text ("帮我看看这段代码") skips NER entirely. High PII density lowers NER thresholds. Cross-layer agreement boosts confidence.

Unicode-hardened: NFKC normalization, zero-width stripping, Cyrillic/Greek confusable defense, Chinese digit detection (一三八零零一三八零零零 → detected as phone).

Core engine (regex matching, entity merging, restore, pseudonym generation) is written in Rust via PyO3 for maximum performance. Python handles orchestration, NER models, and LLM integration.

60+ PII types across 3 layers — from phone numbers to medical diagnoses, religious beliefs, political opinions. Default is mode="fast" (Layer 1 only, zero deps, sub-ms). Opt in: mode="ner" (+ NER models) → mode="auto" (all three layers).

Telemetry: ARGUS_PERF_LOG=perf.jsonl for per-call timing breakdown. Details →

Deployment fit — modes have very different latency budgets; pick by where you sit in the request path:

Mode Latency (per doc) Suitable as
fast <1ms Inline gateway plugin / hot LLM proxy path
ner 10–100ms Sidecar / pre-flight middleware
auto ~20s (LLM-bound) Async batch / offline review queue

Don't put auto in front of an interactive LLM call. Use fast inline + auto in a parallel audit lane.

Limitations & When NOT to Rely on This

argus-redact is a PII data minimization aid, not an anonymization or compliance certification:

  • L1 fast (regex) matches well-defined formats. Novel or obfuscated variants, cross-field inference attacks pass through.
  • L2 NER is statistical inference; out-of-distribution text (informal, typo-heavy, minority names) has higher miss rate. See benchmark results for measured numbers.
  • No guarantee against adversarial inputs — attackers can craft text that evades detection.
  • Not a GDPR / PIPL anonymization framework — anonymization is a compliance process decision, not a single-library output.

When to use argus-redact: reversible pseudonymization for LLM pipelines where you need redact() → LLM → restore() with zero PII crossing the network boundary.

When to consider alternatives: if you need one-way English PII masking with a single model call, OpenAI Privacy Filter and similar model-based maskers may fit better. argus-redact's strongest suit is reversible pseudonymization with per-message keys; Chinese has the deepest support (HanLP + native validators), the other 7 languages have regex + spaCy NER coverage. Pick by the workload, not by exclusivity.

Combine argus-redact with audit logging, rate limiting, and upstream policy — no single layer is sufficient.

8 Languages

zh en ja ko de uk in br
Phone
National ID MOD11-2 + 15位旧版 SSN My Number RRN Tax ID NINO Aadhaar CPF/CNPJ
Bank/Card Luhn Luhn IBAN PAN
Person names HanLP spaCy spaCy spaCy spaCy spaCy spaCy spaCy
Email

Mix freely: lang=["zh", "en", "de"]. Pass known names: names=["王一", "张三"].

Performance

Rust core (PyO3) — M1 Max, mode="fast":

Text redact() restore() Throughput
Short (17 chars) 0.07ms 0.04ms 13,036 docs/sec
Medium (770 chars) 1.00ms 0.05ms 1,031 docs/sec
Long (10K chars) 22.2ms 0.05ms 45 docs/sec

Pre-built wheels for all major platforms — no Rust toolchain needed to install:

✓ Linux x86_64 (glibc + musl/Alpine)
✓ Linux aarch64 (Raspberry Pi + Alpine ARM)
✓ macOS (Apple Silicon + Intel)
✓ Windows x64
× Python 3.10 / 3.11 / 3.12 / 3.13

Detection accuracy

Mode Precision Recall F1
fast (regex) 78.3% 30.3% 43.7%
ner (+ spaCy) 72.8% 41.4% 52.8%
auto (+ Ollama 32B) skipped this run

ai4privacy en, 500 samples, v0.6.6. auto mode skipped on the maintainer's hardware — see benchmark-report.md for full matrix + reproduction commands.

For context: fast mode is high-precision / low-recall by design — it only emits formats it can validate (Luhn, MOD11-2, etc.). Recall comes from ner and auto at the cost of latency. Pick the mode for your deployment shape (see Deployment fit above). Full benchmarks → | Performance →

North Star

Dimension Current (v0.7.0) Next milestone
Protected 60+ PII types, L1-L3. 0% PII leak on default profile across GPT-5 / Claude-Opus-4.5 / Gemini-2.5-Pro / GLM-4.5 in the PRvL reference suite. pseudonym-llm profile: 100% on three of four models; 96% / Bronze on Claude-Opus-4.5 (single reroll cell). Not a guarantee against adversarial inputs — see prvl-standard.md for full matrix. Cross-layer hints in 8 langs (zh/en/ja/ko/de/uk/in/br). SHAKE-256 derivation + full-salt entropy + faker identity-pass guard. State export omits salt by default; HTTP server refuses no-auth start; CLI writes O_NOFOLLOW + key files mode 0600; MCP token store TTL+LRU (v0.6.2). Windows CI + property-tested invariants + mutation-tested core (v0.6.3) + perf budget CI gate (v0.6.4) + session-isolation in integrations (v0.6.6) + README pinned-to-doctest + version-sync CI guard (v0.6.6) + compose namespace + pure-layer purity guard (v0.6.7) + seed→salt API rename + PIITypeDef SSOT + Presidio bridge through public redact + 3 new types (v0.6.8) + compose helpers shipped (v0.6.9) + Layer 1 freeze guards + KDF replay vectors + dead code subtract + manylinux digest pin (v0.6.10) + Adapter authoring surface (compose.register_pii_type / PIITypeDef / PatternMatch) + KDF replay edge cases (full-FF salt fix) + Layer 2 signature snapshot (v0.6.11) + HK/Macao travel permits + housing-fund zh L1 coverage (v0.6.12) Adversarial testing
Usable PRvL U=100%. Pseudonym codes + realistic mode (zh + en + RFC shared) + per-call strategy overrides + keep strategy (whitelisted) + resumable streaming sessions + incremental streaming default + cross-language alias restore (zh ↔ en) Task-aware guidance
Reversible PRvL R by task: reference 100%, extract 50%, creative 0% (by design). Cross-language LLM rewrites (张三Zhang San) auto-restored via result.aliases + restore(text, key, aliases=...) Task-aware guidance
Compliance Meets PIPL Art.28 sensitive PII categories, risk assessment + profiles PIPL/GDPR/HIPAA (byproduct)
Coverage 8 langs, 4 LLMs benchmarked, 6 frameworks Browser extension

Risk Assessment

# Assess risk before sending to AI
report = redact(text, report=True)
report.risk.level         # "critical"
report.risk.pipl_articles # ("PIPL Art.28", "PIPL Art.51", ...)
report.entities           # detected PII details
report.stats              # per-layer timing
# CLI
argus-redact assess <<< "身份证110101199003074610"

Compliance profiles: redact(text, profile="pipl") / "gdpr" / "hipaa". Type filtering: redact(text, types=["phone", "id_number"]) / types_exclude=["address"].

Realistic Redaction (pseudonym-llm profile)

Default redaction emits placeholder labels ([TEL-79329], P-164) — clear for audit, but breaks downstream LLM reasoning because the message structure is gone. The pseudonym-llm profile replaces PII with realistic-looking but reserved-range fake values (e.g., 19999... mobile, 999... ID, 999999... bank card). LLMs reason correctly; humans can still tell it's synthetic if they know the convention.

Each call returns three text forms sharing one key dict:

Form Example Use for
audit_text 请拨打 [TEL-79329] 联系 P-164 Compliance archive — placeholder labels are auditable
downstream_text 请拨打 19999123456 联系张明 LLM input — semantic structure preserved
display_text 请拨打 19999123456ⓕ 联系张明ⓕ UI rendering — visible marker prevents confusion
from argus_redact import redact_pseudonym_llm, restore

# Chinese
zh = redact_pseudonym_llm("请拨打 13912345678 联系王建国", lang="zh")
zh.downstream_text  # "请拨打 19999123456 联系张明"           → LLM
zh.display_text     # "请拨打 19999123456ⓕ 联系张明ⓕ"        → UI

# English
en = redact_pseudonym_llm("Call (415) 555-1234, SSN 123-45-6789", lang="en")
en.downstream_text  # "Call (555) 555-0142, SSN 999-37-2811" → LLM
en.audit_text       # "Call [PHONE-23801], SSN [SSN-15772]"  → audit

# Mixed (auto-detect)
mx = redact_pseudonym_llm("客户Wang at user@company.com", lang="auto")

# Round-trip works on any of the three forms, in any language
restore(zh.downstream_text, zh.key)   # → original
restore(en.downstream_text, en.key)   # → original
restore(mx.downstream_text, mx.key)   # → original
# CLI emits all three forms as JSON
echo "Call (415) 555-1234" | \
  argus-redact redact -k key.json --profile pseudonym-llm -l en | \
  jq .downstream_text
# "Call (555) 555-0142"

Reserved ranges:

  • zh: 199-99-XXXXXX mobile (sub-segment unassigned by 工信部), 099- landline (no such area code), 999XXX ID address code (GB/T 2260 unassigned), 999999 bank BIN (银联 unassigned), 滨海市 fictional city.
  • en: (555) 555-01XX phone (FCC permanent fictional reservation), 999-XX-XXXX SSN (SSA never assigns 9XX), 999999 credit card BIN, John Doe / Jane Roe person, 1313 Mockingbird Lane address.
  • shared (RFC): example.com / .org / .net email (RFC 2606), 192.0.2.0/24 / 198.51.100.0/24 / 203.0.113.0/24 IPv4 (RFC 5737), 2001:db8::/32 IPv6 (RFC 3849), 00:00:5E:00:53:xx MAC (RFC 7042).

Argus Gateway integration: response headers should include X-Argus-Redact-Profile: pseudonym-llm; UI clients render display_text, LLM clients consume downstream_text. Storage of downstream_text as business truth is unsafe — it's synthetic by design.

Real users named like canonical fakes (e.g., a real customer named 张三 or John Doe): pass reserved_names={"person_zh": ()} (or person_en) to disable that locale's canonical-name pollution detection so the real user's name flows through normal redaction.

Streaming

For chat sessions or long-form input where text arrives in chunks, use StreamingRedactor (input side) and StreamingRestorer (output side). Both require complete logical units per chunk (sentence / paragraph / turn) — entities split across chunk boundaries are not handled.

from argus_redact.streaming import StreamingRedactor, StreamingRestorer

# Input side: redact each chunk; same original value across chunks → same fake
r = StreamingRedactor(salt=b"my-secret-salt", lang="zh")
for chunk in input_stream:                  # one sentence/paragraph/turn each
    res = r.feed(chunk)
    send_to_llm(res.downstream_text)

# Output side: restore LLM output stream at sentence boundaries
restorer = StreamingRestorer(r.aggregate_key())
for chunk in llm_output_stream:
    restored = restorer.feed(chunk)
    if restored:
        print(restored, end="")
print(restorer.flush(), end="")

True byte-level streaming (entities crossing chunk boundaries) needs full incremental detection and is roadmapped for a later release.

⚠️ Realistic-mode output must not be re-redacted (it would corrupt the key dict). redact_pseudonym_llm will raise PseudonymPollutionError if called on already-faked input — call restore() first.

Full API → · Design constraints →

Integrations

Install
LangChain / LlamaIndex / FastAPI core
Presidio bridge pip install argus-redact[presidio]
MCP Server (Claude Desktop / Cursor) pip install argus-redact[mcp]
HTTP API Server pip install argus-redact[serve]
Structured data (JSON / CSV) core
Streaming restore core
Docker slim 157MB / full 5GB

Security

PII never leaves your device. Per-message keys prevent cross-request profiling. Full security model →

Meets PIPL · GDPR · HIPAA technical requirements as a byproduct of its privacy-first design. Details →

Documentation

Getting Started Install, first redact/restore, key management
API Reference All parameters, return types, streaming, structured data
CLI Reference Commands, flags, serve, MCP server
Configuration Per-type strategies, enterprise mask rules, false positive reduction
Sensitive Info Taxonomy, privacy levels, roadmap
PII Type Catalog All PII types — strategy, sensitivity, PIPL/GDPR/HIPAA mapping (auto-generated)
Architecture Three-layer engine, cross-layer hints, pure/impure separation
Language Packs Adding new languages
Security Model Threat model, compliance, per-message keys
PRvL Standard Open evaluation standard: Privacy × Reversibility × Language
Layer 3 Benchmark LLM model comparison, prompt design, regulatory analysis
Benchmarks Evaluation against 9 public PII datasets
Performance Latency, throughput, benchmark results

Contributing

CONTRIBUTING.md — language packs, test scenarios, framework integrations welcome.

Contributors

Who Contribution
@aiedwardyi Brazilian Portuguese language pack (CPF, CNPJ, phone)

License

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

argus_redact-0.7.0.tar.gz (299.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

argus_redact-0.7.0-cp313-cp313-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.13Windows x86-64

argus_redact-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

argus_redact-0.7.0-cp313-cp313-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

argus_redact-0.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

argus_redact-0.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

argus_redact-0.7.0-cp313-cp313-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

argus_redact-0.7.0-cp313-cp313-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

argus_redact-0.7.0-cp312-cp312-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.12Windows x86-64

argus_redact-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

argus_redact-0.7.0-cp312-cp312-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

argus_redact-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

argus_redact-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

argus_redact-0.7.0-cp312-cp312-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

argus_redact-0.7.0-cp312-cp312-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

argus_redact-0.7.0-cp311-cp311-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11Windows x86-64

argus_redact-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

argus_redact-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

argus_redact-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

argus_redact-0.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

argus_redact-0.7.0-cp311-cp311-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

argus_redact-0.7.0-cp311-cp311-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

argus_redact-0.7.0-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10Windows x86-64

argus_redact-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

argus_redact-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

argus_redact-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

argus_redact-0.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

argus_redact-0.7.0-cp310-cp310-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

argus_redact-0.7.0-cp310-cp310-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file argus_redact-0.7.0.tar.gz.

File metadata

  • Download URL: argus_redact-0.7.0.tar.gz
  • Upload date:
  • Size: 299.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for argus_redact-0.7.0.tar.gz
Algorithm Hash digest
SHA256 53af1968c142bb6af37297c456cd50a9b829bce2d6e8801a49647e125133bd1c
MD5 c1bf4ae98ce3cfc4679cb6bd07edca31
BLAKE2b-256 d2176859d1dbaf4c54320b6c9947d9e479ffecf2287ec3861c713be447c8ccdc

See more details on using hashes here.

File details

Details for the file argus_redact-0.7.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1c3816304196ccd977e21dca12d5dadd7d5cbe235f1e2f43dcd5aa813524fc50
MD5 66584db059e791b7ba292574cc616fab
BLAKE2b-256 5043b20b20879750d13daaef2316c0f07906b360fbc46a92f137c5951cb87620

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp313-cp313-win_amd64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4360f6aaf80b941d7742819a89041902f480055412fd880b5baf12f69ec4a8be
MD5 e871b8fde183a51e29d7691971a81026
BLAKE2b-256 596a1ea6ab904a89fab1f7447609f552fca41c62fe3725cc2b4e618b35ba2f62

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 62961a8642903bdecc01357e0736e5094d58e628a9eed1173a2a5e223aad2c37
MD5 f3268d22c35a173a6f66f3304234f964
BLAKE2b-256 7e3c51b8bec54f44cb2acc598835718d5e79de991b7d2bfb11925711c2084955

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1c72e50e72ca01ccbec667815cb42b8ab4cae3d82f0576f5822250f429fdd18
MD5 cc7b09efdc0a0a30cfb96f40fad6c9a3
BLAKE2b-256 e5be5ee9061e3a3ae8a7e6b59c9f81562d74905f15c3064bc0180ef280c86451

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f1be75fde9b2974b6c93e70f240d864b2f143dd01f9a8113296e00d48a6d92e2
MD5 74ae0bec6450af075ee24d334459340d
BLAKE2b-256 967feba95ed45e7e6ec2fd5680f6011f88a5ed370a76cc9367135b091c00f049

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 81a8381143ce49ddb7ca6538bbd422984b0fa77bd5f4748f1402c8d68071c33c
MD5 0e5e57646629f500e373008308a4f487
BLAKE2b-256 543ac6a07368e0e418e6c77858bb4aeff5313122ddef0706aa3883fbb31c27a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c97d4c8964b83732d817896a414e53c41a7003e93ffadb423809c1d257441774
MD5 4d3703b32f7a047c979b38c5ff036589
BLAKE2b-256 10aab3b0ebf90cd6a60ef7dbccb10b3891da528d2f5020b64695804ae0a2cccc

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0273df061b23d9429112816127bfccc600c2dd4db893d93b214c7e9b0f2f9d07
MD5 bf5bad0e600f4f5215190e444e1536ac
BLAKE2b-256 29103fc31f15fd6fcd5c3399240c73f189f239c2c581929948917b497f4e28fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7de369b8ddc58525bb16dcfeb5e541d654130aea05b4f2563bacec4ea70b9988
MD5 d5fe934cc17663314a82e6f3ebefbd7c
BLAKE2b-256 7b9f3844eed0deae607c092e7e516934abdf318065b53d52414695b9a5015fab

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a2167c3cd339f627869e19d24f4bbe387c6eb1caf0b7bf976b0488b3f7a1e9a1
MD5 af36f37e64a6f6923b0a87056ff8c931
BLAKE2b-256 08bfc0035378ce7f88d1e5883e28cd137d66c1052606e37085809b7c1d64c46a

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 570de911d0624bd7f434b00def871dd371eaf017e56f57653a10888855379995
MD5 4becfb9ad44bb638bb7060537214f726
BLAKE2b-256 337abd83ed053058df98d83464fa499f8fe2485ca7557a33ae5af1b3fdcd6c7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 11b0f496b6a1202c0d3abe525bd5ecca8b98e02f69acf95c8381e0716e98a211
MD5 3cf3ce42253274e3222e24926c914664
BLAKE2b-256 5002bdf0f7290b0c4a5c76f445357f716302618469d13b633b65f1a915b85933

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9f471a31efbc70c806466f8b6a485d9d9a9a6a08c379141f6cdeba9349d26d42
MD5 66e4187987d2c48ce09fdab416916cc6
BLAKE2b-256 c7ea7281aad3847bea96c8678a5abe6223d13f1f79580b94633da6e1d4a5f83f

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0a66424fbc91fce8559bb1719f26e1b6ac1fbae75691e21e5583e90ba2255400
MD5 d17e77fc84e3d3aa02ab030abd819861
BLAKE2b-256 e2e0162b54fde610f6875f71b873c46107c79eb1ddca5a1484981a00ded230bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 35404a4bd0b4bc9b481f2e48eafd0a7b349c26fd873b7bac5231004d27e36ba4
MD5 7a7cf1b8d11cd2ae8b0f949c33861cb4
BLAKE2b-256 526e0cde899be0250f084ef4ea67f953ac631095ab1e831dbc6ddfec3104b7b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4cebcdc607ebcb46e984bed308598984cf9ba38a38c42b4a6e838dfa8809bfb2
MD5 32cd09cbc7a72dc38cc4d13d59bddfac
BLAKE2b-256 0fbdd64902aa20331323b57b2c13eed1e2193243dab923edb3d7de437b9b1f2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 842c39c07a3ae799bda99549a267c17e97c9b73af943488740537903810fbc3c
MD5 bab49e921baf00f942c079be55bf68c5
BLAKE2b-256 c9063f495a5125c8073d0e1d134910836969fcdbb3438ddd898a77cf5cbb9537

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 17b6a1f8bb56b9bf97afbb74bc711790e4080923d631339a6cc1142eb23cf59b
MD5 c125176e11781c5dcd98a75bdf3ce612
BLAKE2b-256 db03015d7a7f2cf292bde7bc7282329a5784923e7167e5e12a8ae60a50035473

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d41e0d570dab74660de71e2984b8bf67df03c38f61016386c5cbea8d93e1276f
MD5 db7dceb2e75c61e1fd2c965111e26148
BLAKE2b-256 821e0224819b8db93eaed1ecbf41ecfd660674c88abb2eb0eb1a4f7eeaac4fda

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c5f922c5da0903ddcf2afbfd96643b62a6d1d901b9beb7e5c6cf3e3316be1bb
MD5 1ade8c8a62f33d2080105c081e0d81ac
BLAKE2b-256 ca7f5661ce3dd44d9be7df4f7f0388fcdc8e6b7ee06987ce912fc19c0b3b3159

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 216fbf35c0923f63abea024c1575958f76c20f0c4a49ddc0cc02369a845e3e5b
MD5 c8957c48ab6474e444f64f3dd54762b8
BLAKE2b-256 970a1552cf5ec1b6b4be8ad2d1b8295455b586fae2a012abc20ef229b81ded9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2b8a4667d07fc6947010243c2a0652019da623296219afdbdf7131533af85fef
MD5 0bf3f9d131f7c90e8544c6578a762f41
BLAKE2b-256 fcd5e7aeaf7f05c6b174c4586301f8a7adf415c5d5404908eb50ced9ba766021

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp310-cp310-win_amd64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4790664d5edec51399796867ee2a8a21a9ff33d152e2f6b53cf4b9f253babbca
MD5 c5190736af6b10a7f965b19fbcf26743
BLAKE2b-256 748c25c70c9913d0536610c7c0ce6233eb6d69e62135fdc61b4ce4f3c33c7f15

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7a663c4b6826d66a131ed7c761247ce06056597ca2ac9ffc59eb783f9c7e0ac8
MD5 bed8104d16633315045071cd2366d52b
BLAKE2b-256 5be467836241350f2aae967baf184ea88c635ef1a148d1a17678bf51e23fa100

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 63994f06da2e132030aaedb89bc18ea71994900fa15ab1c61e4cda53233b6aa4
MD5 f6e5e4890297811948be04df64e6ecc8
BLAKE2b-256 e26bbb08f6d4f5526e6a5775e8ca3b0b80fe0076da971934901602a7dcc2f1b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b23f0dd00e36fe893b1116392f9f540ae471cff48f8bb577007bf975d568a9c0
MD5 4ce809f7d32731c0d8b62b3f9cc0424b
BLAKE2b-256 424eb234ce147313a421c5b5b197ee32fd3240d79cc4ca39f413298d132e2c86

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 474837f5aae7c76540a19b9c75a3d66375080c7a663495fa6bc8bf8e76dc48a3
MD5 8a91dcf51c6c256b8e41a6f881d7b3f3
BLAKE2b-256 5c75d75e48bfd0b2bea9e3920cadc9b386778b7c3725e394166e793ce6c0fba4

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_redact-0.7.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for argus_redact-0.7.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 74b9ef0d6161af7c3922524cb857b30664f6d92d8eb02479b85ef89866651bf2
MD5 4f9fc735877ed2066668b8b287e866e5
BLAKE2b-256 47fe571037a2e1f005a8d97c04af456267efa64abd6e59745c6ceef76207806c

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_redact-0.7.0-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: release.yml on wan9yu/argus-redact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page