Skip to main content

Encrypt PII, not meaning. Locally.

Project description

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=["王一", "张三"].

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.16) 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

Project details


Release history Release notifications | RSS feed

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

argus_redact-0.7.17-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.17.tar.gz.

File metadata

  • Download URL: argus_redact-0.7.17.tar.gz
  • Upload date:
  • Size: 591.7 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.17.tar.gz
Algorithm Hash digest
SHA256 62b45939a277a40b25ee5192ae94e6aba08989688ae1fa181ab5cd04816e4b25
MD5 30f96a8b2c246b24f1db3468d96e978d
BLAKE2b-256 fb4d35169b67e577490f9eadd9651f2f0c0bb32cf602ce5ae912ff1844e9c52b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 93f363562511e3026e755f3856a0cbe1ddb546f1b0679908ccd4453ed51be859
MD5 f87c94b8cfefd18a64a00b92e7deedfc
BLAKE2b-256 41c93a8e72b304d4fcbe1238069b39aaea116116cafc0fd050750ae5cf80eb0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 112acb08048c5347383bf6ddd17af4c2cb447b9caa4116a495d4704426e618d7
MD5 c4b5907412e9f5f1cdc8c4becde14022
BLAKE2b-256 7927677a01b0de93a3fc93f32127bd616006bf1b8a96d91f87831945fb554e9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 75a9b491d7e2dd087e90318b4233466192ef8936d8b0d37d5f5405fc0607f0e8
MD5 22f1a31ca39bd510c153b918f1216738
BLAKE2b-256 438b0ef6996d148a2fd04d476b59270b17bcfb8eda256259adec025a9cb10bca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 db8b3b50a57883dfc7bd0eba4301bde99e8d3b6653c3280fa756b87a50de219c
MD5 85bb58ed9f52ec7ad918ad79fe91f1a9
BLAKE2b-256 27b099169d1b44bfd22b43c840139f90562971c6b2ef6bd706e21433543668ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c4bc17662a96637f76ad5357680e7bcda4a9b7a44a747209cba083f41ae2b537
MD5 74bbaedb4a52f3deb18631f8a831408e
BLAKE2b-256 4377755ed70ad5f23edbe0cb3c2254788411a6e71f517a4a89c9b1edf30e5799

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4616f168ca17655e30ca8b94dbe9664b555dca0767e30c47d8b7e590544b27b5
MD5 4042eecc1da1cb53a8fe142f5faf6e9a
BLAKE2b-256 c7adca59d43b8300dda7a31bb4e13f9ee1ff0e8eaf8d1301d62a47f67cc9195c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 276925ff0c5a3bdc9819e2c59198a9a277f4dbbe4b0bc1635361a275b67e4d3b
MD5 4bdafa030050ad9b076d1568c63cc60c
BLAKE2b-256 c7a895b1a6ae1bbac55e1f49e96cd7eaa83022a0ff4c4429c932f2d4965dd974

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d0f4656628ac56d6d7cd31f90a50c6a2fbbc573113291d3a35cb35ec22eb2845
MD5 20afa131fbc5c14fcbae3b1a51028d9b
BLAKE2b-256 956b7ddc11a661ccf7adff54cd9c339e1225ddb84b8044c465cea7d014460089

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e3ddbad953645d663acc31eb79331c9b70da4fc0ef7a2a6c94197aad4300f42a
MD5 1013ba569b11208035daacb7c8582d9b
BLAKE2b-256 c325a5e12d82b2ec3f9a803a055925ea7ccb93859d63ee06c9254ff7d517c758

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 335cd5df6ffa28a112987fd5b67b7af9902c359d9e8342229d8588c58952d012
MD5 a00eb1b3f8f6b52f589e64de16645eac
BLAKE2b-256 985232440efb961cb657c5431da6a4989870347f5b3eff38512090fd11f4d150

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6b9e1511ef154a451019ffce4a37a2b0863e6b5c9b99c8524d91a3759db9ecb3
MD5 bb1704013f51493f48d304c04a1fdd83
BLAKE2b-256 de90c134413feb3accb56c236876f4bc0ba74e3e0769d83428b54de924dfb646

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2ab39122a9981bb3f927eaccf0e989d804c8fe992d3921f997ee9e5637c51832
MD5 83b5d5f87dc4827de6205b97ac8eeda1
BLAKE2b-256 90cbaf1194964aa224bc32db54b8d7f28d1c91a302dd83a04f99d9bb1b371d0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 64703b4b1e899e821023dada96a8ab8571fdc41c6eca70b3d24bad8d65734a53
MD5 deb0f2c38bff441a3006952556e89cd7
BLAKE2b-256 2920b60b120aabc005fa498eedfaf343f73e6734cbf11511d2445a1125a1faa4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a5fe3548cf648559fd42d58085924b49e29e8e3a1f7727ed9036c8aa86311556
MD5 78fc50d43cf779f946c8a9660aaa2ee9
BLAKE2b-256 c1ea44f60f12827fe1283067ba30621cc7789b74be811f866d1963762dbfe5c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b16ea34e6f6cd71aca02ec454d60670de5cffe24eae4fd9ee60447d22879847f
MD5 530f5e4912e2709f99c5e4d687824a00
BLAKE2b-256 6d17a507252cbfdd90f3a6b9f3e69b3d59b102e12c5ffb67492df5e359a9bb5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 36481929d1a8317d7d607867ad6a2fad1c28a4e013099deb8c910183bfe444ed
MD5 8700a88bad37a19d4f57ea2779a41108
BLAKE2b-256 f8b14bf85caacb4f5e60a0ccbb86d145c37c04f518309b7f2fb307d7baff2477

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7d0aa2786c220b01296eb4962767bb30f060bb269330c25284759a858715abc1
MD5 b4414f803ff54e67d6604387c1c5b645
BLAKE2b-256 cee10d4be04f703a0890fb1ecab5c135b4cd7417d629ca53aa6375d3c87fa787

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 74372766f396385d230f59fa8641624aadd018fef5522fd50d3bf3f976066dcc
MD5 c7c340cd7668bd7c449b98ccc8d4d403
BLAKE2b-256 9850f706b44c5931f491dd94e92b8bf5ccfcfd716f8f429eabc9c91988085cd7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9c9751007592ea9e4eda8899e14a065129e7e0b156047c10bec2980f4da40563
MD5 7dc55b4cd0a96344a70004b1d9ddb29f
BLAKE2b-256 38413f8c2a03072a944643f88921a316dd37a1342bf0a765ec32a6ea7405a305

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4df560d3034b007fac8d51d7b492139984fab458808537bebf3b0ea1f555f440
MD5 429ac6a60e20afd183a0a807d04e4bc7
BLAKE2b-256 e7acd1d5ff7eecf633524d8c195f854f3d909503a2914ef27316507ef1c0ce34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0997857a9fdcf1b9d5f2ee07c89e506ffe551e94654af7d8786fa8c03066e758
MD5 fddb0460a02e4fab444f25e4694d90e9
BLAKE2b-256 e7a68e23e16f53a5e98ed3c2f1a8879365bf0bad00a8fd63f4273e0017a45c25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2614b8a4d22b15214284a5cb47d248ab5cec2446fb77c7e98f6dc105ec1eb822
MD5 d0698b9063e3a5e0a03566f5e4ead7cc
BLAKE2b-256 84af53d1dca5fd93fac307d5304e1fefb13d4f49003f96693549c0da129b36b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 089f0611abd5e3c02e9223bd5d59e3e47197e3fe13fdb65cf8764ec959b950b0
MD5 27052280d17b7c5b7d7807880b3529ad
BLAKE2b-256 a4c9fe0a9255e1fe3bd58792bbbd3308175d37e2ccd7638fde8daf7fce35e79d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4e33b37481081b31476606ddaf7ff6b3e6a868dbaf52d0041d0ef13947734b08
MD5 b5d152e0ede9aaacf24843bca6356463
BLAKE2b-256 b97748db81251df0ea688e0294a834b8798d8bfa9ff25539404e90f9f2563f36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0fdb87a7aec7594e48c94ab17ab38ea1e0dd28d8a04b85644e41302e2361d2c0
MD5 ca88e3cebd4e22c09a74d62ba052206b
BLAKE2b-256 5ce1d9f569af546723838c2e106ec21a9d4292ee89f02c9e50381d39743dc478

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 984b002afb9bc31b094ee4275e38e9fe1e3216e94a9a876aea7bfdb8934740ea
MD5 c50fc61c17dbcce36085d86aa21cecc9
BLAKE2b-256 17d1e294a04e12e519da62c4ab57c3ca3da5f1cabb329335a25c35e70a84434b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c68643d7312d89fec91fa473e725c78ae119f4686e9e1e77ba360921d59bd60b
MD5 17bf40d2ab735cc777a0888197c5e03a
BLAKE2b-256 5182ca6ff05d22c1ef6b2693feef7bcbb3e9fe3487b301e70ee983bd42d04a7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.17-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b108e9360d23c39174ed6e964b1177c4a910acc0402d1950467fc440d9674b0d
MD5 2667333b266d33100f2b23a2954e5c71
BLAKE2b-256 017af8cf18bffcbed03063264ab9fa6a839cfd6e6fa1c985bfbfa518a842e512

See more details on using hashes here.

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