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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

argus_redact-0.7.18-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.18.tar.gz.

File metadata

  • Download URL: argus_redact-0.7.18.tar.gz
  • Upload date:
  • Size: 601.2 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.18.tar.gz
Algorithm Hash digest
SHA256 89cd7f6093e1a7331ee2b1b74158ae3f682636e8f412331ace10517355f4dc9e
MD5 c8dd879d19935d6a3208b8ea4f1b7ece
BLAKE2b-256 5642dbdef72b96495d5620225ae583cdeae771414e61d503131fbbb9e02cd104

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ff0d66384f585a7ece5acef63f54018d38e2410fbec8a6aba89a9efe5b1ba287
MD5 fc7c55eb092d1b3a68e95f0f2fc6df71
BLAKE2b-256 5d7f34061e71ed28acf5c48cfe49fdf2f52b4fd4d6f18b7d7138afb9d085d4ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 78e986cc16f65b5cd385f571ec9b8297caa18952f6a387c8b5c4ff7c2d4a268e
MD5 a28c722deb87792c05fbc69c4bd43c92
BLAKE2b-256 70c32d6f87c08c56a2527a8eaded7be8b35f5758926a6f88f0e8b95080060472

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 17eb29c7f655845639039ab271a904617059fd75c5a9df4b9266282e360c45c9
MD5 5ff3b19acad5d958935af338854e248f
BLAKE2b-256 b47d63991ef22e46ab71bc11b7475a776cc91c87f64e166c9da0ff48f747e0f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0fe44001caac621fc68c2d49943fda5e8af2453911bd8a9795e717cdff585256
MD5 ebcba5a9ad9bb5c5927ce1ec006bc4a4
BLAKE2b-256 a10f0ca28f3436559b5b9947605a83e0ba291e709e0e5d9a9beb7f4bb75f6b6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 594ff724a3c723f7151cd8cd9549cfafa0ed5a8e92e63780e6f3aaaabd2954ee
MD5 cc8a087ee5cf50ba922fea237c3a6770
BLAKE2b-256 4a8a217dbb738bbd4df2aac5dcdd2710a865e9704b8bc4f9320c29d09b924601

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 79dff3b6846b5c020c8377e8a86d71cc7b99fb4b77ade7daafd78cbf7338ff3e
MD5 7f17edd0b43d05d0221929096586d9a3
BLAKE2b-256 1f4ff159a7d28164012b0ae54cc6572041e5b3e8b5720511e5f372ebdaedbcb4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 099e9436d25314ef3b4af9f517ab9481740b07e1cea474a2b2acdd3f1a26f2b6
MD5 4181e14b0ea2a5583b0532117fddb434
BLAKE2b-256 92f704d3ac178b63a99bb97578c9cac6135198efd76070efb5ffc36f64e21794

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f6ca8146653896f969ddade3397eb44fc49c5807743e2e3c5ebfcb4a30bbd0f4
MD5 bc30b7a5649ebf9315652b57840b4d7a
BLAKE2b-256 0863ae0d0c44809c6000264995df6db48f3f0e44e9752d086c297bdff43fa2ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8a8d7f3e1eb473120ed5585ce5591f74934781c22a9f33bdde2c3fa7650f30f6
MD5 ff4734727a9c6fd79a0c59541f7f9093
BLAKE2b-256 ee019e75740761d2b3268ba2de4aa2143565d243d4e0a8454bbed4efc9ed3025

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8270ac95a9ade34c638784f359522535542f84913e716e8f1a11de38f58fcd67
MD5 d96661daeea27c004cb96a0a02a7eed9
BLAKE2b-256 7da9196ba88b4b2cc0e2622ea93b6a01a2bdcf91684b033f2d9485f8679ba306

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6c502bdcf6d6f0e6e7d132d2a4a13598f33835a2e1b0b8ee9d6c582bd194ddfa
MD5 61b7fa841a6e446afb3568df7007aeae
BLAKE2b-256 ee8551f08654770ce77c216e1169be13ebe860d6fc0e411ec7c7ac1af5695351

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 91ead80b1e1561632bc27cd22255df00506ea7bc97123060a700a201b115c215
MD5 e087457e7b6dea5944c22dc6d3516c49
BLAKE2b-256 32c8d4cd18c989a8bfed595ca162da3d6c7f34389ab9cf7321f3f6cfcac5d880

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e0a172de7712f4f0b3f68ad37580658ff24b257ba2c961aa6d8b0f30fa0dd5bd
MD5 daddf9757ed9aa33e4c988ba81d98af6
BLAKE2b-256 f04511f5714bfa84904a30d941ba57a44378bcea4d2e723ec94e4e7def1f40da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8fcc81a7d9bb51c24cbc4915577894cbfd4634038fd329f1c7ad6c7d31e75c97
MD5 a638e12629694690d2da8e3a6c3923f8
BLAKE2b-256 ec6f3449ea4d5e5a5f1cad47d6fb2bf069ebde5a3137c01534feb1f2205dda4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0c080f018b6e608cb2823f0038905d3a6a4131f7593aa32735c55aa917261f36
MD5 47bfcf18df6f3fe25770b6c0920fae8a
BLAKE2b-256 30530f8b5d03c76c5f78a5f4cad9ac1601511bcb1daf8dacecc5bb56389abb4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a85199a4e78b82635b08a86b69416e2d981c9a08f929bfea42b2d2aee4b32954
MD5 cd596cd9ae95412a816e2b6e41b5c984
BLAKE2b-256 1c01aad3e21732cbb7054a3ba5248618c05d101c0a436e529fb89cf27d76753f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0ac8440a1196d692005bb48e25a370b97e77bc71bf48f2fab8a1a95282baa1e2
MD5 417a5365d5f0c7aaa9e31562b17ddc7c
BLAKE2b-256 da1970f893d154d8ae90dd7e52d2ca62377031d5e0fc8fba301957ee24586799

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fa5d12b3c1c28f1c4531d8295fc775aeb0f8fa991627da205a2cd9edd176453b
MD5 7a6339c48bf8a9558f8e51103d869433
BLAKE2b-256 881db4c19366ac8036f139495181600b2c1daabe78516f953cdffc7d0854a49f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7999f67d68e1a86fe9f09818dd4c05ff670b9c2728c47cde4604e43c09ea0361
MD5 1d043ddcba81f91883caebdb094d9a32
BLAKE2b-256 7e108faa0719ba822d36c5ae96c8b7e901a34810e1980b12cf9bfc83b29395e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b3a0cd430b40adf19daecb51cbc0787debb79fc0580ba6d59c27f516f2206ad3
MD5 4208c7e58d9de0b64a5ef178d27d64d1
BLAKE2b-256 c2e6150daf0392f5d284e5dd31b7876e54b8385ec2ff9881866ce8efbacfe4c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 50a621743b7e43987f4214941f432c612ce3c3d35a7bb14e322a57fe6f1defdd
MD5 41d0e781279cfbba15c5310b4e472457
BLAKE2b-256 b419bcdd2ae18578f6d4e46e1a517d2537f641cc178cc1b58fe66395b2ed442c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1c950ec1e128cab37e65d891acd94e71509f46b12d8b5073202014edc0efe680
MD5 7fa70e179da34372539ac76e45fe6dd2
BLAKE2b-256 965cc9ae96b738d5f3422f1b71dab4e3a5ca723c99381c37cd5ab0a49dffe469

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fac76bf45699b7040ac2decf2cd770b98ed7f0c187dbae67a0e3b70ea3b4e628
MD5 82d6c048de2a94a5feffa2d9b0f7016f
BLAKE2b-256 53b062d234d9af2c9aa90ea18a5670291b228e1404c55470d874da2b1eba4a13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8808ee8c295b7a412cae250078c71dd20e772a80c817426c8c3d86278124f1d4
MD5 4083da68855a4f3259d9956e2da74d25
BLAKE2b-256 2ada880845e601a522df5eb133672442acfb52f32b74055dc5ed774b19401df3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 243fa3a99446271f23e3d0c4b590b6a55153fe70515bb67eddafc316b2ec5c8c
MD5 21f1c4912d4ce4ae90fcd3186921a781
BLAKE2b-256 44ea059c130f713efe0fa77bbf2a5e20ffb0a6a13807835a153db5f53de8bffa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cd488649877b6223b29887d6737850e6d5491fe72c2d5c915f636a8721073d39
MD5 b34b2e1b8014974d4fdb467ca8a2b113
BLAKE2b-256 9cc11471dc01e7fb5301790e9da8329a440997948f6fc53e19832102037ffee6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 edc0db090dd93f014a8a45ae7f9b6440ca3a637d700d6abf6155372bf0fde048
MD5 66aa3e6f73b910c6d53ae9cfd881bdb2
BLAKE2b-256 f4176b86058a3e1a98c9415202c5c19f1a13b0ce510f24a70d9c9b5e66c0c171

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.18-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 335b6e104da2113c392cb96a7efdcaef31572af347122073f40fa076f9ba3509
MD5 de72bec488cb273918e69e8699291032
BLAKE2b-256 fec92fb9f58f8f7eb4687fba43d128b9c9824526b62c176a82abaf51f1cc7216

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