Security.
Measured from the live service, not asserted.
Evidence built October 9, 2026

At a Glance
The controls that protect privileged work, measured from the live service, the code and the dependency tree, with the source of every figure.
- TLS 1.3
- TLS 1.3 and 1.2 only; 1.1 and 1.0 refused
- measured October 9, 2026
- 6
- known vulnerabilities across 294 dependencies
- 0 critical · 3 high · October 9, 2026
- 214
- security test cases in 14 suites
- 27 of 33
- API route patterns that require an identity
- TOTP
- two-factor sign-in, enforced on member accounts after enrollment
- Limited
- sign-in attempts from any one address
- Ed25519
- signature on every release, verified before install
- ed35:4e44:a0c5:540c:e3d7:5bb8:180c:2071
- —
- the only address the desk listens on
- the member’s own machine
Where Data Lives and Where It Is Answered
The matter file stays on the member’s machine. The member chooses where questions are answered, in Settings under Where my work runs, and can leave the cloud entirely. A server that does not answer a test question cannot be chosen, and when the chosen place is down, nothing is sent anywhere else.
Gage cloud
- Where a question is answered
- Model providers through the Gage gateway, on confidential terms, on US and EU hosts. Matters, documents and library stay on the member’s computer.
- What leaves the computer
- The question only
My own server
- Where a question is answered
- A model server the member owns: their machine or their company’s server. Questions go there and nowhere else.
- What leaves the computer
- The question, to the member’s server only
This computer only
- Where a question is answered
- A model running on this computer. Nothing leaves the device.
- What leaves the computer
- Nothing
| Choice | Where a question is answered | What leaves the computer |
|---|---|---|
| Gage cloud | Model providers through the Gage gateway, on confidential terms, on US and EU hosts. Matters, documents and library stay on the member’s computer. | The question only |
| My own server | A model server the member owns: their machine or their company’s server. Questions go there and nowhere else. | The question, to the member’s server only |
| This computer only | A model running on this computer. Nothing leaves the device. | Nothing |
- Local
- matters, evidence and drafts are kept on the computer the kit runs on
- —
- the desk listens only on the member’s own machine
- Audited
- every work session writes its own audit log in the matter
- Not stored
- question text on our own lane
What It Does on Your Computer
Gage Law is not a web page. It is a working system that runs on your own computer and does the work with you: it reads the papers in its folder, runs its own tools, and brings the law in from official sources. That is what makes it capable. Here is what each ability does in this release, the limit it is held to today, and the control that is yours.
Answering
Always onReads your request, works through it in steps, and may hand part of the work to a helper held to the same limits.
The limit today
Only you instruct it. An instruction found inside a document, an email or a web page is treated as text to read, not an order to follow.
Files
Always onReads the records in the one folder it keeps for you, and saves the drafts and notes you ask for there.
The limit today
It works inside that folder. Files elsewhere on the computer are left as they are.
Its Own Tools
Always onRuns the tools that ship with it (acquiring law, building papers, checking a filing) inside the operating system’s sandbox.
The limit today
Commands stay inside the sandbox. On a computer that cannot run the sandbox, the tools are kept to reading.
Web
Always onSearches, and opens pages from a set list of law and library sites.
The limit today
Pages are opened from that list only.
Mail
On or OffFinds and reads the mail kept on this computer, and proposes a reply for you to confirm.
The limit today
Every reply waits for you. Nothing is sent, moved, filed or deleted without your confirmation.
Usage Detail
Full or Counts onlyLeaves a record of each answer’s size and time so your usage is counted correctly.
The limit today
The name of a matter stays on your computer.
Computer and Browser Control
Not switched on yetWorking your screen for you: opening a court’s filing site, filling in a form, moving between programs to finish a task from start to end.
Where it stands
This release does not use your mouse, keyboard or browser, and no session is handed a tool that could.
When it arrives it will be yours to set at three levels (Off, Ask first and On) and it will start at Off.
Every request starts a fresh session holding only what is listed here, and nothing can widen it partway through. The installer checks our signature before it writes anything, shows you the licence, and needs no administrator rights. The same list, with the current level of each, is in the desk under Settings, then Permissions. Gage Law is not a lawyer and does not give legal advice; the licence you accept before install says so in full.
Network and Transport
Measured against the live domain on October 9, 2026, with legacy protocols allowed on the testing side, so a refusal is the server’s.
TLS 1.3
- Result
- Accepted
- Negotiated cipher
TLS_AES_128_GCM_SHA256
TLS 1.2
- Result
- Accepted
- Negotiated cipher
ECDHE-RSA-AES128-GCM-SHA256
TLS 1.1
- Result
- Refused
- Negotiated cipher
—
TLS 1.0
- Result
- Refused
- Negotiated cipher
—
| Protocol | Result | Negotiated cipher |
|---|---|---|
| TLS 1.3 | Accepted | TLS_AES_128_GCM_SHA256 |
| TLS 1.2 | Accepted | ECDHE-RSA-AES128-GCM-SHA256 |
| TLS 1.1 | Refused | — |
| TLS 1.0 | Refused | — |
Certificate issuer
- Value
- Let's Encrypt
Certificate key
- Value
- RSA 2048-bit
Certificate valid until
- Value
- Dec 6 00:29:15 2026 GMT
Authorised certificate authorities (CAA)
- Value
- letsencrypt.org, pki.goog, sectigo.com
Connection from the kit to our gateway
- Value
- HTTPS to our own token-gated gateway address; from there, a private Tailscale (WireGuard) network
| Control | Value |
|---|---|
| Certificate issuer | Let's Encrypt |
| Certificate key | RSA 2048-bit |
| Certificate valid until | Dec 6 00:29:15 2026 GMT |
| Authorised certificate authorities (CAA) | letsencrypt.org, pki.goog, sectigo.com |
| Connection from the kit to our gateway | HTTPS to our own token-gated gateway address; from there, a private Tailscale (WireGuard) network |
Response Headers
As served by https://law.gagegreengroup.com/, read October 9, 2026.
Strict-Transport-Security
- Value
max-age=31536000; includeSubDomains; preload
Content-Security-Policy
- Value
- default-src 'self'
- script-src 'self' 'nonce-{per-request}' 'strict-dynamic' https://js.authorize.net
- style-src 'self' 'unsafe-inline' https://fonts.googleapis.com
- font-src 'self' https://fonts.gstatic.com data:
- connect-src 'self' https://*.supabase.co https://js.authorize.net https://api.authorize.net https://api2.authorize.net https://vjrfurqoyokxbcdwjdch.supabase.co
- img-src 'self' data:
- worker-src 'self'
- frame-src 'none'
- base-uri 'self'
- form-action 'self'
- upgrade-insecure-requests
X-Frame-Options
- Value
DENY
X-Content-Type-Options
- Value
nosniff
Referrer-Policy
- Value
strict-origin-when-cross-origin
Permissions-Policy
- Value
camera=(), microphone=(), geolocation=(), payment=(self)
X-DNS-Prefetch-Control
- Value
off
| Header | Value |
|---|---|
| Strict-Transport-Security | max-age=31536000; includeSubDomains; preload |
| Content-Security-Policy |
|
| X-Frame-Options | DENY |
| X-Content-Type-Options | nosniff |
| Referrer-Policy | strict-origin-when-cross-origin |
| Permissions-Policy | camera=(), microphone=(), geolocation=(), payment=(self) |
| X-DNS-Prefetch-Control | off |
Access Control
Every API route is classified in one registry, and the edge enforces the class before a request reaches the application. 27 of 33 route patterns require an identity. Limits apply per address; their values are not published.
Requests to each API route, per address
- Status
- Limited
Requests across the whole API, per address
- Status
- Capped
Sign-in attempts, per address
- Status
- Limited
Payment requests
- Status
- Limited
Repeated reads of matter records
- Status
- Raise a security alert
| Control | Status |
|---|---|
| Requests to each API route, per address | Limited |
| Requests across the whole API, per address | Capped |
| Sign-in attempts, per address | Limited |
| Payment requests | Limited |
| Repeated reads of matter records | Raise a security alert |
Security Tests
214 test cases in 14 suites guard the boundaries above, and run before every release.
API access and rate limits
- Cases
- 11
Account recovery
- Cases
- 9
Safe rendering
- Cases
- 16
Document preview
- Cases
- 14
Invitations and member sandboxes
- Cases
- 15
Live security checks
- Cases
- 9
Environment separation
- Cases
- 13
Sign-in security
- Cases
- 24
Prompt-injection fencing
- Cases
- 17
Row-level security
- Cases
- 11
Matter isolation
- Cases
- 17
Security-critical routes
- Cases
- 15
Structured data safety
- Cases
- 18
Platform hardening
- Cases
- 25
All suites
- Cases
- 214
| Suite | Cases |
|---|---|
| API access and rate limits | 11 |
| Account recovery | 9 |
| Safe rendering | 16 |
| Document preview | 14 |
| Invitations and member sandboxes | 15 |
| Live security checks | 9 |
| Environment separation | 13 |
| Sign-in security | 24 |
| Prompt-injection fencing | 17 |
| Row-level security | 11 |
| Matter isolation | 17 |
| Security-critical routes | 15 |
| Structured data safety | 18 |
| Platform hardening | 25 |
| All suites | 214 |
Supply Chain and Releases
Every commit is scanned before it lands, the dependency tree is audited, and every release of the kit is signed and verified before it installs.
Commit scanning
- Measured
- gitleaks secret scan, secret-shape scan, direct model-provider call guard
Dependency audit
- Measured
- 6 known vulnerabilities across 294 dependencies, October 9, 2026
Lockfile
- Measured
- Committed, so installs are reproducible
Release signature
- Measured
- Ed25519, verified against a pinned public key
Key fingerprint
- Measured
ed35:4e44:a0c5:540c:e3d7:5bb8:180c:2071
Published kit
- Measured
- Version 11.40: signature verifies, October 9, 2026
Unverified kit
- Measured
- The installer refuses it and writes nothing
Clean-room rehearsal
- Measured
- 14 of 14 install steps, 207 probes, version 11.40
| Control | Measured |
|---|---|
| Commit scanning | gitleaks secret scan, secret-shape scan, direct model-provider call guard |
| Dependency audit | 6 known vulnerabilities across 294 dependencies, October 9, 2026 |
| Lockfile | Committed, so installs are reproducible |
| Release signature | Ed25519, verified against a pinned public key |
| Key fingerprint | ed35:4e44:a0c5:540c:e3d7:5bb8:180c:2071 |
| Published kit | Version 11.40: signature verifies, October 9, 2026 |
| Unverified kit | The installer refuses it and writes nothing |
| Clean-room rehearsal | 14 of 14 install steps, 207 probes, version 11.40 |
Verify a kit yourself: python3 kit_signing.py --verify-file INSTALL.json
Subprocessors
Third parties that process data for the platform, each read from the configuration that uses it. The sovereign lane uses none. On the website, questions about a matter are answered only on our own servers and are never sent to Google or Groq.
Vercel
- Purpose
- Website hosting and edge delivery
- Evidence
- Live response header
Supabase
- Purpose
- Member accounts, sign-in and member records
- Evidence
- Configuration
Authorize.Net
- Purpose
- Card payments
- Evidence
- Configuration
Amazon Web Services (SES)
- Purpose
- Transactional email
- Evidence
- Email configuration
Resend
- Purpose
- Transactional email, fallback
- Evidence
- Email configuration
Google (Gemini)
- Purpose
- Model processing for general questions (not matter questions)
- Evidence
- Shared model caller
Groq
- Purpose
- Model processing for general questions (not matter questions)
- Evidence
- Shared model caller
Tailscale
- Purpose
- Private network between the installed kit and our gateway
- Evidence
- Kit gateway configuration
Model providers (kit standard lane)
- Purpose
- Answers to questions reached through our gateway
- Evidence
- Model lane routing
| Subprocessor | Purpose | Evidence |
|---|---|---|
| Vercel | Website hosting and edge delivery | Live response header |
| Supabase | Member accounts, sign-in and member records | Configuration |
| Authorize.Net | Card payments | Configuration |
| Amazon Web Services (SES) | Transactional email | Email configuration |
| Resend | Transactional email, fallback | Email configuration |
| Google (Gemini) | Model processing for general questions (not matter questions) | Shared model caller |
| Groq | Model processing for general questions (not matter questions) | Shared model caller |
| Tailscale | Private network between the installed kit and our gateway | Kit gateway configuration |
| Model providers (kit standard lane) | Answers to questions reached through our gateway | Model lane routing |
Report a Vulnerability
Write to us with the affected address, the steps to reproduce it and the impact you observed. Please do not access member data or degrade the service while testing.
Contact
- Value
mailto:law@gagegreengroup.com
Expires
- Value
2027-03-13T00:00:00.000Z
Preferred-Languages
- Value
en
Canonical
- Value
https://law.gagegreengroup.com/.well-known/security.txt
Policy
- Value
https://law.gagegreengroup.com/security#disclosure
| Field | Value |
|---|---|
| Contact | mailto:law@gagegreengroup.com |
| Expires | 2027-03-13T00:00:00.000Z |
| Preferred-Languages | en |
| Canonical | https://law.gagegreengroup.com/.well-known/security.txt |
| Policy | https://law.gagegreengroup.com/security#disclosure |
Sources
The part of the code each control was read from, with the SHA-256 of that file when this page was built.
Rate limits
- Read from
- Access-control and monitoring code
- SHA-256
2ec1b4857f1d…
Rate limits
- Read from
- Rate-limit code
- SHA-256
faa61e4b298a…
Route registry
- Read from
- Route access registry
- SHA-256
2ec1b4857f1d…
Two-factor enforcement
- Read from
- Member sign-in code
- SHA-256
5ab3231e60e0…
Release integrity
- Read from
- Release signing tool
- SHA-256
436cfae579dd…
Release integrity
- Read from
- Kit installer
- SHA-256
ce47b4a52498…
Data handling
- Read from
- Desk server
- SHA-256
3baa2e850aad…
Data handling
- Read from
- Model lane routing
- SHA-256
3ba818ad6de3…
Data handling
- Read from
- Kit gateway configuration
- SHA-256
fc96907751bb…
| Controls | Read from | SHA-256 |
|---|---|---|
| Rate limits | Access-control and monitoring code | 2ec1b4857f1d… |
| Rate limits | Rate-limit code | faa61e4b298a… |
| Route registry | Route access registry | 2ec1b4857f1d… |
| Two-factor enforcement | Member sign-in code | 5ab3231e60e0… |
| Release integrity | Release signing tool | 436cfae579dd… |
| Release integrity | Kit installer | ce47b4a52498… |
| Data handling | Desk server | 3baa2e850aad… |
| Data handling | Model lane routing | 3ba818ad6de3… |
| Data handling | Kit gateway configuration | fc96907751bb… |