client-side-trust-boundary SKILL.md skillA
client-side-trust-boundary from annatchijova/skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add annatchijova/skills/client-side-trust-boundary@git:20260825.0cef3f6Pins git:20260825.0cef3f6 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- annatchijova/skills
- Path
client-side-trust-boundary/SKILL.md- Versions recorded
- 1
- Latest version
- git:20260825.0cef3f6, committed Aug 25, 2026
- Size
- 8,164 bytes
- Repository stars
- 9
- License
- a license file GitHub does not identify
Treat any code or data that runs on a device the user controls as code and data the adversary controls — the mobile app, the single-page app, the desktop client, the game — because the user can root the phone, hook it with Frida, bypass the certificate pin, read the "encrypted" local database, and patch out any check you shipped, so a security decision made client-side is a suggestion, never a control. Use whenever the subject is a client that runs on hardware you do not own…
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Client-Side Trust Boundary The line where your code stops running on hardware you control and starts running on the user's device is the most under-respected trust boundary in software. Past that line, everything is negotiable: the attacker owns the CPU, the memory, the storage, the network stack, and the debugger. They can root the phone, attach Frida and rewrite any function at runtime, bypass the certificate pin, dump the "encrypted" SQLite with the key sitting three files over, decompile the APK, and flip the `isPremium` boolean. **A security decision that is made only on the client has not been made.** It has been suggested to an adversary who is free to decline. Two failure modes, and both come from mistaking "the code we shipped" for "the code that runs": - **Trusting a client-side check.** The disabled button, the client-validated price, the feature gate, the input validation, the "jailbreak detected → refuse" guard — the attacker simply removes it. Worse, root/jailbreak detection and anti-tamper are themselves client-side code, so they are defeated by the same instrumentation they …
Read the whole file at its exact version.
How to install
mdr add annatchijova/skills/client-side-trust-boundary@sha256:a2ece8c034c2a453The line at the top of this page pins the label git:20260825.0cef3f6, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_ruxvcbvmk5v2uyfr)
2 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 1 version of this file, committed on Aug 25, 2026.
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (8164 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
annatchijova/skills · 9 stars · license a license file GitHub does not identify · pushed 2026-11-02 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_ruxvcbvmk5v2uyfr GET https://markdownregistry.com/api/v1/resolve?ref=annatchijova/skills/client-side-trust-boundary GET https://markdownregistry.com/api/v1/blob/a2ece8c034c2a4531ae52b3a2f83ea4b17df576365610db5927c60960a849dc5
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.