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.
  • Not a GDPR / PIPL anonymization framework — anonymization is a compliance process decision, not a single-library output.

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

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

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

8 Languages

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

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

Performance

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

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

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

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

Detection accuracy

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

Risk Assessment

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

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

Realistic Redaction (pseudonym-llm profile)

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

Each call returns three text forms sharing one key dict:

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

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

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

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

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

Reserved ranges:

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

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

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

Streaming

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

from argus_redact.streaming import StreamingRedactor, StreamingRestorer

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

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

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

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

Full API → · Design constraints →

Integrations

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

Security

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

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

Documentation

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

Contributing

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

Contributors

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

License

Apache 2.0

Project details


Download files

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

Source Distribution

argus_redact-0.7.9.tar.gz (439.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.9-cp313-cp313-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.13Windows x86-64

argus_redact-0.7.9-cp313-cp313-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

argus_redact-0.7.9-cp313-cp313-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

argus_redact-0.7.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

argus_redact-0.7.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

argus_redact-0.7.9-cp313-cp313-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

argus_redact-0.7.9-cp313-cp313-macosx_10_12_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

argus_redact-0.7.9-cp312-cp312-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.12Windows x86-64

argus_redact-0.7.9-cp312-cp312-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

argus_redact-0.7.9-cp312-cp312-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

argus_redact-0.7.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

argus_redact-0.7.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

argus_redact-0.7.9-cp312-cp312-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

argus_redact-0.7.9-cp312-cp312-macosx_10_12_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

argus_redact-0.7.9-cp311-cp311-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.11Windows x86-64

argus_redact-0.7.9-cp311-cp311-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

argus_redact-0.7.9-cp311-cp311-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

argus_redact-0.7.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

argus_redact-0.7.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

argus_redact-0.7.9-cp311-cp311-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

argus_redact-0.7.9-cp311-cp311-macosx_10_12_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

argus_redact-0.7.9-cp310-cp310-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.10Windows x86-64

argus_redact-0.7.9-cp310-cp310-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

argus_redact-0.7.9-cp310-cp310-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

argus_redact-0.7.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

argus_redact-0.7.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

argus_redact-0.7.9-cp310-cp310-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

argus_redact-0.7.9-cp310-cp310-macosx_10_12_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: argus_redact-0.7.9.tar.gz
  • Upload date:
  • Size: 439.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.9.tar.gz
Algorithm Hash digest
SHA256 0403670e4f0418ffec811564e7419d4bfcb40d9af95fa69fa48dabdc71fc3396
MD5 7a72d7d90389f816fba39079daca3839
BLAKE2b-256 fd9e2a652e7c22730c85150ac3ffc4414de617800404506e981bb205be866538

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6f2e5fdf2f24c3d51405f0278a6cae52ffb451c19a2e3951944d7066b00c7e08
MD5 36fe15694f74e1610e2ecc7dce98b2b9
BLAKE2b-256 d21a16674c8e506cb8896abde1f2b057c62941ea903352c48a578dec578f6486

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 545f09977e78439f1c8fdad8d68bc07bdf33e35c6ef0b624997dabc3b32d6528
MD5 cb365d00e3bfa098832319562c8cb721
BLAKE2b-256 cb8c642781b1f45734d3a37bfe5695c61a1ea7b3b31a799d397b17ea2e744231

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9935ac8d431ec68c6c12c69538799834cfee3942e3c40a955ccfb3251283d110
MD5 83d554c341279681f3fbe9f1cd01daea
BLAKE2b-256 9e713e32db0d9e9cb0b06606a4316f03143805e6ca97e8dacf3db1bc5a6d3d03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f449618e611abce1576b9fb6ff63d1e0a82a20309d8217cc726f46c1bff57b09
MD5 5d3a48bdb1fde2928e69362046751011
BLAKE2b-256 7c67295b8d3b4501e8c11a3f7a806cfcf89d772115090ece434daf62834e07bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9fdc48b1224a77084b17a13b452128414694fc1783754ced204775db49ba4989
MD5 f09eb8588f30f4225088a5642fb4fa1d
BLAKE2b-256 8921fb2c65c6ca218db5f37d439f502698c626da3d0f58c8c8d5f5d096338bc0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 385c2f0e53c7ca170c070c612e6782bcc253ce47043d6e2b903790226ca87c70
MD5 7988d314f13556fd1e51f58b031f01a9
BLAKE2b-256 06d3f4a57aa31d564616d33669b5c4058f4e3b53b134650920ef4855b6a8a8b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1d5212d22b27078151fdc179810ef3d9476314579ea250f9381aa4ce50ba8069
MD5 28c659f44c7ad25d8f9492cc44533385
BLAKE2b-256 8d227dad66d535a25ab794753062ad7c5ae0e86d2e689652e1b21d565f302a8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d2e670ebbbc47392a343d3458d3bfa69f3562395f3570a396e11fa0f8a9c1581
MD5 1841ff96eba6042fc182a1cc7b42fbb4
BLAKE2b-256 6713193fa44a33d134389a0f6f1ccfc2e8fdbef933ee7b242f0016b6f6605db4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 20e0ba3eca4731c0e3b13820aa96e67647b2874b4b403e4febd7be3369913498
MD5 2f911746bc7a7a91a0a76cd25cd1ef17
BLAKE2b-256 0f6f88dc5c766c842b622b29f93e03e183a11c92e11a36f6e713ed8f66da3f2b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 90816ab4de831241d8c14d586a8a9954807aca18cc661eb5fefb131dcdc6f272
MD5 a45a0ec6f0d6eac550bf319f6818d859
BLAKE2b-256 eb1adf61872c29cee25ce3612b1c880161da11a3e5dd031fc3333abb104c7b1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cbb90a75a6218c7757fa079f2b3bf3d97a9d93ca325131cbe9c9406f4f56262e
MD5 7b8f2a206a9743065a8dfd709c15e154
BLAKE2b-256 acf36b487df0f32d0d61c58a63d2bbc990e39fcee28d18745d997f5b81a86156

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 779a81f50cf22a7de3be7e6df3bd3b354afc8593e2e11e586553e2b85b8f39b3
MD5 bc20d36ee05a76c1e1f140010957f808
BLAKE2b-256 e5c58e6037d62011c85c838fb7b66c1fa859349163c749c984b40ee59734d0cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bde851fe80f2d10252601ff5ba20d1489f50b95186d911e261b8a4a1d6543ca5
MD5 44487cac88b0410a80e98e010ef19644
BLAKE2b-256 4ed578e1f1c356b135afbb95cb3bf68e1aaafa6048660fe12351692cbf90f70e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cc1f07a00b0cfa218c1ed4e9d4d1bf5225c7b5a68e0e1c570ec34e7120243f25
MD5 ed33911b5c32828313d9122a66f01d65
BLAKE2b-256 eff4875180aa0222872a0987332371667d5d461b6aed20378cc90b49f60eea73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4f8d9a31b652031cc25489e19d8e739f0619a1acacfe3477a91a01c9b9a65ddd
MD5 50d289f6a6c839ca777e13b207a6fcf7
BLAKE2b-256 790ee45ca3bc0203621c3f60c61cbffd771e6bdd2afe7c2f57bef83391c80c4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 67863e4507fe29df8559c1dd80f536d80ae0b04f53007d9f1c4ffd885babfe6a
MD5 f4ece7933e827731060b45ed33a8f8b6
BLAKE2b-256 adce16446ea05295047d4b195256d48c84e5549f5173971d681d88818a7e4b72

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dc93c221c28948de38edc7150b44e450fc01d89bc3e1ef7eaf81b8ed32ddaa25
MD5 3df88be19c0e2554fbe2596623255a8c
BLAKE2b-256 3fad9a72a92e0829264a8ab9b3af2069f614906948505e8fec75b5774f120cc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 19d264aa7b137a032509dc2a9431e10a161fe135e1e702aaa02d3a1b103f4361
MD5 f2d8013fb3f7051c2a28163d7c78c701
BLAKE2b-256 060b7ebe3cbb639ca0e784f16679439aff422b3b51df0a59f7c52c020334eb6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9eb4c51fc4ba516dd1734ab9b4da1a3c512a097801611f436d97192f3e87c051
MD5 ffee453c686262a772e9b582e9a6a9ea
BLAKE2b-256 c7c1f8bc7a162aeedf7177218a12e3e87e208ace8207428646e9aed7d6d8138e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 261ca00931be80ee095a1ab36a0ed7fca9622ee9ec4e7cd5598a7e2f14eb246c
MD5 941a13a34de1d768b42b2289b604a4d8
BLAKE2b-256 d04bb86fe594e1c0d74ee47e35e9ca32fae203f093de1ee4a86008a95195d94c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 71868656e4484a3a1ed9fda46a55e4979f5bbd4f09e7ab8954a2d41dc951510e
MD5 437b49ada47bd2bbfa9a706ba53c0644
BLAKE2b-256 317a3dd9bcb16d2841a11a210ade4019fe98c991082c7c6ecb935a6f1369bdef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4ebfcbf933cd5bb11fa007efbee4ba805e2bbc9ac0008c5807f08624966cdf90
MD5 1caa28bd7d76c6478f582cbe1156dbb3
BLAKE2b-256 42a15c1cf720e6d07861008458f1daf7a5ff185ffbe2f8037e865f2ccceb1452

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9fdfd310a10676864dec0bbe2c5bfddcb177c34e1c883677b3af9102b0ba28a7
MD5 1c5f34a036f6702c7a028fadbde11918
BLAKE2b-256 490113804ef879d08a3c502cdf81dc6aaa836de234278805f4c71c04a6e979f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 90d4541a776aa77f0e037fbba40a737c34281c5fecf7f4a8d7d1ce2fe3dd932c
MD5 15d0a3d02cd9d90b1f2e7fceaeb78e72
BLAKE2b-256 04c83e9abafad98b80ee73800b513ef7c20fdcd76bbe385a1b01f398c0e04294

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0610b2cf69e5d099782d94693b2a1ad95e6ac2d5d81884ffe72a9c90f05873cd
MD5 401c4d36bd5515ec8a19478bf63a6881
BLAKE2b-256 23cd1f613b33ce049c953e4fccb5d5243db98bc6dd3ddb5b30537d9c832de470

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7b58bcd9af719876265581d1c8656e53b9aac662f3f63270dce816f176308618
MD5 45aaa01823ac7ff922bdca5096f5a858
BLAKE2b-256 2de3473a1f9248c44cbaaa5d0f5bd314714ceaa2ca28c978bd82dc9ece8db1d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 88555a04424d29f65565d98af4f06299e938ca830aa186a0f27f4de1ce1aeef1
MD5 ba9d4c13edb9668e8134ee3d30a32702
BLAKE2b-256 34218d8b83cc9eabdc510cab76e90be7661bd757dbe4928a24aa63abc4f80109

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.9-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4c80535875b4ad8f6f0104d72817d2bb4c65968bc0f28362ce52ff996920bae2
MD5 dd23f4555f07e20d80646bf625ba9fbc
BLAKE2b-256 6e8a895ae3701742c40ae1dfcf380167d9b92bac449696f4dc8847b4a9bec119

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