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

Uploaded CPython 3.13Windows x86-64

argus_redact-0.7.19-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.19-cp313-cp313-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

argus_redact-0.7.19-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.19-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.19-cp313-cp313-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

argus_redact-0.7.19-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.19-cp312-cp312-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.12Windows x86-64

argus_redact-0.7.19-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.19-cp312-cp312-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

argus_redact-0.7.19-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.19-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.19-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

argus_redact-0.7.19-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.19-cp311-cp311-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.11Windows x86-64

argus_redact-0.7.19-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.19-cp311-cp311-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

argus_redact-0.7.19-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.19-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.19-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

argus_redact-0.7.19-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.19-cp310-cp310-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.10Windows x86-64

argus_redact-0.7.19-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.19-cp310-cp310-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

argus_redact-0.7.19-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.19-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.19-cp310-cp310-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

argus_redact-0.7.19-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.19.tar.gz.

File metadata

  • Download URL: argus_redact-0.7.19.tar.gz
  • Upload date:
  • Size: 605.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.19.tar.gz
Algorithm Hash digest
SHA256 73b78f3362d6d8fd94a763588615e864f570ef54929e3b8d71dc585b1d121955
MD5 111a5b4b8c6af7dbfc961034dc30e507
BLAKE2b-256 66ee38353fb8e228decaff83220f709830f436c891a0dd03a4cf3559f566c4f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 55a69f9ba22c34ab70d59e2bd5354db5931162ac269398c51ecb2486a77e76cf
MD5 09d3c53d0d11e01b7ea9cfdc31fcddd4
BLAKE2b-256 7c454940d698ce612c600d2bb2ed5f7ec313fe9e5cf2564effb5d2d1fd7cbcb1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 eaa201a5e92f8046c1f501ff0e0dadb5576ba4e2b5e343c839eaaa04689c0d01
MD5 86ec9c5a91b49855a661289df5255dce
BLAKE2b-256 d7a94c8dad7b5fd000af59afa2b2214d2ee21485291d3c7533d9d64a78975cbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b9390906853c525f2e73b1446c9dac551abdf46ae5edad3ff38be1a6b225da8f
MD5 6e2e18091b64df43e07d22d799155443
BLAKE2b-256 6332800c6e03d15829324803638e815cd50c05d45daaa9b27ac5b51a9474206e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 413feee64502d872257e50e0cd7e8c1ce910323104758f724042df43e4958d0b
MD5 62ad6403ffd87e7c1f101a0f3d932727
BLAKE2b-256 d48d5bed4bb70dcf32fc2bddbebd1469e50f65156480f6db04c3bc0222467369

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1608b4c1fcb86fb977abe72a714a26abedaaec31f482e98fc28210ea30dddecd
MD5 ed779d29c6d124e8ab2ebf866aed001c
BLAKE2b-256 2aff861468f22604fcdd0509c344f2145e80120361454f23a012f070ca2fee02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 004268f271e0be077621f835571208d8964e53e7a298e403e65822fb92a3c727
MD5 7fa73f8941edc6bb94f7c0f37b0bc090
BLAKE2b-256 ae8a64e238883132ecda18fe3babdee4e9bd2559e2453cdcfe5c30a1d25ea049

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 35ef0290f891983464f3551736d55f533430c6266e71203016df3240cb3c0b0d
MD5 c0c6bf02f62ffc05ee4136f3d0ed7bea
BLAKE2b-256 14c3dda6681f2bc348641e25acffb6f781ab875d583a62bfb38bc6d0b39e5221

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2a755045cc5f42983906b66ae980af594fe4a7b69bb01a2c5e5eb87d6eb7f29a
MD5 f5913f7765d79bf7ef4d0e187c94df27
BLAKE2b-256 4ac01455e31b6b0d9b08fde2d76087101719bb1df3c30f42332d90a8204e94be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b63268f5609c0bd30253597d0402c478ac124a8b7bf058c5407129fc2e6596b8
MD5 fb008c2f49a6299dc7aa8f4016f182f2
BLAKE2b-256 8a3319de672d7f7895556d3977b1887566860d1dabe7e5ce79d993e04e4aa42a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2bebc7f1177dcbe8d3b3e51de0127376426d2c63b5447ab8929cd7534d6374ff
MD5 12ab8d81849b1e89f56a2e41fc3f7c8c
BLAKE2b-256 e1c10649b18d383241c7d05cc369953135381358074cb1408f5c042a3f426a93

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8024b6df02f98b55a4a3252c66f0243b5a23652b89252411774b0aed7409cf79
MD5 5227803358467aa9b2d00aa071632ab5
BLAKE2b-256 ddb744a27ba5895036d6a00528e31acb220cb2079b0a0fb0615817a2b0d5ed7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9a9739dd1bb8da2338fd50b346c91328accbaa59f55f2f49d1f408e5869fb1a9
MD5 684ad29a28a3e63ee7d2151d0e9c646f
BLAKE2b-256 8d226eedfb18f4884cbfbb8251ebc16f7caf3e84177d6b0cda70a5265a7a6843

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8b7ca706ace74844c7d005fbb8af49f1ce3a2fe3be5f4288f0ddc0afac1680a9
MD5 d161f7bb18e116c95501ce9a92c59504
BLAKE2b-256 3b0358079d93cdec4bd77db5bba7f8506c81505dac1292b58eeb9dc321216bef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d942bb482d6fc7df2a9cdedbb13c3c6a03e94cb5f72fa35c0d2f634da1291b19
MD5 820ecef4f77f40c89d10a269bb8798fc
BLAKE2b-256 0d3fb03897c2e0dbae5bf9c2b14af5e5ae4dedb27ee5cc10a14f3039c20d7a9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 766ca7030a47949f5e219b0976b42ae6aa41fe9915cfffb3582653f6071f12d0
MD5 4bc6f297a062c3cb56ca986bdeacbc0e
BLAKE2b-256 d4f6d0f20ee534401e92b52142a776dca06f8146a93c11b290b7ebfe6ab2fe12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f82458affb567880f6b69bf0b16dc99a02d406e6e7eade9a45044ee3ec2674c9
MD5 05dc0a5301ef8d60e9d4b4a993971428
BLAKE2b-256 99e7f7a945d27617c0bb985485a49cc80f4a4de99ae45799ea9292c05b85112d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c51bcb1b8a607c7bf37f3d194f4804eba7cdafc442e96a2e7e1c95093d5fa939
MD5 b979998a04699cdba36372adef246c59
BLAKE2b-256 ad1d5cedadf393521d8e0e1ab7c7644b8d7d94b13cd35d2ca719e9a70bf828f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 56391cd5aab3c0e6f2f6f2db11e8df50ae466eaa67abd246aaa9dfbeae8760bf
MD5 bc780151926dd15bc81ff6fe506d8b9a
BLAKE2b-256 277914e4d2175986d1ddd4f5ca292cc2315c09bf4ec26f58099661759716a204

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3276a07a18887cb7d77d216d1594ba25cea01133b5027132b2c8efeeac74551f
MD5 61775b7fe366ea53239c277f2ddfb614
BLAKE2b-256 f3bd5c6eaec014b48f84b19ae29a9d98d0f9c5f1ba09f6bba7b6db2d1be2964f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 defde605fe4524fe82732308776bfa855d2396569dd009566ca722f64ffa1247
MD5 53f4d64c7d9b382afbbcd64e26ed75fe
BLAKE2b-256 5661288033acc048767aedd34edab06d3669d4f00c8ff599f708c4330c7b2527

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 de3edd13ea4f5d8bdb895c99b83cfb631cebc1d89dfe3975b2ca5da5e1fad358
MD5 9a5cb04be73843de6807b5497577a434
BLAKE2b-256 c3bf1f10c0f6246176ecb07105acd16909219fe09ebad5f341c46e7ab2f36a52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 11813409821d02f5a2cca8d3ec47de963c5971faf57c069452e27645c1093730
MD5 8ae4d11f96088bfbcc45a85c5c29b811
BLAKE2b-256 fdefc809efede165086a5abde39339e95f6a9ecb615d8ae41e48929a232df165

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 36a8bc1b639d9019fe8a36708a7bb87cea98d3df4e5ca16b89c7c25861f7e671
MD5 eb528c73a39d82dd70ca9592c5fd7c52
BLAKE2b-256 a377e5d60df0ea1a87913302016f12c574f13e90c0b1500d6c9afbbe185dca2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b9c95811f45e147a6154f2b822eea8cf6f339b73102a08d652b3aab9334a7e92
MD5 1f520494c88aaf0040441d015c08f45a
BLAKE2b-256 d0ba794b10cb425d334e38ef66104ded9ed55d0a6bb2a519af6a73e4e70a5881

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d52291fee8f787b0e31ff9842a3c608c304ce4b185a1c46bed70d55d0c5fac1d
MD5 581b204a61e8df90278211eba834d4a4
BLAKE2b-256 b02b548592e51e16ba4f0a194196b125a08ad1d760c69eaf8772ecee5b1bf969

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cda644c0748297c7dc74ab12bc64cc1251d549db06a01afde222d97114e6819b
MD5 469f0b949b3f3664f368af9daefbb13b
BLAKE2b-256 aad250beab1e6926cd99d46d51ed4ef2b2762e0357184ac95aef71e052c5e30b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 acd7a04822601e9cac7a1a9dce0289b0b425ea5cc278b4708eae875668fa2d3d
MD5 2878cbca61729d4025f69e7b54db2004
BLAKE2b-256 50bd80c4b50ebd548e620715dbe5e4703308b475d5cde6224c7110ea71e953fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.19-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 58ba4c129184e8037d91e4776f1d53f2e168e8ad2e7b583007ff65ea81c283eb
MD5 3e38ac85be5cae9c3b70b0c5d8a6ea1a
BLAKE2b-256 343e7ae1278083b19757d17ae05c364e601ce2fa700c0761a65ec367313df76b

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