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) 78.3% 30.3% 43.7%
ner (+ spaCy) 72.8% 41.4% 52.8%
auto (+ Ollama 32B) skipped this run

ai4privacy en, 500 samples, v0.6.6. 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.8) 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.8.tar.gz (411.9 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.8-cp313-cp313-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.13Windows x86-64

argus_redact-0.7.8-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.8-cp313-cp313-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

argus_redact-0.7.8-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.8-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.8-cp313-cp313-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

argus_redact-0.7.8-cp313-cp313-macosx_10_12_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

argus_redact-0.7.8-cp312-cp312-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.12Windows x86-64

argus_redact-0.7.8-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.8-cp312-cp312-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

argus_redact-0.7.8-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.8-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.8-cp312-cp312-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

argus_redact-0.7.8-cp312-cp312-macosx_10_12_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

argus_redact-0.7.8-cp311-cp311-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.11Windows x86-64

argus_redact-0.7.8-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.8-cp311-cp311-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

argus_redact-0.7.8-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.8-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.8-cp311-cp311-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

argus_redact-0.7.8-cp311-cp311-macosx_10_12_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

argus_redact-0.7.8-cp310-cp310-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.10Windows x86-64

argus_redact-0.7.8-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.8-cp310-cp310-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

argus_redact-0.7.8-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.8-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.8-cp310-cp310-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

argus_redact-0.7.8-cp310-cp310-macosx_10_12_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: argus_redact-0.7.8.tar.gz
  • Upload date:
  • Size: 411.9 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.8.tar.gz
Algorithm Hash digest
SHA256 5d5f7fde358d64715a2058867008364c6a25bda81ca28ab837d5b7d1ed7eae46
MD5 3f7db3eececc7d60bddd3837dd151300
BLAKE2b-256 141955252375ae859712b4bcc39a9631ffaac7e48f05f7ce942892259b5a00f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2057dad599c6e843d53670038b84ed7257d914ac0422944bc81c6ec13ed82c89
MD5 cafae217992571eabba83bb505e6eca4
BLAKE2b-256 23959aa16981ebb3831d9bff2cf930f5274af9d63da8f402119d95f874c504f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ae0bdfddb7e6e410c407422e37060a04e2e57ce5860739aa5c9d75fb4407bd93
MD5 7c6db380e10bf0fcf4a624086a8a83f2
BLAKE2b-256 c67974f474d02fa7937d916d497e1cfc0f56bf68dd7a3c94442716a11737a775

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1a4d37311ca9a5955c1330fb845441f0b97ece312255f7ade36dc06162fc6237
MD5 a0ea37ccb4653c81e42777ae3202de0d
BLAKE2b-256 5c84ba066edc76093ec2553a1a574443352c2e0bbb3f1a0ee3f828d863586692

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a29116255196e82679e737508960fadaf4e2ff80f26d926d07fd6c50937e6faa
MD5 339559e73766b68dc64f1982c161f0ef
BLAKE2b-256 c61c5f56732b6ba751f3cd6517acd27e593aeda7d626284b5df01e3714d14cad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 171114455fc5de361c43f23e041029a95b2684d00d6a86494209b0e48db6b134
MD5 65448dd33b88808eed1bf780217dfb42
BLAKE2b-256 94166b5194d13e8069e9e58186e85e129a3cb6685c80b6b537f6b5145eee523f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d5c7c911adbf3cc9409bd05b1895d871f6f115472801a09aa670085b8b9f0b36
MD5 44f7ea80ad70a44d912fe141df452f80
BLAKE2b-256 8c10e1e47143bd4a6d1b3c92756178c43efed0370c7611179e9b6a047a8db623

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ca7b00a4ddd8aa5d082855c877a71b5086e1db160a6c3ef298d4ddf5f4e1986b
MD5 a9645414f386563018f52ced829c4484
BLAKE2b-256 fec1785039ced65d2a7efd9929974a43fff5923f76b7baf7c8a97f655c30cb88

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b677181be6c32d5273293d304fb0760786d5ded6a999e39bb74f4cbf367529db
MD5 204bfb2cf20ee9fbf1ab74cd88565795
BLAKE2b-256 4d7e0951d2fdc6c3937e7ed955e206dabb75e0bcaa4c49cebf6496c4a62a922a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9abb92567045984af61f6b9aa255543f10e9f817686a25cc0d8fac21bdcd1938
MD5 e1b6f6d8dc766e90706f5874f9358667
BLAKE2b-256 e8f50e52a7b839eb1f00af080e1e9489aa3591fd324bb990ca110c15c1700181

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 34790d6d57c17eb961704a02cd70e87ac0823c6e3ace79bbcc0ac5419c2c717c
MD5 4faf95b93644cb339088b1f7905263e7
BLAKE2b-256 251b2fe6e590b8719a49614fc0ca6da6b2977fe8ed5fbfcacde74d0c3c35904a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e17a02f9a6b1b8333c71d4b464e1d01f9fd3ad2125dc41123ea44df53048df20
MD5 491c1bc210a7ae53fa7250e23f591e4f
BLAKE2b-256 cebf5540be332ea75433fde394c1d90d49a12fd297bfe34539ba99706f08ec67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ca1ebf3b04b91af2b71645164ade0b6083246192b0c3f012e59793ed969f67de
MD5 57aa792ca4f3bb37200f995b8b3b99cc
BLAKE2b-256 f01871a97275e1abdf9a0145015f575e646eafec7385873fe551509423186663

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f245a367fa4c0b1ab63f3bb648c878b85e21f4151490097084dc86914000dff9
MD5 ddfd6d157604a9a85e5782a3728b558e
BLAKE2b-256 ccb5c05899f1121b07b4b318e400671e4e5ac42d1016b80c59a6d338005abab4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 48d04bd07d81ba3bb79809aa214d98b163974ed9fb76681f595d751b01d72abf
MD5 1831cbe66de37e925be6522c94bde4a0
BLAKE2b-256 05eb7a6f8bc3e1fa3d2e9547c771c72b2eeeb6af5324ad2c54f51d2de0065c93

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3dbbd144a67094551ae544766cb448ca43a0c533db4191fc2e897a9f3daa2ff1
MD5 df1a1ad6aea2d0fb45e6531a82a6d41e
BLAKE2b-256 1aae4e16b4408d627aea099b3ef97740ff6c6db28951081e58991757dd9f8447

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 55943118d9dae2eb831c0fd47b27eb3064069b1199fa5e2ebffd327bd3f87ca3
MD5 66d2815acbdcd9a1bd367c87239749df
BLAKE2b-256 399b1b93396be0ae6984c6930c97ae46859c181bfdd90a65d361d3bde85dac7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 97f0b9bf7247ebee99bd860d46d718cb5cfb2c33b303116fcda7c99a5e628243
MD5 673d97de3bff305c30b6ae8f2a7e1b2d
BLAKE2b-256 61d08440ff5df27d991b2e74d42df0c5d1c8a1708de7e85f78f9d1555341df5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5af8af0cce4f98b06cb6346701881c999c3ba60a7e0d6814b3e714e09948e359
MD5 95da3c28616d6be7ea3d17b8ddf05d90
BLAKE2b-256 a4c3127db06e24b2a518ffdd0eb74bb01990e23991286232335c943b8cf8bb4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9975280c2caea2ef7315febd46054d9fd3caa0845cb508554d7c4dbfb771217a
MD5 1a9a87e5cb7e841116dafbae943d7403
BLAKE2b-256 9d492e52107e3b4edc355ebc227974b529106d95c07d464735a5a011806b095a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8e193380be496caed22012b11f8e339c1927844d575c8fcf62e1ef876011c4d1
MD5 42c5c397adf7b705b15a7c658d81fc35
BLAKE2b-256 a420475d3f059ed260b8f65a11ee1e754200a1a01e20f483b932f782654266d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5713734f38ccb156337d2b816c83b929b7acec375f06b51f94a00af80aabdc3d
MD5 c9b20138815e021cdca3bd99a6192f6e
BLAKE2b-256 4a03943c8e1b4132c07ce5077567bcd4d685db2a471e56f66086d1ee436ca6d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e37bbda546edafc3cdb7ef4dbf89e66fb3437a407e62e7e420f145bff11e69ae
MD5 7cc6b282b2dd3c476c2b0434a08243e3
BLAKE2b-256 c851e8babff5af7eec5da0745720db6901908e7dec6d5b3215338abdcaeca69b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8e0f7ad352022a27d0ba7edf2f7a05327b2b22fa9d0c760b04877e1a9bc7993b
MD5 d165e56a5205e6a067640eefbba6ed1e
BLAKE2b-256 0185142ca8e4e75ebc48a28eac87776704e71003fe44c059977d0ecd0440a245

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f83171ce84779dde30fa3f4534559e0e5965d8846273e965d5933b4f0d19d4af
MD5 02fae768bad9df15a5e04330fafbdc63
BLAKE2b-256 98546b9ad3f0c91520e8eae948fbf90449686939cb45e32de6d77818e52608d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8b54d707379a5cd02f9b16975cb13714983d5888a7c95596f6570cdff15e3b53
MD5 622032f194d03bb7de1b57e86b329726
BLAKE2b-256 7edfc14c74f07413e9fd14a54fbb824d7cbf481f74024241c7ae9d8a056dc80a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 86ead132393a6bf9187d90a0deb4330721801ba4ea1777c1b006152ad9c9acb1
MD5 e9353451e3d6ab51ab0eb45ae16fce2f
BLAKE2b-256 8865d214bbc38ed2d88ddbe49e4dc1dd95140447ea440ba2f674bbca039a195b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 135fa7ca3e42b443115140d6c62e51e3b86205fc69aba51d70c83d4cb4378e03
MD5 c30b032b9d645cf0548c790baf918035
BLAKE2b-256 78e866755c1e84eba50f90e60babbf1c571eb1677f4555aec2c473fc1aca249a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.8-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8e01c9f55c1497c555a86575e0a1b6bf9a77ae91d54af770dd9dd4baa25c8006
MD5 3671bfc773151a35a5f6bb2291cec2c8
BLAKE2b-256 ad3dd1ac3c3970bf3730d4e494c8d23cb6c119200dd290438194a5a6bddfc97e

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