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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.12+ x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.12+ x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: argus_redact-0.7.5.tar.gz
  • Upload date:
  • Size: 337.9 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.5.tar.gz
Algorithm Hash digest
SHA256 da7afec1fa8b3cacc572c2ae24dec3aa1960fc3972a3f9f2c074779285a36dfa
MD5 1c5bc9c06d34d484db864f9727b048db
BLAKE2b-256 b867271743f7aa049660b7becc50fb5665941cf16ed762654ebdd68c482af542

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d2c2ac0ed83a6dfdb3ca85bff68c957d5db0c8d7176575fde685841bfd99002b
MD5 9997871190ce281f8595c8c460dc9dc4
BLAKE2b-256 7c9c9ccc03828282a89f6c05d11ae281a89b50a37bce9cadcd0f24aff87bf58d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 91cabc6de5d84cc200fc157f480661b8530b67fc42febe1ab64c276c1704bdf6
MD5 dd9c7b231a8e0cdada49abe2fb083ece
BLAKE2b-256 da8afef9751e74b9b903f57bc8b1dcd59598036aa0470fd0b87f035c16a72a4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c24e340022e88939e6544040d33671e0d30cec36c3bee61983d770f894c161b0
MD5 02187f531648aafc613ea7b2b790eb87
BLAKE2b-256 b4acb03af9f16f56bd9456cc6d132f1b118a9765bb040ed8fe238e9d99a94b57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f5fb596b5b37a7e093ad15e23b01456dd83ff757a92576b8d49e5b808f7580c2
MD5 2cc86a35b37a7a00ab9a4961e9de5cc6
BLAKE2b-256 0919fc68f3c0fa30c0342e5f423d7d259356ddd7d25ddbde90916448312bde1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d38848fd9ba5112079c249c0bd720e54774fdc6569831c8fd23ee2657faab1a7
MD5 89b929076bf66b4ac4d0122e90e2454f
BLAKE2b-256 d2073f142872b4d12779c3bfd985ed98eb8256a29fb26cd469e2c21efec5057e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e341f8ecb0df6b463e212c5b1619d98414c701f9480f7e210794d774d53caca1
MD5 69db78fde932d9654f888fc69c716812
BLAKE2b-256 a3c671f6277b07d7e610397edb502565b9b8f18c7021872ad2d999b8a820313b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bf985b6bd61ff80a61fb0c20357d7afd2e9146523a67a492016cddd983d08dd8
MD5 3117d97c98946d24b7839f8595fb66d1
BLAKE2b-256 a5395f155ab34afb74c84b397aae7060a892632365008978202644a90cd0884a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5fa7820d04a6ea7059795168dce087380d09b23f869fb0941355984721f169ea
MD5 0082a6563d04cec3cd3daa770ef35918
BLAKE2b-256 6291135dd5cf0f631d1b84a6aade2c81a8c2affadf3cfb41fb8c3d3a670eb8c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 62821fe7856916c43c557d21ae0d26f15b613d6a35c7a733b2332665b7dd0880
MD5 35cde30257d74bf5cedbc98fffbf7319
BLAKE2b-256 86c46ffa6ad3ea565f0dada39d0b9e835c83f207392aec7f614ccbdf2be762b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fe347b579625e95791b9a3479d3da99bed2fe0edf131fe121fa9fe285028449f
MD5 c8236d5a64c554516b6fcbd2576edc09
BLAKE2b-256 fef18599a11d73c9f41433878a5aa6ba441ad32303d575d7146aba7627c57eee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a63f544a62dee8f6685a7bb08a7cb29727eda471eaf107e3bb092db33e51181f
MD5 5536ee8871e8053c4270f30a4373c1a9
BLAKE2b-256 a0be757eb0cf3dcf21d5f0766f5362d0d6557193915c988749b1b490fd06ba70

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 55c58c52b81d299c6b1c33bf5f28361ca6d7124264b5e7eaf0591d7b22c72b58
MD5 e40a3625cca4d88ef97866a3ce6d1b97
BLAKE2b-256 24c26c268b5892d2e8beb491213f0e46e187cfbd1f23dc926a72356e6d11e56c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 32d5ceccb6c2839f48c2b2d7129e2de362be9ca8f4b5fe46662afa1a6280427f
MD5 d1864ccd0bbec69a42cf029b16994478
BLAKE2b-256 0d392fdc41266f6e6bcf042c8094c46bdfded6e8d65adf00b94029d35697d5c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e3432d0e8edd0a641608fd6c209e81b670a1572cc13e1aa6758666fb74facb91
MD5 6463edfb97489b8616ba0cb7a3ca0ae8
BLAKE2b-256 da5ebd12cdf424444e60c7e9242a99ba2bbcaec60840387c7308b74a92edf3c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5bb83748b62bc3ad13e36fbb23d3a7adc95e8843a4b929fe907f70ab86fa44a6
MD5 8e81756a3617e50994216930253e9739
BLAKE2b-256 6cd080b5840f36dfd4ed00602a858c1897c6ce54d7d7b7138e46d958bc07e801

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8f7f0aabcc679e65bdeb763b789a426ab592a68770dd25f6b5579caa00336d00
MD5 c9d450eb3bd9e3ce74278eb464eb06ad
BLAKE2b-256 bc47516b9f0d69768b275d027ec804aee4b4dcedf9c3cefed5f3ca8c1286fdea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 15c73cc824577e4ae4cb4264d0aec06a28b5b431347e6ada92fba5b575b70bf0
MD5 373b3b553455a646e6f2691c1b146675
BLAKE2b-256 ae45066aee8a592aef72dde317a6b9cd03d7b6dde06f0813e69a29c8c383f3ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 16476ce3ff471d959b093f9ce1fcfee0b548e88bd0d2c4192568c0da3656b019
MD5 b530b5b6f52910527f53334813cf6a31
BLAKE2b-256 00080b024aca2249c636f586badac648f2fc30c6ef5d0eb87bd8e9dfb1af26af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 84e9a6e3e7a9a2301038b5bdf0e13cc32f338743bdf2bab0de52539d29141153
MD5 36351569f802c89934d9795cfbc1c924
BLAKE2b-256 9cd22336e3492b5f02edaa08644164898af427e017bbe7c77a06d8c2fe7a04c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98f95cb2467dfb494bd6b1e3bda7813ae7e7f4a4d7847b89f00c588c9b210f46
MD5 080efcbb307abec42f06b3c417c35505
BLAKE2b-256 4e76a03c490ffa40a247a1336c02add541ee6c520690f2cc6d6d654e6073bbd6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9e1f4efa36bec71dc797b958c3fb38668f63b64587312b1b9e7ee995b675f1dc
MD5 167a08e20e00c021152e06ce0d606b15
BLAKE2b-256 b4373fa521f44967b549adab9f5ba1d85098229d1f2dee47c10ff5e00516758d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a7941d3e8a36ce910e0ce68d0b9157bc8d3b4dc96c9ade35083353ac3792c5cf
MD5 df0255e911b17853d6cb3c87939c0f8c
BLAKE2b-256 28d6aaaef181a5834b4d8eb66b6e37b5aad81e1020cb95b0704a4cba9e196710

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cd91fbba83d43219accd7b489f9bee01a9eb81e4f532282153103e633ccaa16c
MD5 8cf0212196b4a1ee333f2c2322221090
BLAKE2b-256 7973557a4016ab837d55f7e9189e3f278bd21d4762e604ec88fd8e62d32228b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 034078512a4a1c35c76c6c76bdc2151024ac84a4800028c8c2cd1f48e6113319
MD5 58d776235c50c33f92a8234e7edb0e04
BLAKE2b-256 9befce47c1b2202c9cda796cd263d82781c9688ab51864261fa234a7f26f70d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2ab4f0080acacd596f0f94f62e260abe7e8c0f7b565701589d24569c148bfb08
MD5 a5faa5f3712d492452ac39923593dd39
BLAKE2b-256 0dc25b3196c2a5073001805f7eb84db72f8db986453a366a7b4812fa569ebd15

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 726872b0b60407b885b911703269160063ddde7cf0d8389a28289e214213bab5
MD5 400d223d760f0d9125360f79286db287
BLAKE2b-256 beaa447dd680cc5981919e0d74ebc19f29b5ca126fde4352584862df30db78c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f5acd9f97d39b23eb9f970c40d3e5138301d0c0953c87aa58a245800f5764843
MD5 3d7fff73228d324b57a8d6726aed8f32
BLAKE2b-256 b7236f1c370217d7b6fd0e912591690f61f48f187a24036832803838905941ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for argus_redact-0.7.5-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 66ab0c9e2580e58c03bc210444d62f553a2a6f5d57b9636a746628890f4156ba
MD5 cdb5549735acf5e1292ed31e1f199667
BLAKE2b-256 30f6fbfabc67050fd61907b7dd5ee6b9aa05195cde13b56d94cd7d77c8f2e513

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