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.3) 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.3.tar.gz (347.5 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.3-cp313-cp313-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows x86-64

argus_redact-0.7.3-cp313-cp313-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

argus_redact-0.7.3-cp313-cp313-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

argus_redact-0.7.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

argus_redact-0.7.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

argus_redact-0.7.3-cp313-cp313-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

argus_redact-0.7.3-cp313-cp313-macosx_10_12_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

argus_redact-0.7.3-cp312-cp312-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.12Windows x86-64

argus_redact-0.7.3-cp312-cp312-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

argus_redact-0.7.3-cp312-cp312-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

argus_redact-0.7.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

argus_redact-0.7.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

argus_redact-0.7.3-cp312-cp312-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

argus_redact-0.7.3-cp312-cp312-macosx_10_12_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

argus_redact-0.7.3-cp311-cp311-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.11Windows x86-64

argus_redact-0.7.3-cp311-cp311-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

argus_redact-0.7.3-cp311-cp311-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

argus_redact-0.7.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

argus_redact-0.7.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

argus_redact-0.7.3-cp311-cp311-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

argus_redact-0.7.3-cp311-cp311-macosx_10_12_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

argus_redact-0.7.3-cp310-cp310-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.10Windows x86-64

argus_redact-0.7.3-cp310-cp310-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

argus_redact-0.7.3-cp310-cp310-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

argus_redact-0.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

argus_redact-0.7.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

argus_redact-0.7.3-cp310-cp310-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

argus_redact-0.7.3-cp310-cp310-macosx_10_12_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: argus_redact-0.7.3.tar.gz
  • Upload date:
  • Size: 347.5 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.3.tar.gz
Algorithm Hash digest
SHA256 921a3f999845a26dbfb44dd6bfaf85f07912ffef5f1b4a1a906bb0ca4ef36e2d
MD5 dcd595b97ae6ad98ffb57664073cce6f
BLAKE2b-256 ca1549f423db6c7e8e72e054dc30a3cd5373ce81b7697e032d74810fecb72ef9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5c417fb9c4178ce96fbf2704d4eb99750446e55596d350444165ac86b1e17161
MD5 0143053ad62f7703c744c2b91daf881e
BLAKE2b-256 a4d1d184e1af14a4f19e7caa2f3b70d1fb0f4152732b3311742b8cd9ea80abd3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 668e17c6f9cec5b96ab004a41a215b6f3c11a256c922bcbf45810b632313abb4
MD5 2230d926cb86aeb531194ec3b5507338
BLAKE2b-256 af265a52502f6f944a88f4b2d1de6332e182a923571a42507a434b694ac49366

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 61e7280e0e683f76ba6d4e6addd9cc9973f583b4936aec165eecf2f4c5392e0b
MD5 3e19907b43b8d1f40f8c9f2d67fe405e
BLAKE2b-256 89f67da967faace3a485bbe0b1acb17893ef1c6f8f59b733ef853477f7414392

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8709520c5dc1779da7b57805c5016184ecf426e28fc9e28cdcd44bfc9504bacb
MD5 9297fb0913338f2dbecd2a4cbb10f21f
BLAKE2b-256 baa97a01b3410ec31434dfff37ff037b86308ccbc3649ddd62043efd72a08a23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0c22366764d915bc949d0aa7322ff2636df856f968c933d9b800ecab3e4d4cd1
MD5 79764bce583718f00b0dc677286c7a16
BLAKE2b-256 2356e26679895de01b98d5b0e398c11d84a79702d432e13c67fb0bcff7633014

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8593a3e19a09f40452bde3afc51171e9f958d841cefc7a1916b17b9c2c6ffef1
MD5 8f4772f7313b89b648def1150dd27258
BLAKE2b-256 a3e42cbbba26f0dfcc2c7375856c8a5005fda44a60697fccf689e3a96e6fd101

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 85df78c9e51fe63d7e5af256969a369c36441257df8e263c671ffe51132bae02
MD5 5338c42a490f5e81659cabdbe5a980f6
BLAKE2b-256 b01d1b6eb41ec5ccdd025a3379b208d49e09dc02a6e17fbe25159ffedcbccf33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 deac6baa5d693fc31bb16285db9336e99792c761c0ce033ffb9ee80f0bc5d55e
MD5 e6f956ba4a4985412cf572a1d75cf2d4
BLAKE2b-256 75fda66c687fa8a7515512f0cba608c53ec3dfd52e0b09c22230dda23868dbc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4a7121c8cd930c2bb1c524a349ed33a1cd1d887a816b69b0b1908dbf0a36fd6c
MD5 6d56c45ee3b5e33c7249a37d47573bc9
BLAKE2b-256 e0e781ad1826ba238967b880c9435872a1a29083327abebbeef81e9cfccd548c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4fe9bdcf869ae9afc75ef3c90590c0f598173d7f5735967782f949077818418d
MD5 984cf571890b0462f08da394d5ac8820
BLAKE2b-256 12900196ac1cb383493d4878ad38a5ebd64882bb0c175188853ed3f4a7aaff6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f6955eddd46eac18b97a959a7ceaa8c98f789e7d4e3542a2b688bb5c210a66c8
MD5 9ccca15d0417f67275c2e3e5b546be86
BLAKE2b-256 b8238852ce116a6714983008ec7a121a3f8477809b5f9cd388e7b1c67606f356

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1911903cbcad251f078589b6de4c5bd2ba94c9e600f68f4b13909539ee7a43ba
MD5 23ccfe4ce46693a106f861a6cbaccccd
BLAKE2b-256 6174258d8a6d365c7b4f43b37f0cb8a7c206650bf703c932e921efc19cfaaa5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c68a27e42d998f7d2a67c0add6bce30ca498d724d5512c93bd0e61fb81cad73
MD5 ffa573ce75511d903c5276437b9f50a9
BLAKE2b-256 c632b8606c20c9552ee5af95dfd1b25b0ee42104bc00a1c7981f20aed329d5f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9b6dbc9aa6be48477b7fe316d85b2fec254a40b277a7ff7cfdfc4926bb6e5463
MD5 29c73f91a9c928fe38e95853db00b077
BLAKE2b-256 6fe69e17e6677e515f2ac61ce64d649d99c2b54d505bc7e7af29c5e9646d2c2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 53ad7444c675ea28420d311b61f806ccb743399ee372e90aa8f6a69f929a2daa
MD5 a15e846c167ad013e6525a854718905e
BLAKE2b-256 7f49b4f5d4b9c2ae54995233c31ce18e4b7b550f11d2cb75ab755bce3dbf51e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f2aa403334ead3516e1857a4bb04b8b1ccafae1f01de25f37fd5cdf75510f033
MD5 eac51de2d3831ad78e93bc3e991ac08f
BLAKE2b-256 228bc19f2201fe68c4de4fd17249976823560853fd0813bd4a28635021906581

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4e649a3098178ed3e8976edbcc911ef9fb1ced36688d396dad18a88d24f30ec1
MD5 1e4efabc64b91ebabf9c6336efcc176b
BLAKE2b-256 96ed68d47ddd9a3e59ea7778c09a19d9d84ec3fe0185703fc6073ce7ff8a8683

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 93f76283d5ec55a2f72cfe6950c91b833f79573a68a84edd9624bd1c950327d6
MD5 dd2272396b531b4e6203014b0bbaf5e5
BLAKE2b-256 0d964b6a3b545b5be7a285a6a338c19ded8e7b2cfb272e377ef857a6da294ecd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c7f440c71f6c5928d887a5fdd4c44db0e0895289da0c36bfe3db6721a806380a
MD5 33f35975e779d26ca2cc899efdb171d1
BLAKE2b-256 a48d9d464c114a0155caeee7f64a60a64e6ed5015dc40cdc958e65a73ea64db4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2a0a45e8321f0eef8bcbcd92daee3aeb628a4252af507128d4ce61dc32f073a4
MD5 08316ff8046d6ba2ad726e7c124db11d
BLAKE2b-256 b0b78c2bf2bcac36917b27634bd172868413638b0973230b394f7d1e99d6870d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 aa548def340d930fec72c894f559e8acaa5ec0805ee1a0b66189faf7db732c07
MD5 80f53948723d8065e8ae2c44b5a24ebf
BLAKE2b-256 172fb97b3a0a0dbea69620613d37f680aa510c9cb2a51e68676d8848111dfbe4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 32c7c11d34d9abf88247ee35650a6cbe624f5118e1964f11010fc60465354739
MD5 a7329c54ce7cf82048cfdb1d349cce22
BLAKE2b-256 f1c1980fe88076611e3b70eb73e2158704b7ddddd305ed8ebdd5e43cb4b6f6cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9b3b408cdfb4a118aabb2f4caa8aef93c9510a0ba81de5dff547a1c0f01168c8
MD5 ecf5d0c6cecac283364f574a6ed57c3a
BLAKE2b-256 64dfac84ea770c149ea937284db4481f8f1b77dee49be501934d9ddca1fafa69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a29c325b603bf32ec11fb74638e129e2c7b1c2fe339c420a0e4f69799912d656
MD5 f619f3b5b7758aeab6de84a4da026da5
BLAKE2b-256 6c955001ce127e31928dbbe069bd77f9648a68566f6cf6c7e28c7171666e9f79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f5db5d4f4deba88398b78c6646a557aa25de87653e27978bac78403129930787
MD5 5a1e62fbc75567e419e36f182393c3bb
BLAKE2b-256 a7bc5ed35341ce7c9231fa938d6c2c726db5b88a4272f5a536f38407ffda61ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7830b7991ed9b688c87a9110ce4fab4bd8a0b19a3887897a1bb216b0507dcb87
MD5 2353985f7f691019a203f80766cf4188
BLAKE2b-256 6986cdbc29cb791a62ccbf5e1fc7b1307351e3454cb5cfe90f7d74e9817f4b80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b643ff1123c40efe497dd6c4ddba257c222e96c32e505a16af50272f767c1025
MD5 07fd26dce02c4847e1a1bf21234b4cf4
BLAKE2b-256 3700aed0af42cd5fa7509cf6018c0bd4b9ae1c0dac9471aea7503f5bdac272f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.3-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 96ba8c918af62f234b8ac22009770824c4e2bfeb59a7f0b3982398582a4e74bc
MD5 2bbd4eda5757844ae5ea0bf8270928ab
BLAKE2b-256 5f403b174671766ccdcd9a7071bc58d9d6c5e4fa26803cc8e9eaf29c559d8c54

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