LinkedIn AI Slop

Privacy

The extension scores posts you already see on the LinkedIn feed. Code: github.com/pawelmamcarz/linkedin-ai-slop.

What leaves the browser

When a post comes into view, the extension sends the post id, the text (up to 6000 characters), and optionally the name visible on the card. By default, standalone text shorter than 100 characters (after hashtags, mentions, links, and emoji are removed) is not sent. You can change the minimum length in settings; previously saved custom settings are preserved. Reshares send only the sharing author's own commentary, with at least 200 characters and meeting the configured minimum length. Comments under the post, and the nested reshare text, are skipped for the outer card.

The default address is https://proxy-production-ebcc.up.railway.app. You can set your own proxy in the options, including a local one.

Where it goes

The proxy calls TypeSafe Jev (POST https://api.typesafe.ai/v1/systemone, model jev-latest). TYPESAFE_API_KEY lives only on the server. It is not in the extension and not on this page.

The proxy does not write post text to disk. Memory holds a per-IP request counter (a 60 second window, 60 scores per minute, and a daily counter when the daily cap is on) and a SHA-256 of the normalized text together with the verdict. An entry lives 12 hours by default, and the cache holds up to 2000 entries. The raw text is not kept there. A cache hit does not call TypeSafe again. Those counters and the cache disappear when the process restarts.

The stdout log is one JSON object: event, tier (demo or pro), cache hit, model token counts, model name, and text length. It does not include the post text, the API key, or the Pro token.

TypeSafe receives that same text (up to 6000 characters) and, when present, the author name, as the Jev question state. The API key stays in the server header. TypeSafe handles that call under its own terms.

Payments (Stripe)

Demo is free. Paid plans (Pro at about 5 USD a month or about 40 USD a year, Lifetime Pro at 19.99 PLN once, Team at 990 PLN a year for 10 seats) open Stripe Checkout on the proxy. You enter the card at Stripe, not in the extension and not on this server.

The Team plan asks Checkout for a billing address and a tax id. The proxy stores the Stripe customer id and the Pro token (and its SHA-256). If a token file is configured on the server, the token stays on the proxy disk. Otherwise it is gone after a restart, unless it is also listed in the server environment. The extension sees a token only after you paste it in the options.

What we do not do

We do not sell data. We do not use it for advertising and we do not embed ad pixels. The extension does not publish posts and does not read the LinkedIn inbox.

What stays in the browser

Extension storage (storage.sync, or storage.local when sync is unavailable) stores the toggle, the threshold, the mode (Demo, BYOK, or Pro), the proxy URL, your own proxy URL, the cover-AI-slop option, the minimum text length, and an optional Pro token. The Pro token is not TYPESAFE_API_KEY. The tab sessionStorage may keep a Demo limit timestamp, without the post text. That covers Chrome, Brave, Edge, Firefox, and Safari. The extension does not read your LinkedIn profile beyond the visible post card and the menu used to skip the signed-in member's posts.

Contact

Paweł Mamcarz, pawel@mamcarz.com.

Back Terms

Optional content-quality pilot

When you explicitly submit feedback, the proxy stores the selected rating, reason, optional pasted excerpt, random submission ID and submission time. Post text, author and URL are not attached automatically. Feedback is private, accessible to the operator and deleted after 30 days. The token authenticates requests and limits abuse; it is not stored with feedback. No automatic activity telemetry is added. The trial registry stores a participant alias, token hash, activation time and expiry.