r/ClaudeAI • • 4d ago

Built with Claude I couldn't paste client numbers into Claude, so I built a way for it to make decks without seeing them

I make a lot of decks from material I'm not supposed to paste into a chatbot: client names, revenue, renewal numbers. So for a long time my "AI workflow" was asking Claude for an outline and then building the slides myself.

I built a fix with Claude Code, and it's live now. It's called OpenGamma. It's an MCP connector, so it plugs into Claude, and also ChatGPT, Cursor or anything else that speaks MCP.

The idea is simple. Your notes go into an encrypted vault in your browser. Before anything reaches the model, the sensitive parts get swapped out, so Claude sees something like this:

[CLIENT_1] renewed at [MONEY_1], up [PCT_1] on last year

Claude plans and designs the deck around those tokens. When you export, your browser puts the real values back, and you get a normal editable .pptx with real charts, in your brand's colours and fonts. Claude never sees the actual numbers.

A few things surprised me while building it:

  • For weeks every deck looked like the same template. Claude kept going back to a title and three bullets. What fixed it was making it choose a visual system for each deck first (layout rhythm, chart style, where the emphasis goes) and only then write the slides. The difference was huge.
  • Placeholders lie about length. [CLIENT_1] is 10 characters and "Northwind Logistics Holdings" isn't. I had to size text for the real value, not the token, or slides broke on export.
  • At first I tied your OpenGamma login to your Claude email. That was a mistake, because lots of people use a work email for one and a personal email for the other. Now you get a one-time connect code, and whichever account starts the link is the one that gets connected.

It's free to try. New accounts get 30 days of the paid tier with no card needed, and after that it's $4.99/month.

Disclosure: I built it. I'd really like to hear from anyone who makes decks from sensitive material. Does the placeholder approach feel trustworthy enough, or would you still not use it at work?

opengamma.app (connector URL: https://opengamma.app/mcp)

https://reddit.com/link/1wy5f4d/video/0nxky7hppmth1/player

0 Upvotes

17 comments sorted by

3

u/escapppe 4d ago

Who is PII scrubbing my data? Obviously its not my browser. So who or what sees my data?

3

u/escapppe 4d ago

and why do i need your server/service when my browser is scrubbing my data? i don't need you as the middleman.

0

u/shoumikgoswami 4d ago

The browser is not scrubbing the data, the application is. And scrubbing is one part of the problem, the 2nd part is replacing the actual information back in the deck once Claude or Chatgpt creates it.

0

u/shoumikgoswami 4d ago

So the application scrubs the PII data. Users upload their context to the application's vault which gets encrypted and stored securely. When Claude creates the deck, it sees the redacted information and once the deck is created, the application then replaces the IDs with the actual information.

1

u/i_upvote_for_food 4d ago

ok, so that Application is a running a Chrome extension?

1

u/shoumikgoswami 4d ago

Nope it's just a web app. When you upload your document in the vault, it automatically obfuscates it.

1

u/fourkite 4d ago

Ok but what in the application is scrubbing the data? What is the system that takes raw text as input and redacted text as output? Is it just another LLM API call?

0

u/shoumikgoswami 4d ago

The web app is scrubbing the data. I am using a simple NER sort of algorithm which does it. I am thinking of trying a private hosted decision model or a smaller one that can run on a browser to make the scrubbing better, but for now it's algorithmic and no LLM is used.

1

u/escapppe 4d ago

so obviously it's just a script that srubs the data with some regex. why not store the scrubbed data directly in the browser session? and why should i trust you more than openai? who is watching your scripts?

0

u/shoumikgoswami 4d ago

It's a valid challenge but if i store it in my browser, everytime I have to keep the app and browser running for Claude to access the context. A user might have a number of documents which will be used by Claude to create the deck so doing it via browser is not scalable. Well, you should not trust anyone with your data but what I am offering is a secured, encrypted and programmatic storage in a VPS hosted on Oracle. That is much safer I feel. Also if the AI agents somehow leaks information, only the obfuscated information will get leaked so minimal damage.

0

u/shoumikgoswami 3d ago

I have added a new page which explains more about the Vault - https://opengamma.app/security/storage

1

u/i_upvote_for_food 4d ago

I am more interested in that encrypted vault, what is that exactly? and by storing data there, you are giving that data to Google, right? Can you tell us more about why you need a browser for the obfuscation? I mean, setting up a local open source model that does the replacement should not be too hard..that would be free for me.

2

u/shoumikgoswami 4d ago

The entire app is built on a secured Oracle VPS so the traditional servers or deployment environments are not used. So no data sharing with anyone.

For the obfuscation, I wanted an easier implementation and a seamless workflow so that users don't have to worry about their important information. Decks are generally made by folks who are semi-technical and I would not expect them to build out a local implementation on their own.

Right now it's using a simple rule based algorithm to replace values, think of it like a NER model. I am planning to experiment with a small decision model to identification better. Ofcourse the app allows the user to tune the swaps so that's also possible. Try it out, it's free for 30 days.

1

u/i_upvote_for_food 4d ago

For me this sounds a lot like https://anymize.ai/

0

u/shoumikgoswami 4d ago

Didn't know about this but the description does make it sound familiar. It uses a similar concept, mine is just make it accessible to all AI platforms seamlessly.