Skip to content

Releases: TelecomsXChangeAPi/OpenTextShield

OpenTextShield v2.10.0-rc.1 - Smarter Smishing Detection (model 2.7)

Choose a tag to compare

@ajamous ajamous released this 14 Jun 04:35

OpenTextShield v2.10.0 — Smarter Smishing Detection (model 2.7)

Release candidate (v2.10.0-rc.1). Platform version 2.10.0, shipping the
new mBERT classifier model 2.7. This RC is for validation on its own branch
and is not a production release.

Headline

Model 2.7 is a validated, overfitting-aware fine-tune continued from v2.5. It
beats v2.5 on the block rate of all four benchmarks with no classic-spam
regression
, and dramatically improves phishing recall — especially on modern,
real-world, and adversarial smishing where the previous model was leaking attacks
to users.

Benchmark results — v2.5 → model 2.7

Benchmark n 3-class acc Block rate Phishing recall
UCI SMS Spam (classic, public) 5,574 99.3% → 99.5% 99.3% → 99.5% n/a (no phishing class)
Mishra & Soni Phishing (public) 5,971 88.8% → 89.4% 99.2% → 99.3% 2.7% → 6.1%
IMC25 smishing (real-world, public) 8,007 20.4% → 47.0% 69.9% → 72.4% 17.1% → 45.7%
Adversarial suite (in-house) 150 48.7% → 86.7% 73.3% → 96.7% 11.5% → 80.8%
  • Block rate up on every benchmark — including UCI, which ticks up rather
    than regressing, confirming the classic-spam behaviour is fully protected.
  • Phishing recall transformed on the real-world and adversarial sets: IMC25
    17.1% → 45.7%, adversarial 11.5% → 80.8%. The previously silent
    phishing → ham leaks (family impersonation, vishing callback, toll/delivery-fee
    scams, and text obfuscation) are now caught.

Validation note: IMC25 was used to select the training hyperparameters, so treat
its 72.4% as a validation result. UCI, Mishra & Soni, and the adversarial suite
are independent confirmations — all improved.

The recipe

Continue from the v2.5 base over a targeted synthetic dataset plus a 2,500/class
rehearsal sample of the original corpus; plain cross-entropy loss, lr 1e-5,
2 epochs
. Heavier configurations (class-weighted/focal loss, more epochs, larger
lr) scored higher on the in-domain validation split but overfit and regressed the
real-world IMC25 block rate; the gentle recipe recovered generalization.

Other changes in this release

  • Tier-1 training pipeline: validation split with best-checkpoint selection
    (saves the best epoch by validation macro-F1, not the last), and a per-run
    training log capturing the full metric curve.
  • Threshold-calibration utility (evals/calibrate_thresholds.py) to tune the
    phishing/spam decision boundary via a per-class logit bias without retraining.
  • Obfuscation hardening in the live path: homoglyph and zero-width-character
    normalization is now applied in the dynamic-batching inference path, not just the
    per-request preprocessor — closing obfuscation evasion independent of the model.
  • API wired to model 2.7 and api_version set to 2.10.0.
  • Reproducible evaluation harness (evals/run_eval.py, compare_runs.py)
    with the v2.5 and v2.7 summary evidence committed under evals/results/.

Artifact

  • mbert_ots_model_2.7.pth — bert-base-multilingual-cased, 3-class
    (ham / spam / phishing), 104+ languages.

How to test

git checkout sms-classification-intelligence-eval
git lfs pull
source ots/bin/activate
python evals/run_eval.py \
  --model src/mBERT/training/model-training/mbert_ots_model_2.7.pth \
  --dataset uci:/tmp/uci.tsv \
  --dataset mishra:evals/datasets/mishra_soni_5971.csv \
  --dataset imc25:/tmp/imc25.csv:8000 --dataset fable5 --tag v2.7
python evals/compare_runs.py \
  --before evals/results/summary_v2.5.json --after evals/results/summary_v2.7.json

OpenTextShield v2.5.0 - Enhanced Multilingual AI Security Platform

Choose a tag to compare

@ajamous ajamous released this 06 Oct 02:46
d9736a6

🚀 OpenTextShield v2.5.0 Release

✨ Key Features

  • Enhanced Multilingual Support: Comprehensive testing across 10 languages (English, Spanish, French, German, Chinese, Arabic, Hebrew, Russian, Japanese, Hindi) with 99.9% accuracy
  • PEFT/LoRA Adapters: Parameter-efficient fine-tuning for Hebrew language support and incremental learning
  • TMForum API Compliance: Full TMF922 AI Inference Job Management API for enterprise integrations
  • Improved Security: Multi-stage Docker builds, non-root execution, distroless options
  • Incremental Learning: Continuous model improvement with new training data

🐳 Docker Images

    • Standard production image
    • Enhanced security with multi-stage builds
    • Latest stable release

📊 Performance Improvements

  • Superior multilingual classification accuracy vs v2.1.0
  • Optimized Apple Silicon MLX support
  • Reduced container sizes with secure builds (6.75GB vs 13GB)

🔧 Technical Enhancements

  • Modular API architecture with FastAPI
  • Comprehensive error handling and logging
  • Async job processing for TMForum endpoints
  • Professional web interface with real-time monitoring

🧪 Testing

  • Comprehensive multilingual comparison testing
  • Stress testing up to 20k requests
  • API integration tests
  • Docker deployment verification

📚 Documentation

  • Updated CLAUDE.md with development commands
  • Enhanced README with deployment options
  • API documentation and OpenAPI specs

🤝 Enterprise Features

  • TMForum-compliant API endpoints
  • Async inference job management
  • Professional frontend interface
  • Production-ready security posture

For deployment instructions, see README.md and CLAUDE.md.

v2.1.1

Choose a tag to compare

@ajamous ajamous released this 28 Jun 08:35


🚀 OpenTextShield v2.1.1 – Modernization & Security Release

🎯 Highlights

  • Complete platform modernization

  • Major security enhancements

  • Streamlined deployment and modular architecture

  • No breaking changes — full backward compatibility


🏗️ Platform Architecture Overhaul

✅ Modular API Redesign (src/api_interface/)

  • Enterprise-grade, clean structure:

    • config/ – Env-based configs

    • middleware/ – IP verification, CORS

    • models/ – Pydantic schemas with validation

    • routers/ – Endpoints (health, prediction, feedback)

    • services/ – Business logic

    • utils/ – Logging & exceptions

  • Dependency injection, versioned APIs, structured logging, and robust error handling

✅ Codebase Cleanup

  • Removed:

    • Legacy BERT/FastText/mBERT models

    • 4.7GB+ of archived models and training sets

    • Redundant requirements files


🔐 Security Enhancements

🔧 Dependency Updates (Critical & High)

  • h11 → v0.16.0 (chunked encoding)

  • Starlette → v0.46.2 (DoS)

  • Transformers → v4.53.0 (deserialization fix)

  • protobuf → v5.28.3 (DoS)

  • ecdsa → v0.19.0 (timing attack)

  • urllib3, setuptools, localstack – patched

🐳 Docker Security Levels

Dockerfile | Security | Highlights -- | -- | -- Dockerfile.secure | 🛡️ Recommended | Multi-stage, non-root, smaller image (~2.27GB) Dockerfile.distroless | 🔒 Max Security | No shell/pkg manager, ultra-minimal Dockerfile | 📦 Enhanced Standard | Patched base, system updates

🙏 Contributors & Roadmap

🔍 Thanks to:

  • Security reviewers

  • Codebase modernizers

  • Test engineers

  • Documentation contributors

🛣️ What’s Next:

  • Model speed/accuracy tuning

  • Continuous security upgrades

  • Deployment integrations

  • API enhancements

Read more

OTS 2.1

Choose a tag to compare

@ajamous ajamous released this 09 May 10:14

OTS 2.1.0

Open Text Shield (OTS) Version 2.1 - Release Notes

🌟 Exciting News! We're thrilled to announce OTS Version 2.1! 🌟

This update marks a significant enhancement as we extend our language support to include Sinhala and Tamil, further broadening the accessibility and versatility of the OTS models.

🚀 Highlights

🇱🇰 Sinhala Data Set: Expanding our linguistic reach to better serve the Sinhala-speaking communities.
🇮🇳 Tamil Data Set: Strengthening our capabilities in Tamil, enriching user interactions and data understanding.

🌍 Language Support Expansion

With Version 2.1, OTS now proudly offers text classification predictions across 10 diverse languages, reaffirming our commitment to breaking language barriers and enhancing global communication:

🇬🇧 English
🇸🇦 Arabic
🇮🇩 Indonesian
🇩🇪 German
🇮🇹 Italian
🇪🇸 Spanish
🇷🇺 Russian
🇫🇷 French
🇱🇰 Sinhala
🇮🇳 Tamil

As always, we are committed to continuous improvement and are excited to see how our latest enhancements will empower our users. Thank you for your continued support and trust in OTS!

OTS 2.0.0

Choose a tag to compare

@ajamous ajamous released this 31 Mar 14:48

Open Text Shield (OTS) Version 2.0 - Release Notes

🌟 We're excited to unveil OTS Version 2.0! 🌟

This latest update broadens our horizon with the integration of three additional languages, enriching the OTS experience and expanding our global footprint.


🚀 Highlights

  • 🇷🇺 Russian Data Set: Elevating our understanding of the Russian language.
  • 🇪🇸 Spanish Data Set: Diving deeper into the richness of Spanish.
  • 🇫🇷 French Data Set: Embracing the elegance of French.

🌍 Language Support Expansion

With Version 2.0, OTS now proudly offers text classification predictions across 8 diverse languages:

  1. 🇬🇧 English
  2. 🇸🇦 Arabic
  3. 🇮🇩 Indonesian
  4. 🇩🇪 German
  5. 🇮🇹 Italian
  6. 🇪🇸 Spanish
  7. 🇷🇺 Russian
  8. 🇫🇷 French

.

Full Changelog: 1.9.0...2.0.0

OTS 1.9.0 - Support for German/Italian Languages

Choose a tag to compare

@ajamous ajamous released this 28 Mar 12:26

Release Notes for OTS Version 1.9.0

We are thrilled to announce the release of OTS Version 1.9.0, which is trained on two additional languages.

Highlights

  • Trained on Italian data set
  • Trained on German data set

OTS 1.9.0 can predict text classification for 5 languages (English, Arabic, Indonesian, German, Italian)

What's Changed

Full Changelog: 1_7_5...1.9.0

OTS 1.7.5 - Support for Indonesian Language

Choose a tag to compare

@ajamous ajamous released this 19 Mar 14:46

Release Notes for OTS Version 1.7.5

We are thrilled to announce the release of OTS Version 1.7.5, which brings new language support.

Highlights

  • Full Indonesian Dataset Integration: We have fully integrated a comprehensive Indonesian dataset to expand our coverage and improve processing, understanding, and insights for ID text. This enhancement aims to cater to our diverse global audience, offering better support for Indonesian language content.

Full Changelog: 1_7...1_7_5

OTS 1.7

Choose a tag to compare

@ajamous ajamous released this 18 Mar 13:33

Release Notes for OTS Version 1.7

We are thrilled to announce the release of OTS Version 1.7, which brings several significant updates to our platform. This version focuses on expanding language support and enhancing multi-language processing capabilities. Here are the key features and improvements included in this update:

Highlights

  • mBERT Integration for Multi-language Support: In our commitment to supporting a wide range of languages, OTS 1.7 introduces the integration of mBERT (multilingual BERT). This powerful model enhances our platform's ability to understand, process, and generate content across multiple languages more effectively. With mBERT, OTS now offers better support for language-specific nuances and a broader understanding of global languages.

  • Full Arabic Dataset Integration: We have fully integrated a comprehensive Arabic dataset to expand our coverage and improve processing, understanding, and insights for Arabic text. This enhancement aims to cater to our diverse global audience, offering better support for Arabic language content.

  • Indonesian Spam/Ham Dataset Addition: A new Indonesian spam/ham dataset has been added to improve our spam detection capabilities in Indonesian text. While this initial dataset is small, it marks a strategic enhancement to refine spam detection accuracy. Users can expect an expanded dataset in version 1.8.

Coming Soon

  • Expanded Indonesian Dataset: Our commitment to enhancing dataset accuracy and comprehensiveness continues. In version 1.8, we aim to significantly expand the Indonesian dataset with more extensive spam/ham/phishing data, further improving our spam detection capabilities.

  • Add Russian Dataset: Our commitment to enhancing dataset accuracy and comprehensiveness continues. In version 1.9, we aim to add the Russian dataset with more extensive spam/ham/phishing data, further improving our spam detection capabilities.

Examples

In the latest release notes for OTS Version 1.7, we're excited to share examples demonstrating the power and efficiency of our newly integrated features. Below, you'll find cleaned-up examples showcasing how to interact with OTS using the command line for spam detection in multiple languages, particularly highlighting our advancements in Arabic language processing with the mBERT model.

Example 1: Detecting Spam in Arabic

This example demonstrates how to identify a typical spam message in Arabic, promising a large cash prize.

Request:

curl -X 'POST' \
  'http://localhost:8002/predict/' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "text": "مبروك! لقد فزت بجائزة قدرها 10,000 دولار. للمطالبة بجائزتك، يرجى زيارة موقعنا الإلكتروني الآن.",
  "model": "bert",
  "bert_version": "bert-base-multilingual-cased"
}'

Response:

{
  "label": "spam",
  "probability": 0.7167165875434875,
  "processing_time": 0.10480880737304688,
  "Model_Name": "OTS_bert",
  "Model_Version": "bert-base-multilingual-cased",
  "Model_Author": "TelecomsXChange (TCXC)",
  "Last_Training": "2024-03-11"
}

Example 2: Recognizing Ham (Legitimate Message) in Arabic

This example shows the platform distinguishing a legitimate customer support message in Arabic.

Request:

curl -X 'POST' \
  'http://localhost:8002/predict/' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "text": "مرحبا، كيف يمكنني مساعدتك اليوم؟ نحن هنا لدعمك في استفساراتك.",
  "model": "bert",
  "bert_version": "bert-base-multilingual-cased"
}'

Response:

{
  "label": "ham",
  "probability": 0.9993540644645691,
  "processing_time": 0.11941719055175781,
  "Model_Name": "OTS_bert",
  "Model_Version": "bert-base-multilingual-cased",
  "Model_Author": "TelecomsXChange (TCXC)",
  "Last_Training": "2024-03-11"
}

Example 3: Another Spam Detection Example in Arabic

Highlighting another spam message that entices users with a special prize through a suspicious link.

Request:

curl -X 'POST' \
  'http://localhost:8002/predict/' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "text": "تهانينا! لقد تم اختيارك للفوز بجائزة خاصة منا. اضغط هنا للمطالبة بجائزتك الآن: http://tinyurl.com/exampleurl",
  "model": "bert",
  "bert_version": "bert-base-multilingual-cased"
}'

Response:

{
  "label": "spam",
  "probability": 0.9766722917556763,
  "processing_time": 0.1628100872039795,
  "Model_Name": "OTS_bert",
  "Model_Version": "bert-base-multilingual-cased",
  "Model_Author": "TelecomsXChange (TCXC)",
  "Last_Training": "2024-03-11"
}

These examples are just a glimpse of the capabilities of OTS 1.7, especially with our efforts to enhance support for global languages through the integration of mBERT and the addition of comprehensive datasets.

What's Changed

  • Bump fastapi from 0.103.2 to 0.109.1 in /src/BERT/training/ots-apple-silicon by @dependabot in #9
  • Bump cryptography from 39.0.0 to 42.0.4 in /src/BERT/training/ots-apple-silicon by @dependabot in #8
  • Bump fonttools from 4.38.0 to 4.43.0 in /src/BERT/training/ots-apple-silicon by @dependabot in #7
  • Bump pillow from 9.4.0 to 10.2.0 in /src/BERT/training/ots-apple-silicon by @dependabot in #6
  • Bump aiohttp from 3.8.3 to 3.9.2 in /src/BERT/training/ots-apple-silicon by @dependabot in #5
  • Bump starlette from 0.27.0 to 0.36.2 in /src/BERT/training/ots-apple-silicon by @dependabot in #4
  • Bump werkzeug from 2.2.2 to 2.3.8 in /src/BERT/training/ots-apple-silicon by @dependabot in #10
  • Bump urllib3 from 1.26.14 to 1.26.18 in /src/BERT/training/ots-apple-silicon by @dependabot in #11
  • Bump jinja2 from 3.1.2 to 3.1.3 in /src/BERT/training/ots-apple-silicon by @dependabot in #3
  • Bump markdown-it-py from 2.1.0 to 2.2.0 in /src/BERT/training/ots-apple-silicon by @dependabot in #14
  • Bump requests from 2.28.2 to 2.31.0 in /src/BERT/training/ots-apple-silicon by @dependabot in #15
  • Bump flask from 2.2.2 to 2.2.5 in /src/BERT/training/ots-apple-silicon by @dependabot in #13
  • Bump pygments from 2.14.0 to 2.15.0 in /src/BERT/training/ots-apple-silicon by @dependabot in #12
  • Bump scipy from 1.9.3 to 1.11.1 in /src/BERT/training/ots-apple-silicon by @dependabot in #16

New Contributors

Full Changelog: https://github.com/TelecomsXChangeAPi/OpenTextShield/commits/1_7

How to Update

For instructions on upgrading to OTS Version 1.7, please consult our update guide. Should you encounter any issues or require assistance during the update process, our support team is readily available to assist you.

Your feedback and support have been instrumental in the development of OTS. We remain dedicated to improving our platform and encourage you to share your suggestions and inquiries.

Thank you for your ongoing support of OTS!