Skip to main content

Encrypt PII, not meaning. Locally.

Project description

argus-redact

English · 中文说明

PyPI crates.io Tests codecov Demo

Encrypt PII, not meaning. Locally.

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

Rated PRvL-Gold on the PRvL reference suite — see the spec for what it measures.

from argus_redact import redact

redacted, key = redact("张三的电话是13812345678,身份证号110101199003074610", names=["张三"], lang="zh", salt=42)
print(redacted)
# expected: P-83811的电话是138****5678,身份证号ID-03292

print(sorted(key.items()))
# expected: [('138****5678', '13812345678'), ('ID-03292', '110101199003074610'), ('P-83811', '张三')]
pip install argus-redact

Three Promises

Promise How
🛡️ Protected — your PII never leaves your device 3-layer local detection: regex → NER → local LLM
🧠 Usable — AI can still understand and help you Pseudonym replacement preserves meaning and context
🔄 Reversible — substring-level inverse via per-message key One-line restore() for verbatim LLM echoes; paraphrase / coref handled by compose layer, best-effort

Other tools shred your PII — it's gone forever. argus-redact encrypts it with a different key every time. ETH Zurich research shows LLMs can deanonymize users for $1-4/person when pseudonyms are fixed. We generate fresh random keys per call — the cloud sees unrelated pseudonyms every time.

Default redaction output

redact() emits per-type pseudonym codes, not Chinese label literals:

>>> redact("员工张三,身份证110101199003074610,电话13812345678", mode='fast', lang='zh')
('员工P-83811,身份证ID-89732,电话138****5678',
 {'P-83811': '张三', 'ID-89732': '110101199003074610', '138****5678': '13812345678'})
Type group Default output Strategy Reversible
person / organization P-NNNNN / O-NNNNN pseudonym
phone / email / bank_card 138****5678 (partial digits visible) mask
id_number / medical / ssn / ... ID-NNNNN / MED-NNNNN / SSN-NNNNN remove → per-type code
self_reference / 我妈 (kept verbatim) keep

To unify all reversible types under one prefix (hides PII type from the LLM):

redact(
    text,
    unified_prefix="R",
    config={
        "phone": {"strategy": "remove"},   # mask types must opt in to participate
        "email": {"strategy": "remove"},
    },
)
# → "员工R-83811,身份证R-89732,电话R-12345"

<TYPE_N> 1-based sequential token style is on the future-release candidate list (no committed timeline). See docs/configuration.md for the current strategy reference.

Privacy Levels

argus-redact evaluates your text from your perspective, not a regulator's:

🟢 Safe      — nothing about you is exposed
🟡 Caution   — contains personal info, not dangerous alone
🟠 Danger    — can narrow down to you specifically
🔴 Exposed   — directly identifies you
from argus_redact import redact

report = redact("身份证110101199003074610,手机13812345678,确诊糖尿病", report=True)
report.risk.level    # "critical"
report.risk.score    # 1.0
report.risk.reasons  # ("id_number (critical)", "phone (high)", "medical (critical)", ...)

This is what compliance frameworks don't tell you: how dangerous is it to share this specific text with AI?

Three Layers, Collaborative

Layer 1  Rust+Regex   phone, ID, bank card, email, self-reference, ...    <0.2ms
             │
         produce_hints() → text_intent, pii_density, self_reference_tier
             │
Layer 2  NER ← hints   locations, organizations, standalone names         10-100ms
Layer 3  Local LLM      implicit PII — symptoms→disease, behavior→belief  ~20s

Layers are not independent — L1 passes hints to L2, enabling collaborative detection. Instruction text ("帮我看看这段代码") skips NER entirely. High PII density lowers NER thresholds. Cross-layer agreement boosts confidence.

Unicode-hardened: NFKC normalization, zero-width stripping, Cyrillic/Greek confusable defense, Chinese digit detection (一三八零零一三八零零零 → detected as phone).

Core engine (regex matching, entity merging, restore, pseudonym generation) is written in Rust via PyO3 for maximum performance. Python handles orchestration, NER models, and LLM integration.

60+ PII types across 3 layers — from phone numbers to medical diagnoses, religious beliefs, political opinions. Default is mode="fast" (Layer 1 only, zero deps, sub-ms). Opt in: mode="ner" (+ NER models) → mode="auto" (all three layers).

Telemetry: ARGUS_PERF_LOG=perf.jsonl for per-call timing breakdown. Details →

Deployment fit — modes have very different latency budgets; pick by where you sit in the request path:

Mode Latency (per doc) Suitable as
fast <1ms Inline gateway plugin / hot LLM proxy path
ner 10–100ms Sidecar / pre-flight middleware
auto ~20s (LLM-bound) Async batch / offline review queue

Don't put auto in front of an interactive LLM call. Use fast inline + auto in a parallel audit lane.

Limitations & When NOT to Rely on This

argus-redact is a PII data minimization aid, not an anonymization or compliance certification:

  • L1 fast (regex) matches well-defined formats. Novel or obfuscated variants, cross-field inference attacks pass through.
  • L2 NER is statistical inference; out-of-distribution text (informal, typo-heavy, minority names) has higher miss rate. See benchmark results for measured numbers.
  • No guarantee against adversarial inputs — attackers can craft text that evades detection.
  • Not a GDPR / PIPL anonymization framework — anonymization is a compliance process decision, not a single-library output.

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

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

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

8 Languages

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

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

Performance

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

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

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

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

Detection accuracy

Mode Precision Recall F1
fast (regex) 81.6% 31.9% 45.8%
ner (+ spaCy) 74.9% 42.8% 54.4%
auto (+ Ollama 32B) skipped this run

ai4privacy en, 500 samples, v0.7.9. auto mode skipped on the maintainer's hardware — see benchmark-report.md for full matrix + reproduction commands.

For context: fast mode is high-precision / low-recall by design — it only emits formats it can validate (Luhn, MOD11-2, etc.). Recall comes from ner and auto at the cost of latency. Pick the mode for your deployment shape (see Deployment fit above). Full benchmarks → | Performance →

North Star

Dimension Current (v0.7.10) 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.10.tar.gz (471.8 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.10-cp313-cp313-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.13Windows x86-64

argus_redact-0.7.10-cp313-cp313-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

argus_redact-0.7.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

argus_redact-0.7.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

argus_redact-0.7.10-cp312-cp312-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

argus_redact-0.7.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

argus_redact-0.7.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.12+ x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

argus_redact-0.7.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

argus_redact-0.7.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.12+ x86-64

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

Uploaded CPython 3.10Windows x86-64

argus_redact-0.7.10-cp310-cp310-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

argus_redact-0.7.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

argus_redact-0.7.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: argus_redact-0.7.10.tar.gz
  • Upload date:
  • Size: 471.8 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.10.tar.gz
Algorithm Hash digest
SHA256 7aabe1f8dca3cc948f586a0207eadfe643afc8b0456dee420869e664416a15f9
MD5 4c1ebd5ef50b3234eda667985116e65d
BLAKE2b-256 07bcb1b7a27605b9f406b322bf41bbc0dd697b897ac3d20bc37e8cca43c539b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1d49e3b653c82b95e7b2114b83d34f89edb25e64374108de2dc189618e44998e
MD5 8eeceaa1ae5734ba6edbb64081b073d1
BLAKE2b-256 ff0eab644bb32577afd2fd853eae9f9c90023a2b5aac62a0df566c7d4629e4da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5af563b1d5b6f5f27967c6f2239e0ff5d72c99e285ff89b35d6f2c591240b2bc
MD5 fcb1bed3d748c2819076ca384fe6d096
BLAKE2b-256 0e887ba2e75bb373725bb0afebdc45116635515b64a2fcf4b1a68f1ea2beb695

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cc3f4bc93bdc37709d48378717373a8917495766b3e0b2d5c66af8701832e2e7
MD5 10d08b2d2bdef2b783450cbae6cb51e5
BLAKE2b-256 f5fbf1b04ee45027d7d1a0802234cf60d233c5981137a7cbf6a456c4fda0445c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cd6c556b6c206bdcacaef2b3641b6c7880f5b2594c2aad6a111e16b6b237e2a8
MD5 0124644cb75f6d20621ab68b62573c21
BLAKE2b-256 72935c93e8556c42e2769ab0ed1ecd37a10b90f1838bfae90d85e970ef5f2601

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f0f37f5b0f25e2ff3a8055135f822111c7c95fa1c079db7bab51995f23c83bd0
MD5 b9534a422d84df240664b36ba05a265d
BLAKE2b-256 077a80d85d0f6f848684e6fb8991e2edb6ddb75da0e4208c26055ae3a62a400c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5f28fa84b385a04dbe97976d56eb2305562b8aa80b977f351abd8fb777156cbd
MD5 371188c2579c0b9c549645cf55eda1c3
BLAKE2b-256 f3ae1d1a0eee5ecea4cda5a7b33e588318a6d04b071edc6ae625b57a11ae48d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 83d926a190b036c6b57a54eb3cea2a46e0acf3b8dc378f95723ba8f59ed3ac3b
MD5 c23f60f6d0f99130a050108f700e5551
BLAKE2b-256 dad4b3e8807e1e6229dbd7c9b80dcd76c226b249090a554535d1c1b85faa2795

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9a53417691017e8868ca391745fe839c0e7d233ed0a1ed67e8413ce26ef4092c
MD5 795070c0c50724e1944c37c31112b8e0
BLAKE2b-256 381cdae9f57367e6c4cbcb374c7dd9d3e30d42b8576803d07436eae0e4f1b378

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c0cbedcec147372df7756d93990bd48481db347035f38225347443238ee87a1e
MD5 5c870f1da8547ae459c09a336e8a1f92
BLAKE2b-256 7ba07b1142d391d5f7421c9a6e8a935aa774a9f22edfbc6d5314e538e5f9b5a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5c4f935c472a323ff2f063224e67d0d906bca333ef83a08238c54d1d78039b68
MD5 61e17fa5c971aae59878a9292f1ff65a
BLAKE2b-256 96a2cb3476c63514fb830bd4d2eb8b03b5ed6a26bb58bf73f948d8d9a0712557

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d44b8a199d731a8523c7029d171e9b80017dd90672132ddda61411f7fd923498
MD5 f8277723b9a0cf341f39f9cc73c5cff0
BLAKE2b-256 57eea77901b9485919931156057ba2aed23ae8b6378c01c9982a202dd4b066ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a5264a051a83f1fdc8110e1304d807e30e9aeaab1498a1ba7c3cf93f87f52cc6
MD5 36f9d2071de47e30b1e6963f0cf8bd8d
BLAKE2b-256 4f17f5df8b09fab8caa96c0751441853c6d802dba28c314bde3c18eae7b65c55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7641e4ecf4ec8d8072d561963b0eca0dd2fce45ce8da789b4e19d9120ff9869c
MD5 eb7fe98eef098dbbeb46007531bc27ae
BLAKE2b-256 0129185f3758254bfc3697abe3db9fe17a2ba79893d3b459358fa6f9a2ac5017

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1c8bdb20c19f92b1bac4502602334f3570d99c5c7f17ba5212c96ea057723a22
MD5 3a9fc48afe5303f02c946ef731e33140
BLAKE2b-256 f47dd8e4f46b0f5a8751b8647730a6aea456dae826066de9d194bb6bd02ca88f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9769395e4d1c0ee854fa8acf06994688bd7c23a8535f7a14c616371a65b83e7d
MD5 4c2af74e5303d085c6a1a86aa32848cd
BLAKE2b-256 961bf1b7e9cd559870a6535aa5d722307b2b2b01723a6043d86129be7728b183

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 997cb0a4dbb6fced059f75c06e73b1238d6007eac9693d33643e8614bf0868c6
MD5 2e3b0fa35482beb69ef8dd5985b5a367
BLAKE2b-256 d1a02a5ed53e98764dd96a11496aa8d3a8f004495fed9179a22e4de68fb00751

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d079cf339090a33ecbe7bf92a8d4510e3768bf514217abc380c0ba5ed16a0821
MD5 0643cd213cbfe5aadb71f3ef2544900f
BLAKE2b-256 fe569c5658fbd8dea28e63e3c9acbd78c0205dd59d6322d667766ba897875234

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4a91c8d31c8b963b362b5ee48fcda1bd06fe08feb5e17c3001199d81d754f544
MD5 5110cc85aa046c9d8ab1a07760242b5c
BLAKE2b-256 3a8112dd3efb2f895f9ca32dd9b45520c03720424d07f904da8f9957f2d94199

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 589c9a1843b96c033a5da865efdf5cd0dea4972aaed4eb5c6ee3c6aa89b35ef3
MD5 35804d0832e1b8d30dbf6997da941006
BLAKE2b-256 acf823a33293309815efc408e204558a455265115cfe77b1936881e1b09f4f39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 40ce614e85c5d9a218586b9b2fe2ecdc45341273da12ceee9524c7e8a35cdcea
MD5 a28622c52d05a2848c5bfa4d226289e3
BLAKE2b-256 8ff3540c7af01f1ecb98c71d1acb92de0bafbb732a036736c0510a0623b93ec3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3405f81cd708d192fe8438b31b0da3b51556072909193efc16e55061733db609
MD5 549bb90c56297e220033a5d39ef74b53
BLAKE2b-256 af19815c2441cea65677390497d5e72cf55bbe3b44efe47d541666fc0af82f28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 80920950cce881d1ac4f954ce583de58d83855c0592be6a55ed30eef73578feb
MD5 a35f5fc0cfcda74c21eeedb780568573
BLAKE2b-256 aefc6c426068201aced37d5238aeb495979810df5dfc610315420c90ca98ff4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 57fe1aba4d4078b1a136b3b39fb2b140e09ef0cd1a226876d8f47d58f806f152
MD5 e3fc903173aa60df3fd9ce4ea8ad3756
BLAKE2b-256 1764f596607747f5a1be0cd8dad10fe2b3dc34773b6c79d26b3aa036f463e384

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2b82a8e4940af664bbf0c9b3f47e0aba818df2fc3d2dda5b636e1d6e278d0f49
MD5 5b2e4d0af404bedda06c337cce09ba96
BLAKE2b-256 c2728dabae110e634ca793de5bf52ea5bfaf992076e45f3eaaca379c27e111ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ad2334e7d1b83b8df22e2f68ea90e40f95dac8b1b7406cd9c0260f56269e415f
MD5 1fd67a2de6a11ff8501cd9aeebcd1560
BLAKE2b-256 89a003d27af22ac58571e6a1f734cce5730144a922fc4c4bae48b70b27d63ba2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 11affc7cb8a9c56e39a48f8512dd90046f20ee706e4103b0c8a0787ea5d12be0
MD5 b6284ff932b978939a8ce09472a20569
BLAKE2b-256 71b2f5a35548e27dbfb5374f15496977dc41207f4255a251655b38c551d16859

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f60f98bfb7869fcfe95951b69165097d1e510fe6b3712fbe13d0e9b4be57b6b
MD5 293593cd303d053c76a163999ed4ad20
BLAKE2b-256 c3236a8b977b5b7e54b35e64bf5174f781f8c677f06214304a2b822d573bfdba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.10-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cdacf5093bd76018e1f4ba966a8ea2b804ae6dffd6e88d87daf0bc07fa38d152
MD5 4a7868fd89c28610a35ebf9961305518
BLAKE2b-256 0a89034e9556a36ef263febcbf4c69fb0d8112f5aa13a715d716298249996f6b

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