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.2) 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.2.tar.gz (304.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

argus_redact-0.7.2-cp313-cp313-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.13Windows x86-64

argus_redact-0.7.2-cp313-cp313-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

argus_redact-0.7.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

argus_redact-0.7.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

argus_redact-0.7.2-cp313-cp313-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

argus_redact-0.7.2-cp313-cp313-macosx_10_12_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

argus_redact-0.7.2-cp312-cp312-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

argus_redact-0.7.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

argus_redact-0.7.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

argus_redact-0.7.2-cp312-cp312-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

argus_redact-0.7.2-cp312-cp312-macosx_10_12_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

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

Uploaded CPython 3.11Windows x86-64

argus_redact-0.7.2-cp311-cp311-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

argus_redact-0.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

argus_redact-0.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

argus_redact-0.7.2-cp311-cp311-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

argus_redact-0.7.2-cp311-cp311-macosx_10_12_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

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

Uploaded CPython 3.10Windows x86-64

argus_redact-0.7.2-cp310-cp310-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

argus_redact-0.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

argus_redact-0.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

argus_redact-0.7.2-cp310-cp310-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

argus_redact-0.7.2-cp310-cp310-macosx_10_12_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: argus_redact-0.7.2.tar.gz
  • Upload date:
  • Size: 304.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for argus_redact-0.7.2.tar.gz
Algorithm Hash digest
SHA256 8ed1850d1a1d4e72c8eb39518dacc15cdf5e1defee664c523de7f820a6138d9f
MD5 77712c1fdfd13ce4e1ea41d0e7294941
BLAKE2b-256 88861b5932f4783667b0e0f7f2e5ed2da8090b41f01d0c5cb53908e40e9e0773

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 58d76b501ac515b1d0ec5877b2267181d002843fc590ba7b2884f0b202975cf9
MD5 8ac8e9ac86deb9408c2e6d6777d54b30
BLAKE2b-256 ed431b0fdf07246023b740f46e80a97112eac65d37573f9bb49498a06e7ee41f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d13a369e8f842fa12fec3601ede15cd5fa3931e541248b6877af4be21da85a19
MD5 8a61557af5c74e12b3cc0b4ed6ef077e
BLAKE2b-256 932002d55987b8a7899fe380e89f77fb4b20b2d5473ae44650976a89c96a7438

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 40fed59f49bee0ead725875b4aa33a6ac65f0825a50b1f5753cfc703d7de40e5
MD5 8e85ad219e81c8f5f5359bcdc02c2162
BLAKE2b-256 63760a5ad6a6fe5cd311df6009a98f2d287e9151405d233e664393824c857c6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 05f896aa66771c77753af208a003670f2cc25e196728a461e7682b1321e03c34
MD5 701f9bc5f5a0b1f62b057614366f63e9
BLAKE2b-256 8807d47a81eab83a94f76e5d06dbe3efd46693d802a1d5d8f1809303944d0f1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 17ed1d17df8ff24a1f1338910a2b52694a9166a9add3f7f07431c7f539219540
MD5 9ca46357edb73ebbd182d61cbae55c46
BLAKE2b-256 5ac6649aba567371b576c177af71d834f19be184e703204dab27f51f6c5f7957

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 19a430b4f2a9614994de1cf9530ded4057f7438ff442aa2bc03fd1764f531962
MD5 e3d7251fb94304949c6abc0ab58c9057
BLAKE2b-256 7f52b1abada78759af7ade6ff14b9ff222863202147c0d65623f3f4c01675c80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4e3a6e516426de1983f654d36373b8e39d0e7a5dea0fc7c262c6ac108523703f
MD5 634396fb185bf619f46614ccad719063
BLAKE2b-256 25c8345b5165ccdfbdfaba2aaaa923c46251d3fc45bc5ab07bddbfa201770a0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3305f5c4a46d5c407abeb49b2abd05d9e853968e2d94018d6da80359f2d64ed2
MD5 ee0cd937f1c9db60857fe87b5e64eaeb
BLAKE2b-256 3176001b481cf9791cb75d08d6deaaa378ada56cca5f3facab62f4aacd1133de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 03fb83ad101d0ac6eeabf63ff3d70a8b8c518aaef43b2e5ea423d7bcb15d4411
MD5 e96f07f6f64d617a3f672bbd2d00e7bc
BLAKE2b-256 61c3a07244ddeeb252218de0a5d0d9b0ff38b505f2d61d5fd702b7e7b053036c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ee3c95693c7704fa847c9fa6950088a632e94a2e13b601dff108579be1bd8c46
MD5 da960dbcc6e1b2d6a02cfdd821f73546
BLAKE2b-256 f31110c92ab68b8ec60766b21b9f561fb5cbe7aff4f7c5e85c45e6cbac737505

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f523b12935bcaa05368f084f6682ab3694f90104e4d5dc50a21bc2f0b213680f
MD5 81a923bd2d8c00234ff572de45f0a4d2
BLAKE2b-256 345a8776c3c3759a2022b7a816a99a16e85c9cf2d0680c56b620b33367776531

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bf69eb37b35d9e1ea23d5b5459764d4baaea0dad7edc4982e40835b19a2e9940
MD5 1ef84690e7bdfb467c8ad3b69e12a49d
BLAKE2b-256 63b10723b73f5da9da47e959e6ddc50f15347c22abf3cb511496700a6b92db98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3c07a6bbb6a70bd431943dd68ce094a430257303e97674d7842145e86f1b43d8
MD5 feb6d0fdb413c245d90435c045c91f26
BLAKE2b-256 0eacbc4e1c6a696d4ce4c17d4ae0f41f6a9d3ebd4ff3f1fac7824e56ddbb8a5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 951c6b8b4bd28a5b9d93b1d3a4e8d67a8fa26f30600ad99afae998f64b124fa0
MD5 25c8e942d3757c85030d5cecf6bb4240
BLAKE2b-256 88e19776e4e05e4cc07d3f9d8e0bff1608f1d928461ca01bcdca672da38f25b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c6809a27053a82575ae50951428a8c3bdcbc30cdad75c847bd11fdd9dfcaa62b
MD5 44a3e1e6094f9a8b8baef10268ef9a6d
BLAKE2b-256 d3ae74a2003f43196bf81d03e4c6343a1d1106a17c4a142ed47bacae39592a59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c147b28821900e927d7a2210bfa32f5e47f252e16b64ed3c2f78d413067887ce
MD5 1cddabc91ec913b1f2eee43783c4dfd1
BLAKE2b-256 10d19c5bb5aeb073e61f6350a7582e77071d9a0994d94a93efc247269c0a200a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7ee3518f1f834f6501406bd9364702867df0ee91a968dab06bfdc4f38c95dc7d
MD5 9817de8c5f10304291296c91edf56316
BLAKE2b-256 5efeab51a1cde0ba6eec052e32413c13f24fc71a686a809a4e0371846a48b9db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 19fb3bde8d09017a46f9fe533ceee49237dad16bc8f8deefaa648f9e1ef30c6e
MD5 537d73321e63a95a67ed99fa76eefb5b
BLAKE2b-256 350e75b5f5af8a6f6e5d49fe3d5735f9a86380b0f47a3cde964991224b9f4a5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 75725ff476807b0cf07800745f7f2bd9c3fb883eced8a19d7f0360246295919d
MD5 47389ee3c4804a52458d0095ca5f5f67
BLAKE2b-256 d9adde79261df41a11e39ffc32c149ad2089965488ca6ad3804b596b6a4fedb8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c56b88650fb9bb1b0d7922792dc36a5beb17fce58b34e804d3897e52cd1c59c5
MD5 a4710e52e7794712c5a1096a8e32a450
BLAKE2b-256 defbe5aa2ab4ed606e9fbfacd29733b531d81bf1536066f96347a6d45afa714b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8e77261be2199439f83a76fabb9c090c0b7411399f43b26d99538276d998689d
MD5 4b8b28bd88c5382e599c8d6c3d632453
BLAKE2b-256 db8cebed8f2dd5c7c0286a84cecedb353ba523dd420cfe687af65eb992bc3898

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6e14eafc0c5858636b45ef9c3d43b3925daaadcccc13a143be3c4b1866aa83b4
MD5 3454baf8785cab1c84b0896f9865e2a9
BLAKE2b-256 5ef9d8edefd249144044b6f0578fc9e3b569380f65329f1222042eae729deab2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 72ae73e1350caf7d6e0edaec47d7689dbd491dbad35d458985908ed2b3f76aee
MD5 3b23d15e754e8f7b11cf0b9da578e934
BLAKE2b-256 c318e80a80467611d00cad780e36772eda692c7a7e87f13f372f29849dde3a19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bf32119bbf7c22dc0b9937aa7654132c4817dbf371c42337a43d01033c6f8bf7
MD5 c68c30714cf324e57a608f655f5ab4d1
BLAKE2b-256 d5b26be4a684a52de07d0d44bfdfc420ed771061112d1c347c63146091e816c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b4bb1b725145e0c650b6427cece6ad62989560ae0da718009b51eaa591d6a50a
MD5 5d8580b0a11c7a13cb3f8e757bbcba18
BLAKE2b-256 44c0982159bb4c11f3dff5275f9c0edbd9817eb6a635e10f111ef37493ff5c77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 254272fd2ccf76a2f445e88af807a04f8c56682cb05cba98b9599562c8b6f0b1
MD5 95b7bfd9133dd24ea216e5f8ec66567e
BLAKE2b-256 b8d14721b6d68004df6462e3e251e34004791d39345411f800c5dc9b26f6510a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 91c02f8dc7b2b35697c8306000b639188a3786be993283505b4936bd6fc469d3
MD5 5ba1feca14bc2bce4a39fac7f8a9d8f8
BLAKE2b-256 c0d5a1b37c6c953009291aa66f5bda90adf8f5bbf3fdc0cb2edf906f0027f83d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.2-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ac8fd8f7d17d473313fd723dfdfbf68645671a468e4bba4218c46fb7a5dbf938
MD5 e125e28fea4134aa5cf4151ffd63de23
BLAKE2b-256 4cb5d103e78ba2e4321da9b3ccbf577a871d91c0e58d7b4735fa26f86280a8e3

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