Trust
See exactly what it does
Most apps ask you to trust them. This one is built so you do not have to. Below is everything in the open: each claim we make and how to check it, exactly what leaves your machine, the commands to verify the app yourself, the lines we will never cross, and a standing challenge to prove us wrong.
How we keep it safe
Safe app
The app is open source, and every release is signed with an Apple Developer ID and notarized by Apple. You can read the whole client, build it yourself, and confirm the binary you downloaded is the one we published.
Safe integration
We never patch, wrap, or inject into your agent. We read each agent through its own vendor-documented lifecycle hooks and render only in our own menu bar. You can check it: a public, reproducible git diff showing zero bytes changed.
Safe ads
Every advertiser is vetted by a human, and every ad link passes an open-source safety scanner before it can serve, then gets re-scanned continuously. You can audit the scanner and the policy.
What leaves your machine
This table is exact and complete. Anything not in the Sends column is never sent.
| Direction | Item | Detail |
|---|---|---|
| SENDS | Agent state | The normalized activity signal only: thinking / running_tool / awaiting_input / idle. |
| SENDS | Ad-slot ID | Which sponsor slot rendered, so we can serve and count it. |
| SENDS | Coarse targeting bucket | Low-resolution buckets computed on your machine (agent type, broad stack category, coarse geo, daypart). Buckets, never raw values. |
| SENDS | Click events | That a labeled sponsor line was clicked, plus dedupe metadata, so the advertiser is billed and you are credited. |
| NEVER | Repository names | Never transmitted. |
| NEVER | File paths | Never transmitted. |
| NEVER | Your code | Never transmitted, in whole or in part. |
| NEVER | Prompts or agent output | Never read, never transmitted. |
| NEVER | Auth tokens or credentials | Never accessed, stored, or routed. For any vendor. |
The coarse targeting bucket is deliberately lossy: bucketing happens locally and only the bucket leaves, so targeting never requires, or receives, your actual file contents, repo names, or dependency lists.
Verify it yourself
Copy-paste these against a shipped release. Values in <angle brackets> are filled in for each release and published on the release page.
Confirm the app is signed by our Developer ID
codesign --verify --deep --strict --verbose=2 /Applications/Tipbar.app codesign -dvvv /Applications/Tipbar.app 2>&1 | grep "TeamIdentifier" # expected: TeamIdentifier=TBP92XG83Z
Confirm Gatekeeper accepts it (notarization)
spctl -a -vvv -t install /Applications/Tipbar.app # expected: accepted # source=Notarized Developer ID
Confirm the download matches the published hash
shasum -a 256 ~/Downloads/Tipbar-0.1.1.dmg # expected: cadd28dc10cb737ef804bb49202ce7c8b91dadb52230a9603a01ba21fad7b647
Signing identity
Releases are signed with our Apple Developer ID and notarized by Apple. The SHA-256 is per release and published on the download page beside each build.
- Apple Team ID
- TBP92XG83Z
- Signing identity
- Developer ID Application: Achieve Total Marketing LLC (TBP92XG83Z)
- Latest release SHA-256
- cadd28dc10cb737ef804bb49202ce7c8b91dadb52230a9603a01ba21fad7b647
What we will never do
- 01
We will never touch your auth or tokens.
No vendor's credentials are ever accessed, stored, or routed through us.
- 02
We will never call the model.
We do not run inference, proxy your API calls, or sit between you and your agent.
- 03
We will never modify, patch, wrap, or weaken your agent.
No edits to any agent's binary or files, and never any change to its security settings or CSP.
- 04
We will never render outside our own menu bar.
No ads in a terminal, spinner, status line, editor, or webview. Only in our own surface.
- 05
We will never ship an unsigned binary or a silent update.
Every release is signed and notarized, and is always something you choose to install.
- 06
We will never trade on a vendor's name.
No agent's trademark in our brand, and never any implied endorsement or affiliation.
- 07
We will never serve an ad we have not screened.
Every advertiser is vetted and every link is scanned before it can reach you.
If we ever break this pact, you can uninstall in one click. We will have failed, in public.
Are ads in your AI coding agent safe? What to check first
Five checks apply to any tool in this category, not just ours. Ask them of every wait-state ad tool before you install one, including Tipbar.
| The check | Tipbar's answer |
|---|---|
| Does it modify your agent's files? | Zero lines. Proven by a reproducible diff, and a standing public challenge below. |
| Is every release signed and notarized? | Yes. Apple Developer ID plus notarization, verifiable with the commands above. |
| Can it update itself silently? | No background auto-update. Every version is something you choose to install. |
| Is the source public? | Open source under Apache-2.0, so you can read and build the whole client. |
| Is ad and click fraud handled by a published method? | An open-source scanner screens every link against a published policy before it can serve. |
How other tools in the category answer the same five checks: the comparison table.
The standing challenge
The “0 lines modified” challenge
We claim the app modifies zero lines of any AI coding agent it integrates with. If you can prove otherwise, we want to know, and we will say so publicly.
What counts as a win
- Any byte changed in an agent's own binary, bundle, or vendor-installed files, caused by installing or running our app.
- Any weakening of an agent's security posture (for example a CSP relaxed) caused by our app.
- Any hook or config we add outside the agent's own documented hook mechanism, or without showing it in the installer's change-preview.
What does not count (by design)
- The documented hook-config entry the installer adds with your consent and shows you first. One-click revert removes it cleanly.
- Changes to our own app's files, config, or state.
- Files you or another tool modified independently of our app.
- Behavior on an agent version we do not yet support, or a build you patched yourself.
To report one: open a public issue on the client repo titled zero-diff: with the agent and version, exact reproduction steps from a clean machine, and the diff or evidence of the agent-owned change. We reproduce it; if it holds, we fix it and say so publicly. We post confirmed and rejected reports openly either way, so the claim itself stays honest.
Run the zero-diff check yourself
The report below is machine-generated. It runs the installer in a throwaway sandbox home, diffs every agent config before and after, then reverts and confirms the bytes are identical. It exits non-zero if anything outside the documented write surface changes, so the check doubles as a regression test.
Run it yourself
git clone https://github.com/tipbar/tipbar && cd tipbar bash scripts/zero-diff-proof.sh
Generate it from the source
The report is produced by the open-source repo itself: clone it and run bash scripts/zero-diff-proof.sh to generate PROOF.md on your own machine and check it byte-for-byte.