Skip to main content

Encrypt PII, not meaning. Locally.

Project description

argus-redact

English · 中文说明

PRvL Rust crates.io Demo PyPI Downloads Tests codecov

Encrypt PII, not meaning. Locally.

The privacy layer between you and AI. Your identity stays on your device — AI gets the meaning, not you.

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.1) 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.1.tar.gz (303.0 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.1-cp313-cp313-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.13Windows x86-64

argus_redact-0.7.1-cp313-cp313-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

argus_redact-0.7.1-cp313-cp313-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

argus_redact-0.7.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

argus_redact-0.7.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

argus_redact-0.7.1-cp313-cp313-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

argus_redact-0.7.1-cp313-cp313-macosx_10_12_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

argus_redact-0.7.1-cp312-cp312-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.12Windows x86-64

argus_redact-0.7.1-cp312-cp312-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

argus_redact-0.7.1-cp312-cp312-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

argus_redact-0.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

argus_redact-0.7.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

argus_redact-0.7.1-cp312-cp312-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

argus_redact-0.7.1-cp312-cp312-macosx_10_12_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

argus_redact-0.7.1-cp311-cp311-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.11Windows x86-64

argus_redact-0.7.1-cp311-cp311-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

argus_redact-0.7.1-cp311-cp311-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

argus_redact-0.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

argus_redact-0.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

argus_redact-0.7.1-cp311-cp311-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

argus_redact-0.7.1-cp311-cp311-macosx_10_12_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

argus_redact-0.7.1-cp310-cp310-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.10Windows x86-64

argus_redact-0.7.1-cp310-cp310-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

argus_redact-0.7.1-cp310-cp310-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

argus_redact-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

argus_redact-0.7.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

argus_redact-0.7.1-cp310-cp310-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

argus_redact-0.7.1-cp310-cp310-macosx_10_12_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: argus_redact-0.7.1.tar.gz
  • Upload date:
  • Size: 303.0 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.1.tar.gz
Algorithm Hash digest
SHA256 3e009fde515366602f5dd787647e9b139bc89040a01aab2f08728cdcd6d8d6bc
MD5 afa3bbc6a3f57e3a740e9d33db544659
BLAKE2b-256 055acde4843bcf6a7d0c08c1c26b0756623b15accaacbbe8085ec98b04d3ce41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9ebc121d2dd5f3a2a3681a76f5950ed314d4245a639bd7fcd602318ddb16eb28
MD5 58f5b91d5a6cd6d4ce13308589122d4f
BLAKE2b-256 7e57633fde87d5780b9478b78aba6c1893487dab875f97f18a76e6f35c024912

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 567464b8790cb0da14daeeb1e5b9bbb1bbf1f056220258faa5e2e169ca6937a4
MD5 5aac5ba70430160621af9486b561550e
BLAKE2b-256 896f05b3843131d02c1c699ce13f6ab2e70529dc5c706ed5aa878fd4905ad992

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3e35ae0c24f90a5e7b9b0059aca60617cdfb8a4816fc813f8456de4d2d63b5de
MD5 832ebe74a431f6ba9b0a80e59a447037
BLAKE2b-256 b2231129e325beef0b69c0e5f45c8fd40309f3a2014d1368f1ade0d90646288b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 23c7424f29734e3e9414454faaa5b7ff7e7ea0867c123d8937bb73db73e92501
MD5 f189104e387691fedc289e72c5f74a79
BLAKE2b-256 ae6c8f5c657ad693cf57080daec3cd61166e61dad8f1632f4e941671dbf8b0fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 373a865490f64eeb5160dcd1b76a96e0daaf79ba35c88925c6e26a46d97dbd98
MD5 32b0efb8c1f44971d17add36c54481c1
BLAKE2b-256 ce5cace0d66c00d73591a182a951146204155af207057b406858f5db461b5c50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 925b4d93d8a8632e1a7682548b8392f3dd4427b744947c0e3fc850ba10e7122f
MD5 73dd88819d628ef6670847e7de53103a
BLAKE2b-256 dfe462f9348ff0df4a7686fb44a75b7658aff66512337b5968ebea6480eac529

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b0d9debd0067c44369feb7e5d2eb5fe70b84e4157494ed4be563f9bbdfd63b89
MD5 086957998e0fc1ea602612a34fc92cc8
BLAKE2b-256 16b9c327a9e4dc0fb6265910078ecc65a6fd8397cef66ee7f5c3f1f15ea353e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 120040fc1548482747d314f550d618a3b91a625e621519b468a06aa67d93879f
MD5 039c258704ae4ac5a1d63759afb18394
BLAKE2b-256 abdaa04ab59a0604f8ebf92050066a8b48eb1978e78ae54a06075dd0ff9cc416

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c29d8b8ddb69cc65c7d2ee8abff4dc5c958176c14f39a382c42ce6723479763b
MD5 da7259f26dcc5fafd9770e10624e876b
BLAKE2b-256 9af1f47a26251594a1c23e498371cf03f95052c4640c2a739f4ceff5cb1f54ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7186d144ff05dae3f5e039ac82de1853ac740ee2a6f2f54658f1d8a5b97aee98
MD5 e54297b86b7366123f3f3a802a999a8d
BLAKE2b-256 135d847f3e3e66834cd317b964cc179b8718a6f50ef63da6b89e1b0814bac79b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 96e26291f72c0f0fef596e8bc8b27396f1ae519b7b3e1f099ad7c558ecadfe22
MD5 e3e1fc0ccc2358b0b97ea90d236dcc51
BLAKE2b-256 ecdbb5a2fd78d9dcf11ff3c3ff10a681914ce7a59e5890775e3a8326e4c881d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e698ae1f436512e6da684a55ecb74c880121ac374113c5c1181041f0db626a22
MD5 d9091e8b59e3405e5ff7edd2b4c4af3f
BLAKE2b-256 f5b1104f0de3af7fbef24d1634cf1baf250935f0bbcf7c921e78eca14813d083

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d401873bfe9ec6af00a04d23e8b07e89e8f65a6f620cd4987b8e0776990085ab
MD5 325e431b92ece1609b9a3384a6152e15
BLAKE2b-256 7f92097636fbc2c99ac8969f8f626adeeb15dd51668b5f04bdf9bf38f72b3b2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d74986f25f4eac293dee6d7f479a6da817c6c41836805b2fb469b3db55f2a81a
MD5 7c4120bfd6663457e7cd224942651f19
BLAKE2b-256 62ccd292d4680cd31ac35b03fb02a4faa713f5874c37f38e367fdc5f2ca00bdd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c5f62517ed8d778082ece08c519fbf2c9b007d93a528ef0828a6d8b9d48d81aa
MD5 723577b1fa7a693c9a8a88724821d69f
BLAKE2b-256 8fd4c442d9ddd4043b2bf24d476d2bad2d21e29d028fbfe3c48deaf854b51bd6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ccbb4a9967555b76048f2bb3528072f20f24f8b5b6eccc6484b5f1fe82655d72
MD5 53e40570a0a253c56ad2845a91a661b8
BLAKE2b-256 4bdbdc5a038d98cbf4695d0e499eb3cc96edcab63920409862c5560aa09a649d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9ce2030cb9697e15095c3a95fb70f844cb15beb4588aa27c22ea8d298581e597
MD5 b10ed34701fb1016ab298414d3d68d1e
BLAKE2b-256 091d7e4cc8990e8fdd120c8002a20518773d3cbd98c2eb0ff6f9b7eb378d5dd0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8bb890217bd7d9ae08dc3594fd5606a87ece46cea78856088d9e8ad8fcd26d58
MD5 c499cd21f5805d56812121a71a44ebc7
BLAKE2b-256 65591694a9d6b88654334403642870d5304f09b78e797f9ac0a18ace824e12fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 58d8d82db3c4ec061a9a553457bfb85251d10ff3b4e3ad86cc47066d3bd2685b
MD5 495df851b8acc1c61773c46987394dc8
BLAKE2b-256 70e748d4ff81ecd7e76c357eb8f4680af8adf26e612df94a70d866b7d2f8804d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 df677db2e7d71dbceee13cbdf3c5ea696d422b326eae1df60ebc85ea78f37491
MD5 995676ebc7f1c28b4828ccb23e160074
BLAKE2b-256 6308cfefe6d3b239aac091116978f1e27380677ca3d6b3441963a83795fed3c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6e8d4162e3086c1870b2f23ff77960931eb5d288cdf385420b0cd83242b198ac
MD5 3875a5258e248ba32fb48f843b235bbb
BLAKE2b-256 9490aac5379451615df2220d07bd882f5b33764885e86e8fc9a0fb549320e3d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f1822105c782e99b75501802433fdd2fe7885114e10456b37e8e8c223c59020c
MD5 73cd7e1615bb2b3d12b101981041e10a
BLAKE2b-256 e1f543d615c96c52363d7477ef0dcce7af7a896a81b6d8125ae4629591325fac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9ce3357a71813d0409bc22236df352e5766fc3db5e4165f1235241bd128638ae
MD5 2bec5ab9b4cf0c5e597aa30e7498fad4
BLAKE2b-256 6aa15bbaab99dc2a6daf9c59cb4800ee5a77fb9982048f7369eb80d4025f5944

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9fe8f62c151d8a087f328f3f8d2f8185d0b0d9fc8b768047a0d049bd47400cef
MD5 1d9b7a74370104bdf77beed7ca96a419
BLAKE2b-256 63b9cabdb497f5566ba02167573cc5c076a2332ee9f3bb3913480fea50cac034

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d67c1d01157b9457b8ab5562d1128af01e02304203cf075605cfec14ca33b5bf
MD5 dd6408e6a60381cb6efdff7a6410b333
BLAKE2b-256 531110bacbaeb648f3ccd73a8de6863acc64e09c3a64a0fd3bbfb1196da969d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e99caac497630a2932c4732e23f8b2884ec265fb1227fc824b3882e4a764e42d
MD5 ff8016dc26c84e97e455d6fe36efa5ff
BLAKE2b-256 3c3426027ce6f38007671bc29f05962d97d9007c33043cab52d9547755a12be9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a5d1dc5f87256a7cd62842b9919dc927df95956711ed2699dce44c6b184fd9ad
MD5 8ee309a97f965c491ed5ecb59a30bffb
BLAKE2b-256 72d1ea131c84c1800a177b50e223f3fa7f3ba946f717d5e2a3357463e0d3e709

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f51b6e3bf8815166608f29700b70c8f8031c51d547053ae466357e295b85324e
MD5 fdd70002aec562f1b076073666da7aea
BLAKE2b-256 91adf2569f7ffb6abc8a6741b2ed9f96e1499326d246a528dc80f1f73da47198

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