Tuta is an email service with a strong focus on security and privacy that lets you encrypt emails, contacts and calendar entries on all your devices. https://tuta.com
Find a file
map 5293be6a4a
Implement spam training data sync and add TutanotaModelV98
We sync the spam training data encrypted through our server to make
sure that all clients for a specific user behave the same when
classifying mails. Additionally, this enables the spam classification
in the webApp. We compress the training data vectors
(see clientSpamTrainingDatum) before uploading to our server using
SparseVectorCompressor.ts. When a user has the ClientSpamClassification
enabled, the spam training data sync will happen for every mail
received.

ClientSpamTrainingDatum are not stored in the CacheStorage.
No entityEvents are emitted for this type.
However, we retrieve creations and updates for ClientSpamTrainingData
through the modifiedClientSpamTrainingDataIndex.

We calculate a threshold per classifier based on the dataset ham to spam
ratio, we also subsample our training data to cap the ham to spam ratio
within a certain limit.

Co-authored-by: jomapp <17314077+jomapp@users.noreply.github.com>
Co-authored-by: das <das@tutao.de>
Co-authored-by: abp <abp@tutao.de>
Co-authored-by: Kinan <104761667+kibibytium@users.noreply.github.com>
Co-authored-by: sug <sug@tutao.de>
Co-authored-by: nif <nif@tutao.de>
Co-authored-by: map <mpfau@users.noreply.github.com>
2025-11-18 13:56:19 +01:00
.cargo unify all rust project into single workspace 2025-02-06 13:29:03 +01:00
.github Use Github issues forms 2025-11-14 10:50:02 +01:00
.run [ci] run browser tests in CI 2023-07-28 16:08:22 +02:00
app-android v314.251117.0 2025-11-17 13:32:33 +01:00
app-ios v314.251117.0 2025-11-17 13:32:33 +01:00
buildSrc Implement spam training data sync and add TutanotaModelV98 2025-11-18 13:56:19 +01:00
ci Further separate docker images 2025-11-17 13:45:55 +01:00
doc automatic updates for android sdk 2025-10-27 11:51:35 +01:00
githooks Fix pre-commit hook on iOS 2025-08-20 13:19:32 +02:00
ipc-schema fix selecting apple MBOX format when importing emails 2025-10-27 17:52:12 +01:00
libs Implement spam training data sync and add TutanotaModelV98 2025-11-18 13:56:19 +01:00
packages Implement spam training data sync and add TutanotaModelV98 2025-11-18 13:56:19 +01:00
resources Rework plan selector 2025-09-26 14:15:49 +02:00
src Implement spam training data sync and add TutanotaModelV98 2025-11-18 13:56:19 +01:00
test Implement spam training data sync and add TutanotaModelV98 2025-11-18 13:56:19 +01:00
tuta-sdk Implement spam training data sync and add TutanotaModelV98 2025-11-18 13:56:19 +01:00
types Add emscripten to tests pipeline 2024-05-22 08:47:10 +00:00
.editorconfig [ios] Use Prettier default ident in editor config 2024-02-09 11:51:36 +01:00
.gitattributes Revert "update gitattributes to fix windows build pipeline" 2025-09-09 16:54:06 +02:00
.gitignore [ios, sdk] Optimize build 2025-10-22 10:03:49 +02:00
.gitmodules Update node to v22 in Jenkins 2025-06-05 14:05:22 +02:00
.npmrc Publish v3.91.2-beta.0 for npm, fix publishing packages 2022-01-19 10:38:07 +01:00
.nvmrc Bump node to 22.16.0 2025-06-05 13:58:31 +02:00
.prettierignore Setup release pipline for crypto-primitives.wasm 2025-08-07 09:51:21 +02:00
.prettierrc.json5 [lint] Change prettier to prefer parens in arrow functions 2022-12-27 16:08:23 +01:00
android.js [build] Fix F-Droid build failing because of crypto-primitives wasm 2025-08-28 16:40:25 +02:00
Cargo.lock v314.251117.0 2025-11-17 13:32:33 +01:00
Cargo.toml v314.251117.0 2025-11-17 13:32:33 +01:00
desktop.js switch to typeIds and attrIds, add SystemMV126, TutanotaMV86, BaseMV2 2025-04-28 12:44:35 +02:00
eslint.config.mjs Create crypto primitive crate 2025-08-07 09:51:21 +02:00
fdroid-metadata-workaround Apply F-Droid metadata workaround 2018-08-09 09:20:48 +02:00
LICENSE.txt Change Tutanota to Tuta in translations, #6113 2023-11-09 17:22:09 +01:00
make.js [desktop] Fix opening files & directories on Linux 2025-09-26 12:18:38 +02:00
package-lock.json v314.251117.0 2025-11-17 13:32:33 +01:00
package.json v314.251117.0 2025-11-17 13:32:33 +01:00
README.md fix tuta logo on wasm or browser not supported fallback page 2025-08-14 14:54:11 +02:00
rustfmt.toml unify all rust project into single workspace 2025-02-06 13:29:03 +01:00
SECURITY.md [chore] update support link in SECURITY.md 2025-06-12 11:12:54 +02:00
start-desktop.sh threaded sqlcipher 2023-09-22 12:09:18 +02:00
third-party.txt Fix key verification dependencies for prod build 2025-03-19 15:01:40 +01:00
tsconfig-calendar-app.json [Calendar] Fix rollup and imports 2024-07-26 16:43:00 +02:00
tsconfig.json Fix including tutanota-usagetest in typescript build 2025-08-05 10:34:28 +02:00
tsconfig_common.json Allow for editing of groupInfo and groupSettings name 2025-09-17 14:11:56 +02:00
tutao-pub-test.pem test public key update 2019-10-10 17:04:17 +02:00
tutao-pub.pem Update desktop client codesigning public key 2019-10-10 17:13:29 +02:00
webapp.js [build] Fix F-Droid build failing because of crypto-primitives wasm 2025-08-28 16:40:25 +02:00
xcodegen_common.yml Update xcodegen_common.yml 2025-03-17 16:19:47 +01:00

Tuta Mail logo

Tuta Mail makes encryption easy

Tuta Mail is the secure email service with built-in end-to-end encryption that enables you to communicate securely with anyone on all your devices.

Building

See BUILDING.md.

Developing Tuta Mail

See HACKING.md.