Tellr
Trial abuse stops here

Know who's
really signing up.

Tellr helps SaaS teams detect repeat trial abuse, disposable emails, VPNs, reused cards, and suspicious behavior—then returns one clear decision: allow, limit, verify, or block.

Trusted by modern SaaS teams
AcmeAI
lumen
Draftly
Vectorize
4.2ms
p50 /v1/check
184ms
p95 with full enrichment
8 KB
gzipped SDK
267
signals computed
0
third-party fraud APIs
01The repeat-user problem

Same person.
New email. New IP.

Free trial abuse rarely comes from a stranger — it comes from someone you already let in last week. New mailbox, fresh VPN, cleared cookies. Tellr computes four composite identifiers from the browser and network, and uses the strongest match to assign the same tellr_id across attempts.

alice@gmail.com
73.142.10.45
2 weeks ago
bob@mailinator.com
198.51.100.7
3 days ago
c.smith@protonmail.com
203.0.113.22
just now → BLOCKED
→ all three share tellr_id 194 827 361 092 847 362 · matched on hardware_id (canvas + WebGL + audio + CPU + screen)
02The 267 signals

We compute
every one of them.

Network, TLS, browser, device, behavioral, identity. Some are obvious — IP reputation, disposable email domains. Some take work — canvas fingerprints, JA4 TLS, residential proxy detection by TTL anomaly. Every one of them is computed by our own code from our own datasets.

S001 … S267hover to inspect · full list in docs
  • 001
  • 002
  • 003
  • 004
  • 005
  • 006
  • 007
  • 008
  • 009
  • 010
  • 011
  • 012
  • 013
  • 014
  • 015
  • 016
  • 017
  • 018
  • 019
  • 020
  • 021
  • 022
  • 023
  • 024
  • 025
  • 026
  • 027
  • 028
  • 029
  • 030
  • 031
  • 032
  • 033
  • 034
  • 035
  • 036
  • 037
  • 038
  • 039
  • 040
  • 041
  • 042
  • 043
  • 044
  • 045
  • 046
  • 047
  • 048
  • 049
  • 050
  • 051
  • 052
  • 053
  • 054
  • 055
  • 056
  • 057
  • 058
  • 059
  • 060
  • 061
  • 062
  • 063
  • 064
  • 065
  • 066
  • 067
  • 068
  • 069
  • 070
  • 071
  • 072
  • 073
  • 074
  • 075
  • 076
  • 077
  • 078
  • 079
  • 080
  • 081
  • 082
  • 083
  • 084
  • 085
  • 086
  • 087
  • 088
  • 089
  • 090
  • 091
  • 092
  • 093
  • 094
  • 095
  • 096
  • 097
  • 098
  • 099
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267

Each cell is a discrete check we run on every signup. The complete list — with descriptions and score weights — is in the docs.

03Against the alternatives

Honest comparison.

TellrFingerprintStytch DFPDIY
Built for trial abuseYesNoNo
TLS fingerprintingJA3 + JA4JA3 onlyNo6 months
Device signals267~50~301 year
Behavioral biometricsYesYesNo
Threat intel in-houseYesMixedMixed
Self-hostableEnterpriseNoNoYes
Transparent pricing$0–$199Sales callSales call
No data resoldYesUnclearNoYes

‡ We are deliberately not the cheapest, the fastest, or the most featureful. We are the most focused on free-trial abuse — and the only one that lets you walk away with your data.

04The integration

Three lines.

One script tag in your <head>. One server-side call on signup. One if-statement on the verdict.

01Install
html
<script
  src="http://localhost:8081/v1/c.js"
  data-key="pk_••••"
  data-collector="http://localhost:8081"
></script>
02Call
ts
const r = await fetch(
  'http://localhost:8080/v1/check',
  {
    method: 'POST',
    headers: {
      Authorization: 'Bearer ' + KEY,
    },
    body: JSON.stringify({
      session_token: req.cookies._tellr_session,
      end_user: { email },
    }),
  }
).then(r => r.json());
03Decide
ts
if (r.verdict === 'block') {
  return res.status(403).send(
    "We've seen you before."
  );
}

await db.users.update({
  where: { id: userId },
  data: { tellr_id: r.tellr_id },
});
05Pricing

Pay per check.
Or don't pay at all.

Free tier is 1,000 checks a month — enough to validate the integration and catch real abuse. Move up when you grow.

Free
$0/ month

For solo founders and side projects.

  • 1,000 checks / mo
  • 7-day retention
  • 267 signals
  • Community support
most popular
Starter
$49/ month

Real production workloads.

  • 25,000 checks / mo
  • 30-day retention
  • Custom rules
  • Email support · 24h
Growth
$199/ month

Scaled apps, multiple projects.

  • 150,000 checks / mo
  • 90-day retention
  • Webhooks · SSO
  • Email support · 4h
Overages
$0.002 / check
Annual
Two months free
Cancel anytime
In-dashboard
06Enterprise

Self-hosting, SSO,
and custom residency.

For teams with data-residency requirements, an existing security review process, or volume beyond the published tiers. Single-tenant deploys to your own VPC, your own Postgres, your own Stripe. We never see your traffic.

  • Volume
    Negotiated
  • Residency
    EU · US · in-VPC
  • SSO
    SAML · OIDC
  • SLA
    99.99% with credits
  • Audit log
    API + SIEM export
  • Support
    Slack · 1h
> ten-minute integration

Catch your first repeat
signup today.