🛡️ SYNAPSE SHIELD
Next-Gen Open-Source Behavioral Biometrics & Bot Mitigation Engine
A privacy-first, zero-friction, self-hosted alternative to Cloudflare Turnstile.
Key Features • Architecture • Quickstart • Developer Guide • Benchmarks • Math
⚡ Overview
Synapse Shield replaces intrusive legacy CAPTCHAs and expensive proprietary cloud WAFs with sub-millisecond behavioral biomechanics.
By evaluating natural human neuromuscular micro-tremors (Jerk: $\frac{da}{dt}$), Fitts's Law terminal deceleration profiles, cursor curvature, and millisecond keystroke dynamics, Synapse Shield autonomously classifies and mitigates bots, scrapers, and credential stuffers before they touch your backend logic.
✨ Key Features & Security Architecture (v0.8.1)
| Feature | Description |
|---|---|
| ⚡ Microsecond Benchmark Suite | Built-in CLI command (synapse-shield benchmark) profiles 19D Kinematics ($73.7,\mu s$), 1D-CNN inference ($451.2,\mu s$), and end-to-end evaluation ($828.1,\mu s$, ~1,200 req/sec) with ASCII/JSON reports (v0.7.9). |
| 🧬 Biological Synthetic Human Generator | Multi-bell submovement velocity decomposition with natural valleys, biomechanical arm curvature, and inertia-filtered neuromuscular micro-tremor achieving 100% human verification accuracy (v0.7.9). |
| 🛡️ Isolated Weight & Bootstrap Architecture | Fine-tuning saves to ./synapse_weights.npz (or SYNAPSE_WEIGHTS_PATH), isolating package distribution weights. --bootstrap enables zero-data model calibration on clean installs (v0.7.9). |
| 🌊 FFT Tremor Spectral Analysis (DSP) | Fast Fourier Transform (np.fft.rfft) decomposes velocity sequences to evaluate Power Spectral Density (spectral_purity & spectral_entropy), mitigating synthetic harmonic oscillator tremors ($\sin(2\pi ft)$) in the frequency domain (v0.7.8). |
| 🖐️ Sub-Movement Kinematic Decomposition | Decomposes trajectory paths into discrete ballistic and corrective velocity pulses based on Fitts's Law. Trajectories lacking physiological sub-movements (submovement_count <= 1) are flagged as polynomial bots (v0.7.8). |
| 🔄 Session-Level Behavioral Invariance | Stateful sliding-window telemetry tracking across session requests. Mitigates attackers rotating random seeds or repeating deterministic kinetic templates (v0.7.8). |
| 🎯 Adversarial AI Retraining Pipeline | Built-in synthetic telemetry generator (synapse_shield.adversarial) enriches 1D-CNN active learning with adversarial Bézier, sinusoidal, and minimum-jerk curves, eliminating out-of-distribution blindspots (v0.7.8). |
| 🛡️ Comprehensive Security Hardening | Full remediation across all vector layers (P0-P2): Stored XSS defense, admin-authenticated WebSocket terminal, SSRF & DNS rebinding allowlist for webhooks, and gated Brave Farbling logic (v0.7.7). |
| ⚡ Sub-Millisecond Composite SQLite Index | Composite index (idx_ip_strikes_ip_ts) eliminates table scans, enabling sub-millisecond bot strike counting under high-throughput DDoS conditions (v0.7.7). |
| 🔄 Transparent Token Expiration Recovery | Clean separation of expired tokens (HTTP 400 EXPIRED) from active replay attacks, allowing the SDK to seamlessly renegotiate challenges without false-positive IP bans (v0.7.7). |
| 🧱 O(N) Keystroke DoS Defense | Queued hold-time analysis with strict input bounds (150 keys/scrolls max), neutralizing algorithmic complexity exhaustion attacks (v0.7.7). |
| 🧪 Poisoning-Resistant AI Fine-Tuning | Telemetry ingestion filters reject non-human or farbling-exempted traffic from the active learning dataset pool, preserving model classification integrity (v0.7.7). |
| 🔔 Instant Discord & Telegram Webhooks | Real-time security incident dispatch. Critical threat mitigations (BLOCK) and IP bans are automatically forwarded to configured Discord/Telegram channels via non-blocking background tasks (v0.7.6). |
| ⚡ Distributed State & Redis Cluster | Enterprise multi-server architecture (SYNAPSE_REDIS_URL). Atomic cross-worker replay protection (SET NX EX), synchronized IP quarantine, and zero-downtime SQLite fallback (v0.7.5). |
| 🧩 Dynamic Yielding Proof-of-Work | Sub-second client-side SHA-256 cryptographic puzzle with UI yielding to prevent main-thread blocking. Replay-attack resistant on retries (v0.7.2). |
| 🛡️ Iframe-based Prototype Unhooking | Advanced anti-stealth mechanism using hidden iframes to access clean native browser prototypes (Canvas, WebGL), bypassing attacker overwrites (v0.7.2). |
| 🔒 SDK Runtime Immutability | Object.freeze protects internal SDK states/configurations from malicious tampering on the host page (v0.7.2). |
| 📱 Zero-Jank Mobile Events | Passive touch listeners ({ passive: true }) ensure seamless 60 FPS mobile scrolling without blocking the UI thread (v0.7.2). |
| 🪟 Sliding Window IP Ban Shield | Stateful 60-second sliding time-window (SSRT-2026-004 defense). Prevents streak-reset evasion attacks even when attackers inject synthetic human requests. |
| 🔄 NumPy-Only Active Learning | Built-in synapse-shield retrain command enabling transfer learning on 1D-CNN FC layers in <3s directly from SQLite logs without PyTorch/TensorFlow. |
| 🕵️ Anti-Stealth & Tamper Proofing | Dynamically detects headless browser fingerprints (navigator.webdriver), fake plugin arrays, and native toString overwrites in WebGL/Canvas APIs. |
| 🗄️ Continuous Learning Collector | Integrated drop-in store.html telemetry collector endpoint (/api/collect_dataset) for continuous 1D-CNN Fine-Tuning with raw human datasets. |
| 🤖 Pure-NumPy 1D-CNN Micro-Brain | The Sequence Tokenizer fuses kinematics and keystroke stats into an 8D and 5D tensor architecture, fully processed by a 15KB NumPy-based 1D-CNN (Zero-PyTorch). |
| 🛡️ Max Gating (Fusion Engine) | Dynamically unifies Heuristic/Mathematical rules with the 1D-CNN AI confidence score. If either engine flags the telemetry as a Bot, the request is unconditionally blocked. |
| 🔗 Zero-Dependency Multimodal Tokenizer | Fuses 5D Mouse Sequence [dx, dy, dt, velocity, jerk] with 8D Static Keystroke/Scroll Vector via Late Fusion. |
| 🧩 100% Invisible UX | Zero annoying puzzles, image selections, or audio challenges. Legitimate humans pass friction-free. |
| ⚡ Async Non-Blocking SLA (<0.5 ms) | Heavy CPU-bound kinematics processed via asyncio.to_thread, guaranteeing zero event-loop blocking under high concurrency. |
| 🔐 Cryptographic Replay Defense | Every session is bound to a single-use HMAC-SHA256 signed nonce. Intercepted tokens cannot be replayed. |
| 🧠 Fitts's Law Deceleration Kinematics | Distinguishes advanced Bézier curve bots (ghost-cursor) from organic human hands by analyzing terminal velocity drops before click actions. |
| ⚛️ React, Next.js & Vue 3 / Nuxt 3 Support | Native packages (synapse-shield-react & synapse-shield-vue) with hooks/composables and <SynapseProtect /> drop-in protection components. |
| 🐍 Multi-Framework Adapters | Native middlewares and decorators for Django (SynapseShieldMiddleware) and Flask (@shield_protect_flask). |
| ♿ Accessibility Mode | Graceful risk scaling (accessibility_mode=True) prevents false positives for motor-impaired and assistive device users. |
| 📈 Enterprise Prometheus Metrics | Built-in /metrics endpoint supporting multi-process Gunicorn/Uvicorn aggregation via PROMETHEUS_MULTIPROC_DIR. |
| 🔒 100% Zero-PII & Privacy-First | No keystroke characters or form values collected — strictly relative millisecond timing deltas processed (GDPR & KVKK compliant). |
| 📊 Poisson Flooder Defense | Statistical Poisson anomaly detection identifies high-frequency headless API flooders and applies dynamic IP rate penalties. |
| 💾 SQLite WAL with Auto-Pruning | In-memory TTL nonce management + Write-Ahead Logging (WAL) with 10s timeouts prevents database locks during async BackgroundTasks. |
| 🧱 Memory Exhaustion Defense | Strict 256KB/512KB payload body limits evaluated at stream-read time (await request.body()) protecting against chunked-transfer inflation attacks. |
| 🔑 Secure Admin APIs | Administrative operations (/api/clear) are cryptographically authenticated via the SYNAPSE_ADMIN_SECRET environment variable to prevent unauthorized telemetry tampering. |
| 🚨 Zero-Latency Webhook Alerts | Instant real-time Telegram and Discord notifications upon bot detection via asyncio.to_thread without blocking the main event loop. Configurable directly from the Cockpit. |
🏛️ Architecture & Sequence Diagram
┌─────────────────┐ ┌─────────────────────┐ ┌─────────────────────────┐
│ Client Browser │ │ FastAPI Gateway │ │ Kinematic Decision │
│ (synapse-sdk) │ │ (Synapse Shield) │ │ Engine (<0.5ms SLA) │
└────────┬────────┘ └──────────┬──────────┘ └────────────┬────────────┘
│ │ │
│── 1. GET /api/challenge ───────►│ │
│◄── 2. { nonce, ts, hmac_sig } ──│ (Generates single-use signed nonce)│
│ │ │
[User moves cursor / types] │ │
[SDK bundles 50Hz telemetry] │ │
│ │ │
│── 3. POST /api/score {token} ──►│ (1. Validates HMAC signature) │
│ │ (2. Checks 60s TTL freshness) │
│ │ (3. Checks Replay Attack nonce) │
│ │ │
│ │── 4. asyncio.to_thread ────────────►│ (19D Kinematics)
│ │ │ (Jerk & Fitts's Law)
│ │ │ (Poisson Anomaly)
│ │◄── 5. (bot_score, ALLOW/BLOCK) ─────│
│ │ │
│ │── 6. Save Log to SQLite (WAL) │
│◄── 7. HTTP 200 {ALLOW/BLOCK} ───│ │
🚀 30-Second Quickstart
Option 1: Install via PyPI
pip install synapse-shield
Run the server and live cockpit directly from your terminal:
synapse-shield run --port 8000
Run the automated 7-vector adversarial security test suite:
synapse-shield test
Retrain the 1D-CNN AI model autonomously on local SQLite telemetry (Active Learning):
synapse-shield retrain --epochs 5 --lr 0.01
Option 2: Clone & Local Development
git clone https://github.com/0xStoic-bit/Synapse_Shield.git
cd Synapse_Shield
pip install -e .
python test_suite.py
Visit http://127.0.0.1:8000 in your browser to launch the Live Security Cockpit.
Option 3: Docker Deployment (Recommended)
Run the entire Synapse Shield stack, including the backend engine, SQLite WAL persistence, and the telemetry collector in a single container.
# Start the container in detached mode
docker-compose up -d
# View real-time logs
docker-compose logs -f
The Synapse API and Live Cockpit will be available at http://localhost:8000.
🚨 Real-time Webhook Alerts (Telegram & Discord)
Synapse Shield features zero-latency background webhook notifications. When a critical threat is blocked (e.g., STEALTH_AUTOMATION, POISSON_FLOOD), you receive an instant alert on your phone.
Setting up Telegram Alerts
- Open Telegram and message @BotFather with
/newbot. - Follow the steps to get your HTTP API Token (e.g.,
123456:ABC-DEF...). - Send a message like "Hello" to your newly created bot to initialize the chat.
- Message @userinfobot and press
STARTto get your Chat ID (e.g.,123456789). - Open the Synapse Shield Cockpit (
http://127.0.0.1:8000), click WEBHOOKS, and paste your Token and Chat ID.
Setting up Discord Alerts
- Go to your Discord Server settings > Integrations > Webhooks > New Webhook.
- Copy the Webhook URL.
- Open the Synapse Shield Cockpit, click WEBHOOKS, and paste the URL.
💻 Developer Integration
1. FastAPI Integration
Protect any API endpoint using the @shield_protect decorator or global middleware:
from fastapi import FastAPI, Request
from synapse_shield import shield_protect, SynapseShieldMiddleware
app = FastAPI()
app.add_middleware(SynapseShieldMiddleware, protected_paths=["/api/auth"])
@app.post("/api/login")
@shield_protect(max_risk_score=50.0, accessibility_mode=False)
async def login(request: Request):
return {"status": "authenticated"}
2. Django & Flask Integration
Native support for Django and Flask environments.
Django (settings.py):
MIDDLEWARE = [
# ...
'synapse_shield.django.SynapseShieldMiddleware',
]
SYNAPSE_SHIELD_PROTECTED_PATHS = ['/api/login']
SYNAPSE_SHIELD_MAX_RISK = 50.0
SYNAPSE_SHIELD_ACCESSIBILITY = False
Flask:
from flask import Flask
from synapse_shield.flask import shield_protect_flask
app = Flask(__name__)
@app.route("/login", methods=["POST"])
@shield_protect_flask(max_risk_score=50.0)
def login():
return {"status": "authenticated"}
3. React / Next.js Integration
We provide a drop-in "use client" compatible React package.
import { useSynapseShield, SynapseProtect } from 'synapse-shield-react';
export default function LoginForm() {
const { getProtectedPayload } = useSynapseShield();
const handleSubmit = async (e) => {
e.preventDefault();
const payload = getProtectedPayload();
// Send payload.token to your backend
};
return (
<form onSubmit={handleSubmit}>
<SynapseProtect />
<button type="submit">Login</button>
</form>
);
}
4. Vue 3 / Nuxt 3 Integration
Official Vue 3 composable and component package (synapse-shield-vue). Fully SSR-safe for Nuxt 3.
<script setup>
import { ref } from 'vue';
import { useSynapseShield, SynapseProtect } from 'synapse-shield-vue';
const { getProtectedPayload } = useSynapseShield();
const username = ref('');
const password = ref('');
const handleSubmit = async () => {
const payload = getProtectedPayload();
// Submit payload.token to backend
};
</script>
<template>
<form @submit.prevent="handleSubmit">
<SynapseProtect />
<input v-model="username" type="text" placeholder="Username" />
<input v-model="password" type="password" placeholder="Password" />
<button type="submit">Login</button>
</form>
</template>
5. Prometheus Metrics
Enterprise observability out of the box. Automatically exposes latency and block rates. To enable multi-process support (e.g., Gunicorn workers), set the environment variable:
export PROMETHEUS_MULTIPROC_DIR=/tmp/synapse_metrics
5. Vanilla JS / HTML SDK
Add the lightweight SDK (<5 KB) to your vanilla project:
<script src="http://localhost:8000/static/synapse-sdk.js"></script>
<script>
SynapseShield.init();
async function handleLogin() {
const payload = SynapseShield.getPayload();
// Submit payload
}
</script>
🤖 Attack Simulation Benchmarks
Run the full adversarial suite anytime:
synapse-shield test
| Attack Vector | Simulated Signature | Detection Mechanism | Decision | Risk Score | Latency |
|---|---|---|---|---|---|
| Selenium Crawler | navigator.webdriver = true |
WebDriver API Detection | 🔴 BLOCK | 100.0% | 0.01 ms |
| Linear Bot | Straightness = 1.000 & Zero Jerk | Straightness > 0.985 & Jerk ~ 0 | 🔴 BLOCK | 100.0% | 0.18 ms |
| Bézier Stealth Bot | Mathematical curved trajectory | Fitts's Law + Zero Accel Variance | 🔴 BLOCK | 65.0% | 0.22 ms |
| Robotic Auto-Typer | Fixed-interval key injections | Keystroke Variance < 1.0 ms² | 🔴 BLOCK | 50.0% | 0.15 ms |
| Poisson Flooder | 8 rapid requests in <500 ms | Poisson anomaly (P > 99%) | 🔴 BLOCK | 60.0% | 0.08 ms |
| Replay Attack | Re-sending captured valid token | Single-use HMAC Nonce reuse | 🔴 BLOCK | 100.0% | 0.05 ms |
| Natural Human | Organic curves with tremors | Biologic Jerk & Deceleration | 🟢 ALLOW | 0.0% | 0.24 ms |
🧠 Kinematic & Mathematical Foundations
1. Jerk — Neuromuscular Tremor Fingerprint
$$\text{Jerk} = \frac{da}{dt} = \frac{d^3x}{dt^3}$$
Human muscle tremors produce continuous high-frequency Jerk. Mathematical bot curves (Bézier/Linear) produce near-zero or static Jerk.
2. Fitts's Law Terminal Deceleration Index
$$\text{Terminal Decel Ratio} = \frac{\bar{v}{\text{terminal (last 25%)}}}{v{\text{peak}}}$$
Humans naturally decelerate ($< 0.40$) as they approach the target click point.
3. Cumulative Poisson Anomaly Distribution
$$P(X < k) = \sum_{i=0}^{k-1} \frac{\lambda^i e^{-\lambda}}{i!}$$
📁 Repository Structure
Synapse_Shield/
├── .github/
│ └── workflows/
│ └── ci.yml # Automated CI matrix (Python 3.10, 3.11, 3.12)
├── src/
│ └── synapse_shield/
│ ├── __init__.py # Public API exports
│ ├── cli.py # CLI Controller (run / test commands)
│ ├── engine.py # Real-time Decision & Poisson Engine
│ ├── features.py # 19D Kinematics, Fitts's Law & Multimodal Tokenizer
│ ├── models.py # Zero-Dependency NumPy 1D-CNN Inference Engine
│ ├── weights.npz # 4KB Serialized Neural Network Weights
│ ├── main.py # Async FastAPI Gateway & SQLite Logger
│ ├── middleware.py # @shield_protect & Middleware classes
│ ├── django.py # Django Middleware Adapter
│ ├── flask.py # Flask Route Decorator
│ ├── metrics.py # Prometheus Multi-Process Exporter
│ ├── tokens.py # HMAC-SHA256 Challenge & Replay Defense
│ ├── train.py # Zero-Dependency NumPy Active Learning Pipeline
│ ├── live_attacker.py # 7-Vector Red Team Simulation Suite
│ └── static/ # Embedded 3D Cockpit & Client SDK
│ ├── index.html
│ └── synapse-sdk.js
├── synapse-shield-react/ # React / Next.js SDK Package
│ ├── src/
│ │ ├── SynapseProtect.tsx # "use client" Drop-in Component
│ │ ├── useSynapseShield.ts# React Hook with event throttling
│ │ └── index.ts
│ ├── package.json
│ └── tsconfig.json
├── tests/ # Modular Pytest Suite
│ ├── test_features.py
│ ├── test_tokens.py
│ ├── test_engine.py
│ └── test_api.py
├── test_suite.py # Standalone Zero-Dependency Test Runner
├── pyproject.toml # PEP 517/621 Package Definition
├── requirements.txt # Core Dependencies
├── LICENSE # MIT License
└── README.md
📜 License
Distributed under the MIT License. Free for commercial and personal use.
Release files for synapse-shield 0.8.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 4.0 MB
Release files / synapse_shield-0.8.2-cp312-cp312-win_amd64.whl
| Download URL | synapse_shield-0.8.2-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 198.6 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
de12ddb41701f14b5aa6fb4a4815e603dfe89ac7a75c6a6eadd317e0c309eca5
|
|
BLAKE2b-256 checksum How to use checksums |
a79510d72420aaac87d14bf35923f0bf8e6ebdde538b41886db282fcf929de62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / synapse_shield-0.8.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | synapse_shield-0.8.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 292.4 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
5a6fe038ce4c5cdf6e05d767ef57661e453b1eac4509d778665c119c48cdfd86
|
|
BLAKE2b-256 checksum How to use checksums |
cf845cba80df556c6e792e3aa9081e408107b7ff91dd789ef6f4ee864b1afb1c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / synapse_shield-0.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | synapse_shield-0.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 284.2 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
6ec39726f3349e0b91076531e18105d8b833c069c5a9c4ac522ba5b2cd7aa468
|
|
BLAKE2b-256 checksum How to use checksums |
4ca0d5e2b047c9294d17d79f73db432c595b844d67410e1b2a308afa813bcae5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / synapse_shield-0.8.2-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | synapse_shield-0.8.2-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 270.5 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f7e2a95b1cbcac25d5065d86409fb4a373ad9d579b048748019a76f4feacc4c9
|
|
BLAKE2b-256 checksum How to use checksums |
39b63efefe6dee2de968c6605adc6746d4a5bb9cf548347f656eb3fc861a0306
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / synapse_shield-0.8.2-cp312-cp312-macosx_10_12_x86_64.whl
| Download URL | synapse_shield-0.8.2-cp312-cp312-macosx_10_12_x86_64.whl |
|---|---|
| Size | 282.9 kB |
| Tags | CPython 3.12 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
d151e79bb5cb97d6caafa10e84f3d3cab9b1d08ecedfa19ef172af420f09163e
|
|
BLAKE2b-256 checksum How to use checksums |
7a9502449c148a14a1dd8687b097b22e141bf27062a5f2976011e99a59fc2ace
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / synapse_shield-0.8.2-cp311-cp311-win_amd64.whl
| Download URL | synapse_shield-0.8.2-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 197.0 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e16205519563a58975f5a8cd327c710dc26ffae3ea1615de7a0ef4d1d012f46d
|
|
BLAKE2b-256 checksum How to use checksums |
733550f0579e3d43bb116d5bdd893eb148aa3f756db6a3f8dce0a8a2c2ecd9ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / synapse_shield-0.8.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | synapse_shield-0.8.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 291.3 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
4c445f88b3baec15cd20884bbb4ed2a01e2cfe92edc839667b113f1363bc6991
|
|
BLAKE2b-256 checksum How to use checksums |
35ed3909cc4a7458e23155370f88bbb74d580d6d4f0501bd000d80679be9f128
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / synapse_shield-0.8.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | synapse_shield-0.8.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 283.5 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
a0eb6158cdae8f0012edb01cd2007d44f40e29be320a8c832d496a26091aef41
|
|
BLAKE2b-256 checksum How to use checksums |
644be023336e5969477c15c7c795f0b7790cd4fbfab74697e5a5d8bfa08a50c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / synapse_shield-0.8.2-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | synapse_shield-0.8.2-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 269.8 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
af53d1ac1206c1bb5f094794cc5e48f4d01b9bfc6c5d237491b09a62d5d2558b
|
|
BLAKE2b-256 checksum How to use checksums |
b53ca1564d82da299775a52ce40c1ec60b2d2fd92f264384fbc3b5c40dbf544e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / synapse_shield-0.8.2-cp311-cp311-macosx_10_12_x86_64.whl
| Download URL | synapse_shield-0.8.2-cp311-cp311-macosx_10_12_x86_64.whl |
|---|---|
| Size | 281.8 kB |
| Tags | CPython 3.11 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
470c4fb7a53b80fef3f75f82caff18e976501ebc313b0655bae3b6aa90e88212
|
|
BLAKE2b-256 checksum How to use checksums |
64d8ebbc2235b903b46c35e5a8df91cbed4215f9dcb6788c342b0b7f6d5b55db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / synapse_shield-0.8.2-cp310-cp310-win_amd64.whl
| Download URL | synapse_shield-0.8.2-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 197.2 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
55649ac958d7628e22d45f28558d5806184f02c56601aeb0ea92a60790403946
|
|
BLAKE2b-256 checksum How to use checksums |
0b585d5543f81eb52214d789bd8e8aef6bc2ac43eca63135c936cc2b47ba202d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / synapse_shield-0.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | synapse_shield-0.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 291.6 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
9a83a4f2986da30b8a52183d7b657abad3ceab5512a115ac26cec826d03d7a5f
|
|
BLAKE2b-256 checksum How to use checksums |
a77934a1579bfd43b370327610541299eda476fbc570ec0ce9a8e1b998693e95
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / synapse_shield-0.8.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | synapse_shield-0.8.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 283.8 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
2661d3bca442f865b154180b1c58714b1185b4cfb4e77861db9603970d54be4c
|
|
BLAKE2b-256 checksum How to use checksums |
d405a9efe2f63a43bd3245feedf95c2b280ea2159ecc1649bccb77289b306413
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / synapse_shield-0.8.2-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | synapse_shield-0.8.2-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 270.2 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
21dd701e5dacbdb5da609d405ed38d23f1a4ec57f7a87eee4c94686298cad662
|
|
BLAKE2b-256 checksum How to use checksums |
0cb8b8fc10cae8399330d4972bab3ddf7f5841a8428fe5eb3fc000c1e8cbbe29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / synapse_shield-0.8.2-cp310-cp310-macosx_10_12_x86_64.whl
| Download URL | synapse_shield-0.8.2-cp310-cp310-macosx_10_12_x86_64.whl |
|---|---|
| Size | 281.9 kB |
| Tags | CPython 3.10 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
60241c500e91503934f5e41f14f7372e90323ded4c46e1b6d437e9b79b26d9c6
|
|
BLAKE2b-256 checksum How to use checksums |
84534471e2cd8e4893b4bdfdabead88b56fc584138a6f40340d42948bb1ed32b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|