PrivateGoat, a small goat in an olive helmet, saluting

Private meetings.
Instant Jira.

  • Whisper transcribes on your Mac. The audio never leaves it.
  • Your Jira in a local database. Search is instant, even offline.

PrivateGoat records your calls, drafts the action items as Jira tickets for you to send, and gives your coding agent the meeting context over local MCP.

Invite-only betaA native Mac app
  • Works with Zoom, Teams, Meet
  • No bot joins your call

Follow the goat through one working day ↓

How long does it take to…

Look up one ticket?

ACME-62 - Jira
acme-alpine.atlassian.net/browse/ACME-62
ACME-8 / ACME-62
Offline maps for the hiking app
In ProgressStory
Copied
9.8 stypical
PrivateGoat
off
ACME-8 β€Ί
ACME-62Offline maps for the hiking appIn Progress
ACME-62 β€Ί
ACME-142Cache map tiles for offline useTo Do
ACME-62 copiedKey, title and link on your clipboard
1.0 stypical

You speak. Goat types.

Into any app, transcribed locally.

Listening

Offline maps ship on Friday. Map tiles are cached on the device, and the snow report follows next week.

Release notes β€” Acme Alpine

Trail map 2027 β€” what ships this week

Offline maps ship on Friday. Map tiles are cached on the device, and the snow report follows next week.

Your clipboard is put back afterwards.

All of it.On your Mac.

Meetings, dictation, your Jira search. PrivateGoat uploads nothing.

Sorry, data brokers. Nothing to see here.

10:00 Β· The weekly

Your mic and system audio. Recorded together.

No BlackHole, no virtual audio driver. Transcribed live.

Trail map launch β€” weekly
Recording Β· 00:07:12
REC
You Β· microphone
Call Β· system audio
TranscriptOn this Mac
  1. 10:09LeaSomeone should check the photo credits with legal.
  2. 10:11MaraI can own that one, but legal is slow in August.
  3. 10:13JonasRoute export already shipped, so the GPX bit is done.
  4. 10:15MaraAnd the snow report on the map, maybe next sprint.
  5. 10:18LeaCache tiles per zoom, so a zoomed-out view stays small.
  6. 10:22MaraGood. Keep the cache on the Mac β€” no CDN.
  7. 10:30MaraThat's the launch. Friday check-in.
Uploaded: nothing

The transcript writes itself while you talk, on your Mac. The audio never leaves it.

Trail map launch β€” weekly
Meeting

Trail map launch β€” weekly

Tuesday32 min4 participants
Recording
Transcript
Summary
Actions
Jira

Outcome: β€œOffline maps block the launch. The tile cache ships Friday.”

Suggested actions
ActionAccepted
Cache map tiles for offline use
Bernese Oberland tiles are too big to cache.
YouDue Frisaid10:07βœ“ Acceptβœ• Dismiss
Cache per zoom levelCache stays on the Mac
Merged 3 β†’ 1
ActionKeep local
Check photo credits with legal
Legal is slow in August.
Leaimplied10:09βœ“ Acceptβœ• Dismiss
ActionAccepted
Snow report on the map
Maybe next sprint.
MaraDue Next sprintpossible10:15βœ“ Acceptβœ• Dismiss
Create in Jira
ACME-8Trail map 2027existing
ACME-62Offline maps for the hiking appexisting
ACME-142Cache map tiles for offline useCreated
ACME-143Show the snow report on the mapCreated
AssigneeYou
Create 2 subtasks

Check photo credits with legal β€” kept as a local to-do.

Recording, transcript, summary, tickets. You approve every step.

Share the notes. Keep the audio.

Lea's Mac
PrivateGoat
Trail map launch β€” weekly
Tue Β· 32 min
Never the audio
Offline tiles standup
Mon Β· 24 min
Photo credits review
Fri Β· 18 min
Team folder
Mara's Mac
PrivateGoat
Trail map launch β€” weekly
Tue Β· 32 min
Also recorded by Lea
Design review
Mon Β· 45 min
Jonas's Mac
PrivateGoat
Sprint planning
Mon Β· 28 min
Shared with me
Trail map launch β€” weekly
from Learead-only

Any folder your team already syncs: Dropbox, OneDrive, a network share. Summary and transcript, never the audio.

Your agent was in the meeting.

claude β€” acme-142-offline-tiles
$ claude
> Hey Claude, I was just in the trail map meeting. Check the notes and the to-dos from it, then work on ACME-142.
⏺ privategoat.meeting_get(id: "trail-map-weekly")
2 decisions Β· 10:18, 10:22
⏺ privategoat.todos_list(meeting_id: "trail-map-weekly")
3 to-dos Β· 1 local, not in Jira
⏺ privategoat.jira_issue("ACME-142")
Story Β· In Progress Β· parent ACME-62
⏺ privategoat.sessions_for_issue("ACME-142")
1 earlier session Β· yesterday
From the meeting: cache per zoom level, keep it on the Mac, no CDN. Photo credits are still with legal, so I leave those alone. Starting with the zoom index.
meeting_get
Trail map launch β€” weekly Β· Tue
  • 10:18 Lea
    β€œCache tiles per zoom, so a zoomed-out view stays small.”
  • 10:22 Mara
    β€œGood. Keep the cache on the Mac β€” no CDN.”
todos_list
Check photo credits with legal
local only Β· not in Jira
jira_issue

ACME-142 Β· Cache map tiles for offline use

from the local copy
sessions_for_issue
Claude Code Β· yesterday Β· 42 min
3 commits on acme-142-offline-tiles
atlassian.netnot needed
PrivateGoat
ACME-142
Cache map tiles for offline use
In Progress
Agent sessions
Claude Code
yesterday Β· 42 min
Claude Code
now Β· running
Evict old tiles at the size cap
Drafted by Claude
Review & send

Meetings, notes and to-dos that never made it to Jira, handed to your agent over local MCP. Every session filed under its ticket.

17:30 Β· What did I actually do today?

The day, on one timeline.

Meetings, agent sessions and commits across every branch, on one timeline. One line per piece of work, written locally.

Timeline
Tuesday
TuesdaySummarised on this Mac
  1. 09:12
    Cache tiles by zoom level
    acme-142-offline-tiles Β· 3f9a1c2
    ACME-142
    First pass at caching tiles by zoom on acme-142-offline-tiles.
  2. 10:00
    Trail map launch β€” weekly
    32 min Β· Mara, Jonas, Lea, You
    Weekly trail map sync: offline tiles are the launch blocker.
  3. 10:40
    To-do sent to Jira
    Cache map tiles for offline use
    ACME-142
    Sent the tile-cache to-do to Jira as ACME-142.
  4. 11:05
    ACME-142: tile cache
    Claude Code session Β· local MCP
    ACME-142
    Agent drafted the tile-cache to-do locally for review.
  5. 14:20
    Store tile packs in the local database
    acme-142-offline-tiles Β· b71d4e8
    ACME-142
    Tile packs now persist in the local database.
  6. 16:45
    Evict old tiles when the cap is reached
    acme-142-offline-tiles Β· c02a9f5
    ACME-142
    Added a size cap and eviction for tile packs.
3 commits Β· 1 meeting Β· 1 ticket sent Β· 1 agent session

The 28-second version.

Two people with good ideas, the chores that pile up around them, and a goat that clears them away. Sound on.

Everything it does.

First the problems you may recognise from your own week, each with what PrivateGoat does about it. Then the complete list.

  • β€œLegal won’t let us use a cloud note-taker.”

    Records both sides of the call and transcribes on your Mac. The audio never leaves it.

  • β€œNobody rereads a transcript.”

    A summary first, then the action items, marked as said or only implied.

  • β€œAction items die in the meeting notes.”

    They wait in an inbox. Add them as to-dos, drag to reorder, and one click writes what, why and done-when from what was said.

  • β€œJira is slow when I already know what I want.”

    Your Jira, cached on your Mac. from any app, three letters, .

  • β€œCreating a ticket takes longer than doing the work.”

    The fastest way to create a Jira ticket: send a to-do with its parent and type. Assign and move tickets too; every change is logged and can be undone.

  • β€œMy coding agent knows nothing about our meetings or tickets.”

    A local MCP server: Claude Code, Codex and others read your cached Jira, meetings and to-dos, and draft to-dos you approve.

  • β€œWhich agent session worked on which ticket?”

    Every Claude Code, Codex and DeepSeek session, filed under the ticket it worked on.

  • β€œWhat did I actually do today?”

    The Timeline: meetings, agent sessions and commits across every local branch, with one line per piece of work written locally.

  • β€œTyping is slow.”

    and speak: it types into any app, even during a meeting, and puts your clipboard back afterwards.

  • β€œIt always gets our names wrong.”

    Fix a name once in the transcript. It is spelled right next time.

  • β€œWhat exactly did she say about Friday?”

    Ask your meetings; answers show where it was said. Play it back at 1.5Γ—, the transcript following along.

  • β€œI don’t want another API token in a config file.”

    Your keys live in the Keychain and open with Touch ID, like a password manager.

  • β€œWork apps are joyless.”

    A small goat lives on your desktop. It wanders, grazes, naps, and salutes when you click it.

The complete list.

Meetings

  • Mic and system audio

    Records your mic and your Mac’s system audio together: both sides of the call.

  • No audio driver

    No BlackHole, no virtual audio driver to install.

  • Live transcript

    The transcript writes itself while you talk.

  • One capture dial

    One dial: from just recording to live subtitles.

  • Live translation

    Live translation into English.

  • Language detection

    Detects the language, even when it changes mid-meeting.

  • Transcribe later

    Record now, transcribe later.

  • Start from anywhere

    starts a meeting.

  • Fix a name once

    Fix a name once. It is spelled right next time.

  • Search a transcript

    Search inside a transcript.

  • Faster playback

    Play it back at 1.5Γ—, the transcript following along.

  • Summary first

    A summary first. Then the action items.

  • Said or implied

    It tells you what was said and what was only implied.

  • Ask your meetings

    Ask your meetings. Answers show where it was said.

To-dos

  • Inbox of suggestions

    Suggestions wait in an inbox. You decide what becomes a to-do.

  • Meeting to Jira, in one flow

    Recording, transcript, summary, actions, Jira: group, merge and accept, then create epic β€Ί story β€Ί subtask in one go.

  • Pick several

    ⌘-click to pick several suggestions, then merge, group, accept or dismiss them together.

  • Drag to reorder

    Drag to reorder.

  • Write descriptions

    One click writes what, why and done-when from what was said.

  • Send to Jira

    Send it to Jira with the right parent and type, when you decide.

  • Markdown notebook

    A notebook for everything else.

Sharing

  • Team folder

    Share meetings through a folder your team already syncs: Dropbox, OneDrive, a network share. PrivateGoat uploads nothing.

  • Never the audio

    Summary and transcript. Never the audio.

  • Also recorded by

    A teammate’s notes of the same meeting appear under yours, read-only.

Jira

  • Local cache

    Your Jira, cached on your Mac. Search is instant, even offline.

  • Board and tree

    See where every ticket lives: epic β€Ί story β€Ί subtask.

  • Copy a ticket fast

    , three letters, . The ticket is on your clipboard.

  • Create and edit

    The fastest way to create a Jira ticket. Assign and move them too; every change is logged and can be undone.

  • One search

    One search for meetings, notes, to-dos and tickets.

  • Sign in with Atlassian

    Sign in with Atlassian, pick your projects.

Agents

  • Local MCP server

    Your coding agent reads your meetings and tickets locally, over MCP.

  • Ten tools

    jira_searchjira_issuejira_projectsmeetings_listmeeting_gettodos_listsessions_for_issuetodo_createtodo_updatetodo_get

  • Agents draft, you approve

    Agents draft. You approve. Nothing reaches Jira without you.

  • Sessions per ticket

    Every agent session, filed under the ticket it worked on.

Timeline

  • One day, one timeline

    What did I do today? Meetings, agent sessions and commits, on one timeline.

  • Local day digest

    One line per piece of work, written locally.

Dictation

  • Dictate anywhere

    : speak, and it types into any app.

  • Clipboard restored

    Your clipboard is put back afterwards.

  • Local transcription

    Transcribed on your Mac, the words firming up as you speak.

  • Works mid-meeting

    Even during a meeting.

Privacy

  • Audio never uploaded

    Your meeting audio never leaves your Mac.

  • Files on disk

    Recordings and transcripts are files on your Mac.

  • Transcribed locally

    Transcribed on your Mac.

  • Local by default

    Local by default. Cloud models only if you switch them on.

  • No analytics

    No analytics. No tracking.

  • Only when you send

    Nothing goes to Jira until you send it.

  • Keys in the Keychain

    Your keys live in the Keychain and open with Touch ID, like a password manager.

  • Sound, not screen

    It captures the call’s sound, never your screen.

The app

  • Native Mac app

    A native Mac app.

  • Menu-bar app

    Lives in your menu bar.

  • Local language model

    Summaries are written by a local model on your Mac.

  • Setup assistant

    A setup assistant sets everything up on first launch.

  • Desktop goat

    A small goat lives on your desktop. It salutes when you click it.

  • It listens along

    It listens while you dictate.

For your security review.

Everything PrivateGoat sends over the network, and what it never sends.

What leaves your Mac

Meeting audio, transcripts, summaries
Never. They are files on your Mac.
Speech models
Downloaded once from Hugging Face, pinned and checksum-verified.
Summary models
Pulled through Ollama from Ollama's registry. They run on your Mac.
Cloud models
Only if you switch them on. Off by default.
Jira
Your own Atlassian site, if you connect it. Text goes to Jira only when you send it.
Updates
Checks privategoat.app for signed updates. Switch it off in Settings.
Sharing
Through a team folder you choose. PrivateGoat uploads nothing.
Analytics, tracking
None.

Questions.

Does my meeting audio leave my Mac?

No. Whisper transcribes on your Mac, and no part of the app uploads meeting audio. Recordings and transcripts are plain files on disk.

Is my data used to train AI models?

Your meetings never reach us, so there is nothing to train on. Summaries are written by a local model on your Mac; cloud models are off unless you switch them on.

Which call apps does it work with?

Zoom, Teams, Google Meet, a call in the browser: anything that plays sound on your Mac. It records your microphone and the Mac’s sound, so no bot joins the call and there is no virtual audio driver to install.

Does it record my screen?

No. macOS asks for the Screen Recording permission because that is how system audio is captured, but PrivateGoat keeps only the sound.

Does it need an internet connection?

For setup, yes: the setup assistant downloads the models. After that, transcription runs on your Mac and your Jira search works offline.

Can it change things in Jira on its own?

No. Action items wait for you to accept them, and nothing goes to Jira until you send it. Coding agents that use it over MCP can only draft local to-dos for you to review.

Where are my Jira sign-in and keys stored?

In the macOS Keychain, unlocked with Touch ID, like a password manager.

How do I get it?

PrivateGoat is in an invite-only beta. Message Thomas on LinkedIn for an invite.

Everything today stayed on this Mac.

Except the ticket you sent to Jira. On purpose.

Meeting Β· Trail map launch β€” weekly Β· 32 min
Transcript Β· 2 tracks
Summary + 3 action items
To-dos Β· 2
3 commits Β· acme-142-offline-tiles
Agent session Β· ACME-142
Jira cache Β· 6 issues
Keys Β· Keychain, Touch ID
ACME-142 β†’ Jira Β· sent by you

Made for people who would rather not upload their meetings.

PrivateGoat
A native Mac app
Invite-only beta
Β© 2026 Β· No analytics, no tracking