Privacy
Effective date: October 27, 2026
This statement covers Playbook: the MCP server that AI clients such as Claude connect to, and the web app that comes with it. While we move the service to a new host, it answers at two addresses, and this statement covers both: https://cedarandloam-playbook.fastmcp.app and https://mcp.playbookcatalog.com, which will replace it. A copy of the web app is also published at https://playbook-catalog.pages.dev. We also run temporary test copies for each change we are working on: of the service at https://pr-<number>-playbook-mcp.fly.dev, and of the web app at addresses ending in playbook-catalog.pages.dev. The service’s test copies use the same database and the same companies as the service, so this statement covers them too.
It does not cover catalog content (the public skills), which is openly licensed in a separate repository. It also does not cover the older Cloudflare Worker endpoint (playbook-catalog.cedarandloam.workers.dev) from the earlier TypeScript build. That is a separate surface with its own data stores and is being retired.
If you connect Playbook to an AI client like Claude, this statement describes what we, the operators, see and store. The catalog itself contains no personal data of ours. A skill you contribute to it carries your user id and whatever you wrote in it, so leave out personal details you don’t want to become part of the catalog.
If you use the Personal Graph Claude skill, your Claude data export is parsed inside your own Claude session by code bundled with the skill. Nothing from the export (conversations, memories, labels or the page it builds) is sent to us. The only thing that reaches Playbook is a skill draft you choose to save through the playbook_draft and playbook_save tools, and that draft carries derived, solution-free content only.
Who we are
Playbook is operated by Playbook Catalogue LLC, the data controller for the hosted service. You can reach us at hello@cedarandloam.com.
Our rule for runs and skill-building chats
We keep what your runs contain for a short time, and a summary of each run for longer:
- Step content: 30 days. What each step read and wrote, what you or an approver typed when a run asked for a decision (for an email approval, the approver’s address and part of their reply), error messages, any notes saved with the run, the records of Claude’s steps, the app data a decision record captured, the details of each change a training run would have made, and the error left by a schedule’s last failed run. We delete it 30 days after the run finishes (a decision record’s app data, 30 days after the decision; a training run’s details, 30 days after they were recorded).
- Run summaries: 400 days. Which steps ran and how they turned out, how long they took, how much AI model use they needed, the apps and actions each step was set up to use, approval decisions, the titles and links of documents a run produced, which of your clients it was for, and the values the skill ran with, which can include names or email addresses you entered. We delete the summary 400 days after the run finishes.
- Audit trail: 400 days. A tamper-evident record of what each step attempted: which app and action, in which environment, whether it was a test run, and whether it worked. It records each app read a Player makes the same way, and each one their quest refused before anything was sent, with the reason. It also records each time someone downloads a Player’s, a client’s or the account’s history, and when. Anyone in a team can read a client’s history; only a team admin can download it. It does not keep the values a step was called with. For each one it keeps the name of the setting, how big the value was and a fingerprint of it, so we can confirm a value you still have is the one that ran without keeping the value ourselves. We delete each entry 400 days after it is recorded.
- No automatic limit yet: the run history we use to rank skills (counts and outcomes, with the notes cleared after 30 days), the rest of each decision record (the changes proposed and which version applied), and the text of your conversations with the AI assistant. We keep these until you ask us to delete them.
Using your content for anything beyond showing you your runs and fixing problems, such as improving skills or training AI models, is opt-in: we do it only if you choose to allow it, and we remove personal details first.
What we collect
When you use the service at all. Like any web service, our hosts see your IP address and basic details of each request. We use your IP address, in memory, to limit how often the AI assistant can be used without signing in, and we keep basic operational logs, which can include your user id, to run and secure the service.
When you sign in. Sign-in goes through WorkOS, our identity provider, which tells us your user id, email address and name. We put them in the sign-in tokens our server gives your AI client or the web app, and for team features we read your email address from that token while handling each request. To keep you signed in from an AI client, or from the web app at the same address as our server, our database also holds the tokens WorkOS issued, with the profile that came with them. The copy of the web app on playbook-catalog.pages.dev gets its tokens from WorkOS through our server without our storing them. We store them encrypted. They stop working when they expire, and our next daily cleanup deletes them. Those stored tokens carry your email address in the profile beside them, and so do team invitations and skill sharing (both below). The rest of the records described here are keyed to your user id rather than your email address.
When you set up a team. Teams are managed in WorkOS. When you create a team, we send WorkOS its name, and when you invite someone, we send WorkOS their email address so it can email them an invitation. WorkOS keeps the team’s members and their roles. Once you are on a team, the records we keep are linked to the team as well as to you, and everyone on the team shares the same business details (see below). When you share one of your skills with your team or a teammate, we store your email address with the share, the skill’s name, who may open it (the whole team, or the teammate’s email address) and whether they may edit it. Sharing one of your Players works the same way: we store your email address with the share, which Player it is, who may open the Player and whether each teammate may only view the Player, use them or also change their setup, and, for teammates who may use them, which of the Player’s own app logins you picked for their quests. Teammates you share a Player with see their work, quests and proposals. Teammates who may use a Player can also ask them for work in chats of their own and add files to their own part of the Player’s stash. Their quests use only the logins you picked, never yours, every change those quests propose waits for you or an editor, and those quests’ records are open only to that teammate, you and the Player’s editors. Teammates who may change their setup can also start their quests and decide their changes, and then the Player uses only their own app logins (see below), never yours. When a run a shared Player started waits for a decision, the email we send you about it also goes to each of those teammates, from your Gmail, at the address they signed in with. When a teammate changes a Player’s setup, starts their quest or decides one of their changes, we record who did. We also keep what each change to a Player’s setup was, yours or a teammate’s, for as long as the Player exists, so you can see what changed and put it back. Shares end when you remove them, delete the Player, or when you or the teammate leave the team.
When you save a skill. Personal skills, the ones in My skills, are documents you write, or build with the AI assistant. We store the text as you saved it, plus the account that saved it. We also keep the last 50 versions of each skill, with who saved each one, so you can go back to an earlier one; deleting the skill deletes them. If you connect a GitHub repository to hold your skills, we save them there instead and store which repository it is. You can delete your skills yourself.
When you schedule a skill. We store the schedule, its time zone, the values the skill should run with, the target it runs against, the client it runs for, if any, and the last error if a scheduled run failed. That error text is cleared when a later run succeeds, and in any case 30 days after the run that left it. We also keep a line for each scheduled run, saying when it ran and what came of it, for 90 days; the reason it gives for a failure or a wait is cleared after 30 days. You can delete a schedule yourself, and its lines go with it.
When you fill in your business details. “Your business” holds your business’s name, website and description, your ideal customer, buyer personas, brand voice and compliance guidelines. We store one set for your account, or one that everyone on your team shares, along with who last saved it. Skills that use these details fill them into their instructions, so they reach Anthropic with the rest of a Claude step (see below). If you ask the web app to draft them from your website, we send Anthropic your website’s address, and Anthropic reads that site and writes a draft for you to edit before you save it. You can change or clear them in the web app’s settings or with Playbook’s tools.
When you describe your own work. Optional onboarding and Settings → Context → Your work fields hold your role, typical day, work you want to make easier, and apps you use. We save these for you within your current workspace; other team members cannot read or change them through the app. Naming an app does not connect it or grant access. You can edit or clear these fields in Settings. If you choose to include them in a Player’s draft, that snapshot goes to the model that prepares the draft and stays with the resulting Player’s brief. Changing your profile later does not change that brief. Clearing the profile removes its content; the record retains your account and workspace identifiers and last-save time.
When you keep profiles for your clients. If you run skills for several client businesses, you can keep a profile for each one: the same business details as above, plus a few IDs such as its row in your Airtable. We store the profiles under your account or team, along with who last saved each one. A run or schedule for a client fills that client’s details into its skills, so they reach Anthropic the same way. You can delete a client profile yourself.
When you write pages for your team. Under “What your team knows” you can write pages about how your business works, for your whole account or for one client. We store each page’s title and text, whether every Player reads it at the start of each quest, and who saved it, along with the last 50 versions of each page so you can put an earlier one back. Your Players read these pages: when a quest starts we send the pages marked to read at every quest, and the titles of the rest, to the company that runs the Player’s model (Anthropic, or OpenAI for a Player set to ChatGPT), and a page the Player opens during their quest goes the same way. A Player can read your business details, or their client’s, the same way. We keep pages and their versions while your account is active, and a client’s pages while you keep that client; deleting a page deletes its versions. You can delete a page yourself. A Player can also suggest a page, or new text for one, which you accept or decline on their page. We keep their suggested title and text, the page as it read and their reason for 30 days, unless you accept it, when the text becomes your page; which page it was, which apps their quest had read and your answer are kept for as long as the Player exists.
When you set up a Player. A Player is an AI teammate you set up to run your skills. We store what you tell us about them: their name, role and goals, the apps and account IDs they may work in and the limits you set on them, the skills they can run, the client they work for, if any, how much they may do without asking, their weekly budget, the times they work, the days for each and, if you give one, the job for each time, whether they are working, and the Player’s personality (how the Player talks in chat, and a one-line description if you write one). Their brief is stored too: what they know about the job, with where each fact came from and when, and any brief or plan you pasted, word for word. We store it under your account. You can delete a Player yourself. We keep a deleted Player, with their brief, anything you pasted and everything else we store with them, out of sight for 30 days, so we can put them back if you ask, and then delete it all. If you ask the web app to set a Player up for you, we send Anthropic what you typed, any brief or plan you pasted, your business details, the profile of the client they work for, if any, a small read-only sample from the connected apps they will use (for example product names and stock counts, or campaign names, statuses and budgets, read through Composio the way a skill reads them), the names and descriptions of your skills and the Library’s skills, and the list of apps Playbook works with, marked with the ones you have connected, and Anthropic writes a draft for you to check. The same goes when you answer its questions or ask it to change one part of a Player, except that the app sample is only read for the first draft. Nothing is kept until you save. When you save a new one-line description of a Player’s personality, we send that line alone to Anthropic to check it is fit for work before we keep it.
When your Player goes on a quest. While a Player is on a quest you can start a quest, in which the model you picked for them (Anthropic’s Claude, or OpenAI’s ChatGPT) works as your Player for one session. We send that provider the Player’s record (as above, without the personality, which only chat uses), the recent runs and training results of their skills, the notes they left after earlier quests, and anything they read from the apps in their field (only actions that read, through Composio the way a skill reads them). If you leave a note for their next quest, we keep it with the Player and send it to that provider when that quest starts; it is deleted when a quest that used it finishes its work, or when you clear it, except the copy in their notebook (see Your Player’s notebook below). If you let the Player browse, the pages their browser opens go to that provider too, whichever one you picked. They can start their own skills, which run like any other run. For each quest we keep when it ran, why it started, how it ended, what it cost, the runs it started, the app action names it asked for that don’t exist, with how often (a name only when it is close to a real one; any other is just counted), and the note it leaves you; the note is deleted 30 days after the quest, and the rest is kept. A Player can also ask you to connect an app they need, or ask you a question about a job with a few options: we keep their words, your answer (the option you picked and anything you typed) and when you gave it, and delete their words and what you typed 30 days after the ask closes, except the copy of your answer in their notebook. When you have more than one account for an app and haven’t picked the one a Player uses, we ask you which: the ask lists those accounts by the names you gave them, and those names are deleted from it 30 days after it closes too. Each ask also records who started the quest that raised it, the job that quest was for and the chat it came from. When a teammate started it, we keep their sign-in email with the ask, so its owner sees who asked, and delete the email 30 days after the ask closes too; a question on their quest is theirs to answer, and their answer is kept the same way as yours, without the copy in their notebook. When a quest was asked for and didn’t start yet, or didn’t start at all (a skill it started finished, a restart cut it off, its budget was spent, it was more than an hour late), we keep a short record: which Player, why, the reason it didn’t start, and the run or quest it points at, never anything you or the Player wrote; it is deleted 30 days after it last changed. When a quest starts, we also send that provider a short list our code builds from the Player’s last ten quests and the changes decided in the last 14 days: action names they asked for that don’t exist, with real ones close to them; the setup problems they hit; how many of their changes with each action you turned down, never what you wrote about them; and approved changes that failed, with the action and the kind of failure. So you can watch them work, we also keep a list of their steps: the pages they opened (never what they showed), what they clicked, the app actions they called and short notes of what they said as they went, never what they typed into a page. This includes brief progress updates from the working model, linked to the request they describe. These updates are for people to read and are not fed back to another agent as instructions. The list is deleted 30 days after the quest. Each skill they start also gets a decision record: the skill and its version, the run, the goal it served, how sure the Player was and why they started the skill. Their reason is deleted after 30 days, and a short summary of it after 400 days. A job none of their skills fits gets a decision record too: the job in a sentence, the app actions they read, what they would do and why no skill fits, deleted after 30 days, and a short name for the job, which we keep. When the same job comes up often enough, the Player offers to make it a skill; we keep the offer, your answer and the name of the skill. If you say yes, we send Anthropic that Player’s records of the job, and the notes they left after those quests, to draft the skill, which is saved as one of your private skills. When a skill fits the job but the Player would do it another way, they can say why and give their own version as exact app actions. The skill still runs as written. The Player’s version runs alongside it: actions that only read go to the apps in their field, and every other action is recorded, never sent. We keep their reason, their version and what that version would have done, so you can compare the two; those details are deleted 30 days later, and we keep which actions they named, what each would have done and your decision. A Player may also suggest new wording for one section of their own brief. We keep the wording they suggest, the wording they would replace and their reason for 30 days, and which section it was and your answer for as long as the Player exists. Nothing in the brief changes unless you accept it.
How we find problems that keep coming up. Once a week our code counts, across every customer’s Player quests, the problems that came up in more than one quest: app action names that don’t exist, setup problems, quests that failed or ran out of their budget, approved changes that failed and the actions of changes owners turned down. Each one becomes an issue in our own private GitHub repository, with its counts and the ids of up to five of those quests, so we can fix it. It holds no names of people, nothing you wrote and no account ids; of what a Player wrote, only the action names they guessed that are close to real ones.
Your Player’s notebook. A Player keeps a notebook: short notes they write down to do their job better, such as what they learned about your business, where they got to and what is still open. We store every version of every note, with the quest it was written in, the apps they had read in that quest before writing and, if they use a web browser, the sites they may visit. We send its index and its working rules (the start of the notebook) to Anthropic when each quest starts, and any note the Player reads or searches during a quest. Once a week we send the whole notebook to Anthropic to tidy it: logs move to the log, repeated rules are merged and old status lines are dropped. Every earlier version is kept and you can put it back. When the same problem shows up in several of a Player's quests, the Party Lead writes them a one-line lesson from the counts and codes our systems recorded, never from what the Player read or wrote; the line goes into the notebook, you can take it back, and it is taken back on its own when the problem keeps happening. The notebook also holds a copy of what you tell the Player: a note for their next quest, your note on a job or a training run, your answer to a question they asked, work you sent them, and what you say about it to the Party Lead, each as a dated line in your own words. We keep those lines with the notebook, for as long as the Player exists, and send them to Anthropic with the rest of the notebook. We keep the notebook, every version, for as long as the Player exists. You can read it and delete it. When you delete one note, its earlier versions stay so you can put it back. When you delete the whole notebook, or the Player, we keep it out of sight for 30 days, so we can put it back if you ask, and then delete it.
When your Player attaches a screenshot. A Player's web browser reaches the sites you list, or any public site when you allow it and your team permits it. It stays signed out except on sites where you saved a sign-in, and it never reaches our own systems. If you let a Player browse and give them GitHub and one repository, they can attach the screenshots they take to the issues they file there. We read the screenshot from their browser and save it, through Composio, on a branch named qa-screenshots in that repository, where it stays until you delete it. A screenshot shows whatever the page showed, so only let them visit sites whose pages you are happy to keep in that repository. A Player in training mode attaches nothing.
Your Player’s stash. A Player has a stash: files their quests deliver, such as a weekly report, and files you and your teammates add to it. Each file is in one of two parts: the part everyone who works with the Player can see, or one person’s own part, which only that person can open. A quest’s result goes in the own part of the person who asked for it. The Player’s owner sees the name and size of the files in other people’s parts, and can delete them, but can’t open them. A file in someone’s own part can be shared with everyone who works with the Player. The owner and editors share their own files at once. A teammate who may use the Player but not change it asks instead: the file stays in their own part, and the owner and editors see its name, its size, who asked and where it came from (for a quest’s result, the apps and sites that quest read), until one of them shares it or keeps it private. The owner also sees who asked, without the file’s name, in what is waiting on them. We record who shared each file and when. When an ask is turned down we record when, and the teammate can ask again a week later. We store each file in a private store at Supabase, with its name, type and size, who added it and, for a quest’s result, the quest it came from, the apps that quest had read and, if the Player uses a web browser, the sites they may visit. Nobody gets a lasting link to a file: a link is made when you open it and stops working after an hour. A file can be a picture (PNG, JPEG, GIF or WebP), PDF, DOCX, XLSX, PPTX, text, Markdown, CSV or JSON, up to 20 MB. Finished files also appear in Relics under the same access rules. We keep a file until someone deletes it, and remove it within a day of that. We delete a Player’s stash 30 days after the Player is deleted, and a person’s own part of it 30 days after their access to the Player ends. A file they shared with everyone stays after that. A quest can open the files in the part everyone sees and in the own part of the person who asked for it, never anyone else’s. Its opening lists those files by name, never what is in them, and a file it opens goes to the company that runs the Player’s model, Anthropic, or OpenAI for a Player set to ChatGPT: the text of a text, Markdown, CSV or JSON file, extracted Office document contents, the text in the first 50 pages of a PDF, or a picture made smaller, to at most 1568 pixels on its long side. Models that support image inspection receive the image; other models receive its name and cannot inspect it. We note which files a quest opened, as we note the apps it read, so a note or result it writes afterwards says it came after reading its stash.
Your own files in Relics. You can upload a file in Relics without choosing a Player. It is yours alone: only you can see, open or delete it, and only in the team you were signed in to when you uploaded it (or your personal account). We store it the same way as a stash file, in the same private store at Supabase, with the same file types and limits, and no Player or quest reads it. When you attach it to a Player, it moves into your own part of that Player’s stash and the rules above apply from then on. We keep it until you delete it, and remove it within a day of that. A file you uploaded in a team is deleted 30 days after you stop being a member of that team.
Your Player’s reports. A Player can make you a report page, such as a monthly Google Ads report, shown under Relics. The page and the figures it reads are stored in our database at Supabase, and those figures may come from the ad accounts you connected, read the way a quest reads them. The page runs only inside Playbook, walled off from the rest of the app and unable to call out to other sites, and only pages built from Playbook’s own report templates are shown. Nothing a page suggests happens until you approve it. Who made a change in your ad account is described by role (Google, the API, a person in the account), never by name or email. We keep a report until you delete it; deleting removes the page and its figures at once and keeps only its name, which Player made it and when its figures were pulled, so the list can still say what was there. A Player can also read the figures of the reports it made itself, never their page, when a quest needs them; what it reads goes to the company that runs its model, as a file it opens in its stash does, and we note which reports it read, so a note or result it writes afterwards says so. A quest someone with use access asked for reads only the reports made for that person. A Player can also file a report itself during a quest: the headline, text and tables it wrote, with which quest made it, who asked for it and which apps it had read. We store it in the same database, show it on Playbook’s own report page, never on a page the Player wrote, and leave the person who asked a note in their chat that links to it. A report a quest files for someone with use access is shown only to them, the Player’s owner and its editors.
The machine your chat works on. A Player chat keeps the machine its requests run on between messages, so a follow-up starts in seconds. Files and browser data the Player’s earlier requests in that chat left there stay on it, and only requests in that same chat use it. Archiving the chat keeps the machine; deleting the chat deletes it, and a check every six hours deletes any machine whose chat is gone.