Sno Station
Sno Station은 AI 에이전트를 하나의 팀으로 묶는 오픈소스 워크스테이션으로, 로컬 머신에서 에이전트 협업을 가능하게 함
Java·Kotlin 코드·스택 트레이스·실행 계획을 익명화해 AI 채팅에 붙여넣을 수 있는 IntelliJ 플러그인
Anonymize a Java or Kotlin snippet, a stack trace, or a database execution plan, before you paste it into an AI chat. An IntelliJ IDEA plugin.
플러그인KotlinGitHub @snippetveil온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Anonymize a Java or Kotlin snippet, a stack trace, or a database execution plan, before you paste it into an AI chat. IntelliJ IDEA plugin.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Anonymize a Java or Kotlin snippet, a stack trace, or a database execution plan, before you paste it into an AI chat.
Every name your project owns — classes, methods, fields, packages, string literals — is
replaced with a placeholder before the snippet leaves the editor. The structure, the
control flow, and the libraries you call go as-is.README 전문 보기 ↗Anonymize a Java or Kotlin snippet, a stack trace, or a database execution plan, before you paste it into an AI chat.
Every name your project owns — classes, methods, fields, packages, string literals — is replaced with a placeholder before the snippet leaves the editor. The structure, the control flow, and the libraries you call go as-is.
.java or .kt file, a comment
whose text is code, such as // this.customer.setOrder(order);, comes out as
// this.field2.method3(param4);: every name in it takes the placeholder that name gets in the
code around it. A comment that is prose, such as a TODO or an explanation, is stripped.14 renamed · 3 unknown · 22 preserved · 2 comments stripped. It is the only
place you can anonymize less — keep comments for this snippet, or preserve a name and send it
exactly as written. Names SnippetVeil could not resolve can be preserved directly; every other
name becomes preservable once you unlock the column, which warns you first and is locked again
the next time you open the preview.Type1 becomes FilterType1. The stem is yours, the number
always stays, and your real name never leaves the machine. Only names this snippet introduced can
be renamed — one an earlier snippet already used keeps the name that snippet's replies are written
in."SELECT state FROM billing.customers" comes out as "SELECT col1 FROM schema2.table3", and a
JPQL query's entity and field names take the placeholders the class and its fields get
everywhere else. A query SnippetVeil cannot read in full is replaced whole, as one "str1": SQL
holding a parameter, a string or a comment, JPQL with a name that does not resolve, and every
query in a Kotlin file. Which queries the IDE recognises depends on the plugins it has.java.base/,
is removed. Every exception message and the thread name become str placeholders, and a name the
IDE cannot find becomes Unknown. Copy the trace, then right-click → SnippetVeil →
Anonymize Stack Trace…; it always opens the preview first. A clipboard holding anything
besides the trace is refused, and your clipboard is left as it was.SnippetVeil makes no network calls. No networking code — enforced on every pull request, scanned in every release build, and public from the first commit.
"str1" → retype
the value that matters into your prompt.Not a secret scanner. Anonymizing code is unavailable outside supported source files; an execution plan or a stack trace is read from the clipboard, wherever you are. The reversal actions are not gated by language.
Apache-2.0. Source and issue tracker: https://github.com/snippetveil/snippetveil ·
Threat model, including the limits of the no-network checks:
https://github.com/snippetveil/snippetveil/blob/main/THREAT-MODEL.md
An IntelliJ IDEA plugin, for IDEA Community, IDEA Ultimate and Android Studio.
Status: published. SnippetVeil on the JetBrains Marketplace — Settings → Plugins → Marketplace, and search for SnippetVeil. Every release is signed, and the distribution zip is attached to the matching GitHub Release for anyone who would rather install it from disk and check the bytes first.
This repository is public from its first commit, deliberately — a continuous commit history is the evidence behind the no-network claim, and it can only be accumulated by starting early.
Work in progress is tracked in this repository's issues.
Every fixture in this repository is synthetic. The anonymiser is exercised against real codebases by a local instrument that is never run in CI and writes its findings outside the repository tree — and a bug it finds earns a synthetic fixture reproducing the shape, never the real code that revealed it. Running the anonymiser over a real codebase and committing the output would be exactly circular: if it leaked, the leak would be in a public repository, permanently. See CONTRIBUTING.md.
The demo/ directory is the sample project the Marketplace screenshots are shot from. It is not
part of the build and is not in the distribution — see demo/README.md.
SnippetVeil is free and Apache-2.0, and anonymizing your code is not something you will be asked to pay for.
If it saves you time and you want to fund the maintenance, there is a Sponsor button at the top of this repository, and the same link on the Marketplace listing. It is optional and it unlocks nothing — no features, no priority, no private builds. The plugin itself never asks: it makes no network calls, so it has no idea whether you sponsored it.
Two things help more than money. A bug report carrying the shape of the code that broke — synthetic, never your real source (CONTRIBUTING.md). And a rating on the Marketplace, which is one of the few signals this project gets, because it collects no telemetry.