Skip to main content

argus-redact

English · 中文说明

PyPI crates.io Tests codecov Demo

Encrypt PII, not meaning. Locally.

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

Rated PRvL-Gold on the PRvL reference suite — see the spec for what it measures.

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.
  • Removing explicit PII ≠ anonymity. LLM agents can re-identify individuals by combining residual, individually-non-identifying cues with public data — even on redacted text, even during benign tasks (Ko et al. 2026). Reversible substitution protects explicit identifiers and preserves LLM utility; it does not defend against inference-based re-identification, which a per-document redactor cannot fully prevent — the residual comes from combinations of quasi-identifiers, not single fields (why coarsening one field doesn't fix it; and why detecting more English quasi-identifiers didn't reduce re-id either).
  • 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=["王一", "张三"].

Benchmark scope: only zh and en have committed recall benchmarks. The other six packs (de, uk, br, in, ja, ko) ship L1 patterns + NER adapters but have no measured recall — treat them as best-effort and reach them with an explicit lang="…". They are not auto-selected under lang="auto", whose script-only detection resolves all Latin-script text to en. See language-packs.md.

Performance

Rust core (PyO3), mode="fast" — p50, Apple M-series, Python 3.11. Reproduce with python tests/benchmark/bench_l1_rust_vs_python.py:

Text redact() restore() Throughput
Short (17 chars) 0.03ms <0.01ms ~29,000 docs/sec
Medium (770 chars) 0.75ms 0.15ms ~1,330 docs/sec
Long (10K chars) 9.3ms 0.18ms ~107 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) 81.6% 31.9% 45.8%
ner (+ spaCy) 74.9% 42.8% 54.4%
auto (+ Ollama 32B) skipped this run

ai4privacy en, 500 samples, v0.7.9. 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.20) 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). v0.7.x — 100% Rust core SSOT: argus-redact-core crate + crates.io publish, with patterns/validators/normalization/replace+restore/fakers/person-scoring + the full L1 redact/restore engine ported to Rust (v0.7.0–v0.7.8) + fail-closed hardening & detection-correctness (v0.7.9–v0.7.10) + in-browser wasm build (v0.7.11). v0.7.12 — quasi-identifier detection breadth: evidence-gated zh bare-region, occupation, medical condition/allergy, and hobby (new type) detection via a shared evidence_detector framework, plus a re-identification eval (PRvL+ X-axis); the unreleased generalize strategy removed 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

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.20.tar.gz (610.4 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.20-cp313-cp313-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.13Windows x86-64

argus_redact-0.7.20-cp313-cp313-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

argus_redact-0.7.20-cp313-cp313-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

argus_redact-0.7.20-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

argus_redact-0.7.20-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

argus_redact-0.7.20-cp313-cp313-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

argus_redact-0.7.20-cp313-cp313-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

argus_redact-0.7.20-cp312-cp312-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.12Windows x86-64

argus_redact-0.7.20-cp312-cp312-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

argus_redact-0.7.20-cp312-cp312-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

argus_redact-0.7.20-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

argus_redact-0.7.20-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

argus_redact-0.7.20-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

argus_redact-0.7.20-cp312-cp312-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

argus_redact-0.7.20-cp311-cp311-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.11Windows x86-64

argus_redact-0.7.20-cp311-cp311-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

argus_redact-0.7.20-cp311-cp311-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

argus_redact-0.7.20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

argus_redact-0.7.20-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

argus_redact-0.7.20-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

argus_redact-0.7.20-cp311-cp311-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

argus_redact-0.7.20-cp310-cp310-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.10Windows x86-64

argus_redact-0.7.20-cp310-cp310-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

argus_redact-0.7.20-cp310-cp310-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

argus_redact-0.7.20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

argus_redact-0.7.20-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

argus_redact-0.7.20-cp310-cp310-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

argus_redact-0.7.20-cp310-cp310-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: argus_redact-0.7.20.tar.gz
  • Upload date:
  • Size: 610.4 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.20.tar.gz
Algorithm Hash digest
SHA256 daa89a886d97cd49a9285210f8ba2bcc8d23e794b4e934df52eb1c52874ac87c
MD5 629d3b26e4ff39ed16a9a75df2eca83e
BLAKE2b-256 f9c2992f30f3d946a29db3ee3f83e809343b939c55031cf5c080bc5c650473db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4b64615c9f4785719828f6c46b03e365eaba8e6c63d4229ef8135fabfd9257f6
MD5 d0208856df64fc55cc317d99cb8287fa
BLAKE2b-256 7d5cdb17214a80a178b66022b60b2473fd2f35fc21b2794a6b0ab08cf886836b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5a560f32592de25b951368bb50497bfd5aaec8edc8f043425b27390ee0fdb2d0
MD5 e634e0710ffddc6323f7844aaff2ef43
BLAKE2b-256 8f6f06df310f9a0c077bc5c768ed45b8c88a74b4b18a13e94b3af91f758f5eab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ea9dec09b96d25610dbd46ac0c46afe224eef6f95804cfb369e21dc1bac0ecd0
MD5 e065a2b49c5c5d022e13fa690f1a101f
BLAKE2b-256 3ca8cec941ecb83a5112edf6235dc12f7f968060ea54acc43e1c6b18c1015e7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 41f192cfafb89b7e583cf02d9208b4e2f5b6fae09b00c82cf307a761fb3d48b6
MD5 7b0f6d79d629bdf8dc4a29dfe3347e41
BLAKE2b-256 fbe5851e49c136c35790c4fa5f93697769a40adaba59fc7cdb2434fb43e5232e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ea08b13db1254ecb6a8c025ca317dabfdba3c45a251de1cc6f5e5b53abe4928d
MD5 3eb6010330013d8b9e22608c3001306a
BLAKE2b-256 6c4d3fdafe2eede76eb792e3937663792950cdc25bb79c1170c4ed63df7a5bce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e48e3e1a27f585e98693b65223417075b1e1e7717264c57a06613894ccbf6a61
MD5 abd407d6a8bf10b3e78d84056954f236
BLAKE2b-256 9dda52f03f1346cb31374474ac07572b96b8643697dcb79a496675cd19f4c76f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 938bde969487a9d221639508e9b3e7e05dfaee8438aaaf7fec6f8c915e2e9013
MD5 5315627adca698a04e0b70a1700c6474
BLAKE2b-256 2a0fc4cbf931a54d99e4388b912b800d6dc9823b003b33e791a9173784d708e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fb3b3abf8927ead3334e64f798ad8f8f77f9f33e41d3ec6a5c26db2300607cc2
MD5 188fedd546d5d145dd5b60a5b735bab6
BLAKE2b-256 94d95f1aa90f03128566e98c3c3937f7a16eeb878f1e97574d5691ad38a420ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 aa28f706449d98a18a68fbd3f916c17699e1fb4009b5e9d5f64dd22a86aa1580
MD5 bf8f79a74a75e61106eb1951f4c13dd3
BLAKE2b-256 52a41f636e61e9f02aeb433b4f060e5f4310f59e18c0295136ff7b1f048caab1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7a5e574b9aaf943ab1641c91628969af969b46f8b3647c90e4dc251dcf0f2554
MD5 787f406abb13695668b4e06fca64ac1c
BLAKE2b-256 e1514a750cf48a27491bbd173f2404ccacab8862041e4b1fc493b7df97ee6135

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 19335b620cff1f44e3498e1c91af1c0feb78c9b51d5b4fab044e4b50fa532ac4
MD5 82762511b23da1770b9e83398c9b8d7a
BLAKE2b-256 3bc032ae8bb99ce45d4993e234da187a8f1438a4eaf55a5f6524e7310b190155

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1e8df0d0a04b8831ca6823399dfa3572291d182fe5800fecb64e31658a3c24de
MD5 231f77873d7900b18b6430ff0f1f097e
BLAKE2b-256 82e91ed15bd5202529c1f489da9ac53b3e90fa1492825d9e60270c64ec1cc8ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8c3699d1ead4e2d4853e0f590f89551192b024515969b4a34821ef16a36f94c0
MD5 e9b025ba320af5ea467a328511c92eed
BLAKE2b-256 3cd6eb235580f76db258e63181c275777f462eb9fb2ff55e085fdf28b3b5a385

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4a1c30182a696024d3049370e0edea286f68bdce7759671b21d39cb2d3cc37d0
MD5 04de43b69e611a591cf309ee297dc358
BLAKE2b-256 f99eb4ed1a113e4c9557a909c6f9e338413d2232f6f5f05fc39dcf0c24dcf486

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 43842fe92204ecfda28a053aa9519e010c41d91a53fdb5d929b91f8dce4787c5
MD5 b8c0aa1485c8e5aa9fc4157d26c0c219
BLAKE2b-256 6a97fe156143ea1ef97a392b9914c38095d41dcf0556eefec3722fb921bdbe72

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d36c94c8393c87fd491200263eb3db4bdf07803de953fc4890ddaf6184e001d1
MD5 ceb9da522ed4e64d6edf4c5319ed0af6
BLAKE2b-256 d196ba516e9d1b967d27b64ae259e3c34757ac61435957e97c90fa9cd2421bad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ad6ef613088a8edb27838e3f379fb10924b06bb9733b24fba3c2f86c00938ad4
MD5 f51403dae64bd08ede3a1b6ce8add590
BLAKE2b-256 a58e2fdb9dbf205cceef59a5fef91653f773e30d91bcb0e15eef4aee1b831975

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e02ba4d02e4586ca063401e8e13a2d8cc67382c570afc0cb1cce1f7517ed9bd0
MD5 99dc33c6df85032b6f7e21e554e2b142
BLAKE2b-256 e9fc3f321a7f70ceed570911b91cdb547ffd7d0a4c60b47c4f85b8fc820fdda0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 74abade0abd53c880e12d0917dc6b5add4ce379f26ca9befb54609610f34d1f5
MD5 6621d52dec61e8a24c0b1003ae9d5932
BLAKE2b-256 9740919f69f8199c64ec580627b29c77c62ef8324938b20490c37cba9a9f86c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 048c569e17784018d382841007980c51bf50eb39629e23fb477f80790a4d1109
MD5 05c939a8791cd7d0cba3247e293c979a
BLAKE2b-256 c11e408351ba3987d149ca30f496ec811d89baedefd5a60f754842165601fdba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3f9a4e901b86ab963519f47e692c22341c0ca079c18261ce2d24f3eab71ee604
MD5 f5403c52deb5ff81d002b616ee8bc8cc
BLAKE2b-256 58a9f37d96f36935ba48d4ba9f01dac5dcb678bc4dd284f00320ca6d4d40891c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fbc6c969dfce4d656eb8fe12a705e0ce199325cb8a2436217febfd90865f40ba
MD5 000e12d4a15b74c2213947b76041244a
BLAKE2b-256 f383cb956b12c476705541bcaee1069e7dc89a18be3760d708fbb1826b5e9709

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 09215447c58873d1716748768f27579d5505052492f06a2d8dcaeda8496792ac
MD5 8172cc575a9bdbba4f2e4e59fdbcfed1
BLAKE2b-256 a12b99fe9f9b9e6b3f4e23a94af3cc45c0f25b23c36e8b2648e9e4057767359f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 aa97c2c5ee07b9523ead1bb774758cc65e00da2a026d2584a8c8977601b2d6c7
MD5 0cde945102920e6574117fa76865066a
BLAKE2b-256 a588515c83e259bfc6bd486bcb4d6ad0529d9221d0c008bde085c57400b99f00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 99e976b2f443f5f0f07ee15fce2a61c97f2fbcc2861210898218e4048caa5cba
MD5 ececd3cb9cf28de25d53ac4f3bf41aaf
BLAKE2b-256 e947e87dea5a7f447c47ebb661851ec8b49da00a1ee2ecf91cdc50ab0a30ce0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eb39da2180f88e08f9b0e17a0c82a1e9f7695425c10a1168b9a342e723400057
MD5 45f0f74f1d3a52405bb60f4ba04679db
BLAKE2b-256 89a3cb04ac2c221c752a1ca3c43f951a9080de8d1f9c5b1d74e6e3d50efc30bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 88e90cfee65584d8ff514c4bdef99eb4241f247c68e5d46881f896186203afb3
MD5 ca35c66b4f827f9e7d0eddcb39d35c59
BLAKE2b-256 3c1013db23db0f0e8d7c12807d0b2a0775973cc0cf9ed3c4484b4137ee1e3142

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.20-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 68a0d6337de2920f1f67ef7d3ca662c29c00b0e487cc80c7fa003d4a5596e811
MD5 2c64e3e47f1890599ff41e301dfeccea
BLAKE2b-256 65f9b0463a58775a3b90283e86ab0cd1304d257765bf16494b867929a7fb3437

See more details on using hashes here.

Release history Release notifications | RSS feed

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