Security rules written from your code. Approved by you.
Tessera is a reverse proxy that reads your repository, drafts a policy for every endpoint and field, and blocks requests that don't fit. When a known CVE applies to your code, a policy rule can stop the attack at the proxy while your team works on the fix.
How it works
- I
Intercept.
Tessera is a reverse proxy that sits in front of your server. Every request passes Tessera before your application sees it. No SDK, no code changes.
Request → Tessera → your appIncoming · last secondGET/api/orders10.4.12.88POST/api/login185.220.101.4GET/api/search?q=77.88.21.3PUT/api/avatar91.198.4.17Step1 / 4 - II
Check.
Fast, rule-based checks look at the shape of each request: field formats, SQL injection patterns, URLs, logins and abuse limits. Each endpoint gets only the checks it needs.
Only the checks each endpoint needsChecks · POST /api/loginSchemaemail ≤ 254, password ≤ 128File typen/a · no uploadsInjection shapesSQL injection, XSS, null bytesRate12 requests / minStep2 / 4 - III
Decide.
Requests that break the policy are blocked on the spot, with no AI involved. Suspicious ones, and a small sample of clean ones, get a second opinion from the AI classifier, which rates how likely an attack is.
Blocks above your thresholdVerdictsGET /api/ordersPassedPUT /api/avatarRouted to AI classifierPOST /api/loginBlockedStep3 / 4 - IV
Adapt.
Tessera discovers which endpoints are under attack and looks closer there. It asks the AI classifier about more of their requests, then eases off when things calm down.
Looks closer where attacks happenShare sent to AI classifier · per endpoint/api/login92%/api/search61%/api/avatar44%/api/orders12%/health2%Step4 / 4
A policy for every endpoint and field, drafted from your code.
Tessera reads your linked GitHub repository in a sandbox with no network, adds a redacted scan of your environment and known CVEs, and drafts a policy for every endpoint and field.
- Read from your codeRoutes, fields, dependencies and CVEs become the checks for each endpoint.
- Approved before it runsEvery policy is a saved version. You approve it, reject it, or edit it in plain language, and every approval traces back to a person.
- Signed, then pulledThe proxy runs only policies with a valid Ed25519 signature, and keeps the last good one if the dashboard is unreachable.
$ tessera fetch── fetch ───────────────── project 65f1c0de9a3b4e2d1c0f7a91■ downloaded from https://dashboard.tessera.example.com■ signature, content hash and tenant verified■ every tool in the bundle built■ PASSED stored policy v7 in Redisreplaced v6global 4 stepsenvironment 2 stepsendpoints 38 endpoints→ running proxies switch to v7 within 30 seconds# stored policy · POST /api/loginmethod: POST path: /api/loginrequestTools: [request_size, rate_limit]fields:email: { location: body, tools: [string_length, xss] }password: { location: body, tools: [string_length] }# proxy log■ ALLOW SAFE · not sampled
Trace one request through Tessera.
Follow an attack on Adminer, CVE-2025-43960, from the collector in your CI to the 403 at the proxy. Edit the policy, swap the request, move the threshold: the outcome changes with you.
Illustrative scenario with mocked data, modelled on the Tessera architecture. Nothing leaves your browser.
Nodes in this step
Collect the environment, read the repository
The runs in your CI and scans how your app is set up, then uploads a redacted report. Your source code never travels with it: the Tessera dashboard fetches the commit from your linked GitHub repository into a disposable sandbox with no network.
Why it matters: Secrets are redacted before anything leaves your network, and anything sent to an AI model is redacted again.
$ tessera analyze-env --target https://app.example.com --project-path .── analyze-env ───────────── 1 target · tenant acme-apptarget https://app.example.comproject /home/runner/work/appupload https://dashboard.tessera.example.com── results ────────────────────────────■ PASSED nmap web ports open on app.example.com■ PASSED httpx /adminer/ · 200 · Adminer 4.8.1■ PASSED nuclei 1 finding■ PASSED trivy 2 findings in composer.lock■ PASSED lynis host hardening report■ report sent · redacted · project acme-app→ dashboard: github.com/acme/app @ 3f9c2ab → sandbox with no network
Block the CVE today. Patch it next sprint.
Tessera reads your code in a sandbox, blocks attacks on known CVEs and stops suspicious requests before they reach your application.
Safe code analysis
Your repository is read in a sandbox with no network, and secrets are redacted before anything leaves it.
Blocks known CVEs
When a known CVE applies to your code, a policy rule can stop the attack at the proxy, even before a patch exists.
Helps block suspicious actions
A request that looks wrong for your code can be stopped, whether or not a CVE is involved.
What Tessera doesn't do
New vulnerabilities
It matches published vulnerabilities. It does not discover new ones.
Volumetric DDoS
Keep your CDN or your provider's protection for that.
Business-logic flaws
A well-formed request that does the wrong thing is a job for code review, tests and pentests.
Browser-side attacks
Stored XSS shown later, or tampered third-party scripts, need CSP and script monitoring.
Infrastructure
The collector reports open ports and config findings. It doesn't fix them.
Account takeover
Rate limits and bot checks help, but they don't replace MFA.
Fixing your code
Tessera buys time. The fix is still yours.
Compliance
Tessera can be one technical measure you show an auditor. It doesn't make you compliant.
We are still testing Tessera against real attacks on our own systems.
Projects, policies and proxies. The dashboard is never in the request path.
The hosted control plane is where you link repositories, approve policies, manage credentials and watch your proxies. If it goes down, the proxies keep enforcing the last good signed policy.
Projects and shared configuration for acme.
- Projects
- 3
- Active API keys
- 4
- GitHub installations
- 1
- Members
- 5
System overview
HealthyKey metrics across all projects.
Projects
3 totalEach project is one protected application with its own policy and bundle.
- Healthystorefronthttps://shop.acme.dev · bundle v7 · heartbeat 12 s ago
- Restart requiredadmin-apihttps://admin.acme.dev · bundle v3 · v4 activated
- Needs attentionpaymentshttps://pay.acme.dev · policy v1 pending approval
Global AI classifier integration
ConnectedShared by all projects. Proxies fetch it with a deployment key that has the jev-credentials:read scope.
Source repositories
LinkedAnalysis source is fetched from GitHub through a linked installation.
- acme/storefront
- acme/admin-api
- acme/payments
Credentials
Collector keys upload analyses. Deployment keys let proxies pull bundles and report health.
- Collector keys
- 2 active
- Deployment keys
- 2 active
Is Tessera a WAF?
In one sense, yes: it sits in front of your app and blocks attacks. The difference is where the rules come from. A WAF ships general rules for every app, while Tessera drafts a policy for your endpoints and fields from your code, and you approve it.
Do I have to replace my CDN or WAF?
No. Tessera runs behind your CDN or load balancer, in front of your app. Keep what handles DDoS and caching today.
Where does the proxy run?
The proxy runs on your server, next to your app, with Redis. The control plane is hosted by us and never sits in the request path. TLS certificates and request data stay with you, except the fields sent to the AI classifier.
Do I need to change my code?
No SDK and no code changes. Tessera is a reverse proxy, so your app doesn't know it's there.
What does the AI see?
For analysis, redacted excerpts of your code inside a sandbox with no network, and a manifest lists every line sent to the model provider. At runtime, the AI classifier gets request fields, not IPs, identifiers, headers or cookie fields. It only sees suspicious requests and a small sample of clean ones.
Can I use it without sharing my code?
Yes. Write your own policy and import it, and the analysis step never runs.
Will it block real users?
Policy violations are blocked by deterministic rules, with no AI involved. The AI classifier only returns a probability, and blocks only above a threshold you set and can lock. Under attack the threshold tightens toward the floor you set, never past it.
Who approves the rules?
Your team. Every policy is a saved version you approve, reject or edit in plain language, and every approval traces back to a person. Policies reach the proxy only when you pull a signed one with tessera fetch.
What if your dashboard goes down?
The proxy keeps enforcing the last good signed policy. The dashboard is never in the request path.
Which stacks does it support?
Parsers are modelled on the documented behaviour of 30 stacks and 18 servers, with real-server testing in progress. They copy quirks like PHP turning a.b into a_b, and the proxy scans every possible reading of a value.
Do I need GitHub?
Code analysis reads from GitHub today. On GitLab or elsewhere, import your own policy.
Does it help with audits?
Every policy version records who approved it, and the proxy logs its blocks. That's evidence for an auditor or a customer's security questionnaire. Tessera alone doesn't make you compliant.
Progress notes from the build.
- pre-alpha
Tessera debuts at HackYeah 2026
Tessera was created during the HackYeah 2026 event. We designed sketches of architecture and started the development process.
Have a CVE you can't patch yet, or a pentest report waiting on fixes?
Join the waitlist and we'll email you the details of a pilot on your own app.