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.7) 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.7.tar.gz (407.6 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.7-cp313-cp313-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.13Windows x86-64

argus_redact-0.7.7-cp313-cp313-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

argus_redact-0.7.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

argus_redact-0.7.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

argus_redact-0.7.7-cp313-cp313-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

argus_redact-0.7.7-cp312-cp312-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

argus_redact-0.7.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

argus_redact-0.7.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

argus_redact-0.7.7-cp312-cp312-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.12+ x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

argus_redact-0.7.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

argus_redact-0.7.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

argus_redact-0.7.7-cp311-cp311-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.12+ x86-64

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

Uploaded CPython 3.10Windows x86-64

argus_redact-0.7.7-cp310-cp310-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

argus_redact-0.7.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

argus_redact-0.7.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

argus_redact-0.7.7-cp310-cp310-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: argus_redact-0.7.7.tar.gz
  • Upload date:
  • Size: 407.6 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.7.tar.gz
Algorithm Hash digest
SHA256 85d5961f6b916f652893602f4eebdc7401c4cfed4cba1e5d401818211c0bf454
MD5 675ba01d931f4abcc2305f7f8e91b343
BLAKE2b-256 eabcb98d5765e403448a0d3693d7d2dc2fbb845d0bef04b4afe5f7f6f477aae8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 145e7de1d31e9170d5fb23cfe06e1c09562406413120657f28dc391e503678de
MD5 ad8ed76f973c6d010d5a8b420f8ec10f
BLAKE2b-256 7210994fe1ed488ed955495b338a0801de2679ac9805f7c934c3a20a2e95fff1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 423ce262b44a784cac0e19bab8c7da4c7e45f11a76e2613377636960a2b6e7e9
MD5 d8391d2f8f620140750bf94909256a77
BLAKE2b-256 64094d1ebc49e84a7c2f87508bb97eecfb51e50458208727cd67c09e0273ea7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 971867f28ddc5a78eadcc7ffb0ddaaaab180b4a6218132856397f19cb524f664
MD5 2eb7cd9418cdc76a66d031618dbb6481
BLAKE2b-256 59492d5ed3c34361c297a28f1c57175537050d02d48d36ef8b1162e1d928ccdf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b00ed99c958a0d912cda464aeadef52291a4777aec3897fc5e50171004c0572c
MD5 58d2c3d2f29babcff38f4b897b3a2bba
BLAKE2b-256 23f6af6d59664ac3e42046a795a9f7c43d673fdf5b14c0169d6289362a8e1bb0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b95aed2be0e988f6314ea16f34466dd69537ac8c4e304c1e4c42fe145426d9c7
MD5 6ca2a4be5fe02c6225f53a5d337782bb
BLAKE2b-256 7abee21cc2f6239b9860fe6514425f74fafbad486d4dcc6d569b1eff5a53e308

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5bc2970ae2a2598ef5f14a6eeeaafcb07a9d189639eda4ca1596bf4ba99f0a50
MD5 6f4f5800275823e7ac6a1bbb4a667a4f
BLAKE2b-256 585ae7e1ad81414f9de960a5b135ca8f68d501f8ac3f8661cc080f8b5a47f743

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0071f831f2e11d4ee09ad179e26268a1ed20b74577312a52fd7b7473dc98bc96
MD5 347b615da2233385faa3796116359978
BLAKE2b-256 489b47359bc4931d149a286481b8c5cef9b0648ac25f16334112c66ebd0a715d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0e8f6135817c995391e6caa0bb3f989ab1699d7dda85237a0f0acd1ff18182fe
MD5 5e244b6b1b9e2a403eb3836441e881e7
BLAKE2b-256 9ef7f82b0251c6338f7cbfe6d7a8cfd316ca6884f972b8321240900903933aa5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d8b3f3331f01f59fd3f9e6d6248366ce688df4ca5688f51d9ae366259ed4b62a
MD5 520bbfea59e7d7b050d045c08f98b0d7
BLAKE2b-256 c301fcf9ccc750f0ec97058f44fd60a9385582d00ab312bbc53f03b78c1e5f9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 64501d3819cf6ce06514d04fb3ba0325a122afa83a02a8f6888f8b5309e74542
MD5 84cf161520358170cbbba0d00c221508
BLAKE2b-256 94e5a7d0fb97c74fd47245642c0d17a4b6034d327a7e568a53a6ff07c03d2296

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e4dcce1994bb5e2485f4642040e59a2657cda5efaddb565514514bcbc696260d
MD5 c49ef8cb98eb97ff516847cb71ce4792
BLAKE2b-256 e4ee6e988b0ca5759f9c03fdd9689351fca4dfc35f122e6f966b342c3413eeac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a71c907e5d6ac6abe89bb5e9ed6c204ca1b1b78bb86a78e1ed576c66bad4a35a
MD5 7a59b2d25f5edd0941afee4f9c04fa06
BLAKE2b-256 fef6d98133b9558bec06a6a9862f116553363bebd0a87cb97c2ba141a2cc03bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 53caa037db5633f2e29cbd35adebea673c0ae4721b8ef592d2370d5bc6ac8652
MD5 05281534eca19df3fda0a45f3167c767
BLAKE2b-256 d3dde4c91e3a0acaf4253fc12ef26c05924e109016856b3b2b757c130af2e500

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c005f80579e959a10eefa84f90478a889b11e10dd03b3921075a2acd3cdd32cc
MD5 707ca490d2396dadf3cf180b3380eaae
BLAKE2b-256 65aba2199ea144028b9561b032d8744e9a1936c52dfd8519846d4070ecb89f1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3468b90b23cb2f4e9a5b200fbf6695d955557cf2afc97ce18945d9260154f1f1
MD5 6f12570a489d5f6bed6bb84fe1da19d6
BLAKE2b-256 330e434a39c78750749e67b73035b90d40be4c5b247a93ba3c4f06197197f211

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 66c894c5c60c07e435c26024a0222bcddd3a8cb025505ac7223d63c1c9274291
MD5 895cf049bfc4cf8081b4cb3f579694dd
BLAKE2b-256 8a91e48db0ac36f7aba6e1415e56c552e5b5c0e214629104628da1837caacca9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5ebfc72e25a43fe817138858e644d4bf4c351693a385e5cd628072a501b1df76
MD5 9d231cc567a2a0d47e1ab3105ab0b794
BLAKE2b-256 86cd6f058c9f983930db878b2c58cedc6bd04eaa18ea2b7f0e95506c1bb29a06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 923c6b17966199a0d3ab871084a1586812ee8f186a5c64394cbc5807a64badfd
MD5 3d57d18538c9646a8d3e527c0476125f
BLAKE2b-256 f4e9b0ca9f564d93f721b8de5c82c07a40817e90f38e8f87d7570d99c8d3eac3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0560dbe34da911a8d350fc2017ea466091ab787681056d83d7ae1f9f5307acb3
MD5 ec2d4b2230ed86f85efecc55013b55c8
BLAKE2b-256 abfb4af622287359db66e12f000e1603efebeb61948d607538916f4d7fd37c58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a0ee38157896322438946957fa7b6c2accca1239e1ab3344b876d61888fbcc88
MD5 69dfe3243ccddfaed46ee7f96713a2fc
BLAKE2b-256 4a5a677a8a3edffbb397827ebb2d13b2fb1e77a6af078d1690f4cba5731d0083

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d87ccd31bae50392291e3e5c2328821971c3b6438a0ba13b6593dd2d2e70e44c
MD5 fec4ae18cb04f2bb9062e3e68ed1e697
BLAKE2b-256 65972b73a213e235ef0a4c9df5f6a7a35626b45d13e40d3e9cba43c127cc5c6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d86934be96198d805595edb4abddf1a00bd083eb3e52dfec1c5aa9736711e0af
MD5 9e7c479a5ca6049e49136d964cf911e8
BLAKE2b-256 9680da47206b878ef903ab89a7b9f77f3209201f55a60b2dd93561fc1700b70c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2074660e764bda5facf143f7db807e97afcf0209301395414d516715297da01f
MD5 ff3c08926d580d6aa67900a6730c7b32
BLAKE2b-256 8afacbfe31bd8edd3c58db3e4d3c070666b0a01b7a69c095f1e280837e1ed7ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 74554e7b1683e0ec2db86c8c32adc4e72a007f857c8fa8706fc09f3dfc4464c9
MD5 70ad49e56977f5a9bf9e6778c3e1535b
BLAKE2b-256 5f20381ff882ace53da9b70e1d1018c78d68325ee142fd862ee43fee3b69c493

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aaebc8bbf91419f86656a136c10805b58417ffcac9dd82cb190473a112b192f5
MD5 41baa9531bde76660f8a969f87a731b7
BLAKE2b-256 dbaefe7bacfb8ecf8e308e3b1902b853fdd3d9683769a0bb375d6d8a217a94b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 462addd5be6d91b810dfa939bc65121e0cf5198a2b77f20714b6966a3154e83a
MD5 1504bced29c28817f7aab5833e028767
BLAKE2b-256 364a844d5d0617069da7c38a6c3630d3cc17ea280e58315c5ba11570c52c269e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fddbe432a46441fe5f37635509a755c85238b0987588c51480ea0b467c9dae6d
MD5 de8f6135c0e843d862fb8aa32fbeeeff
BLAKE2b-256 41a44da7eadb87ab3980711c93ff3ce7c8e57e9ca1773fc4d90594c12838be5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.7-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8aeaba9281194922d13016aeb3f2ba1331608cc8e135230c63cce9559f1e57f4
MD5 c9fc20bb9cd580fdaf36fdf3d46d3449
BLAKE2b-256 6d3c9c20047673d8da7571f6df4730ce82b38e431826c59607e90cf37a719d3f

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