For your AI
What an assistant needs to know about this place
Assist With Buying assists your AI with buying and purchases. It has no AI of its own: every sentence on a record here was written by you or by an assistant you connected, and this page is what that assistant reads to work well. It is public, so you can point yours at it before you have decided anything.
The address an assistant reads this from, as a remote MCP server:
https://assistwithbuying.com/mcpCopying an address connects nothing. Pasting it into your assistant starts an OAuth sign-in in your own browser; your click on Allow is the approval, and Connect your AI is where you see and narrow what happened.
Read by your AI87 tools · 10 scopes · 54 writes
The toolset
Every tool this endpoint answers, with the permission it rides. A tool answers only while the person's grant still carries that permission — the grant is re-read on every single call, so a refusal means the permission changed, not that the tool is broken.
Reads · 33
buying_list_tripsmission.readPage through the Trips, past and planned, with a cursor for the next page.
buying_get_tripmission.readOne Trip: its overview and a page of stops or journal entries, with each stop's source link, address precision, hours and who chose it, and what the day came to — spend, pieces, unpriced and voided lines, and retail against paid, per stop and in total.
buying_get_briefmission.readThe opening read: what is waiting, what is in flight, and what changed since last time.
buying_search_workspacemission.readOne bounded search across the workspace — a page of results and a cursor, never a whole table.
buying_get_mission_contextmission.readOne Mission in one call: its brief, criteria, options, observations, sources and decisions, and the Items, Types and Places it is linked to. Reach for this before assembling context by hand.
buying_list_itemsmission.readPage through Items across every Mission, filtered and bounded.
buying_get_itemmission.readOne Item: its photographs, the prices seen, its condition, every Mission it is in, and what has been decided about it.
buying_list_suggestion_decisionsmission.readWhat the person already decided about earlier suggestions, and the standing rule each refusal left. Read this before proposing.
buying_list_placesmission.readThe Places the person saved and the shared directory, theirs first — a sale listed as "<sale> · by <company>".
buying_get_placemission.readOne Place in full: where it is, its hours as recorded, the notes on it, today's price with its confidence, what your record says about how it prices, and its parent Place — a sale's company, with what it inherits, or a company's sales, upcoming and past.
buying_get_prediction_accuracymission.readHow well your price predictions at a Place, a company or a Type have matched the tags — with the pairs behind the score.
buying_list_listsmission.readThe person's Lists, or one List or entry found by name.
buying_get_listmission.readOne List: a page of its entries with every field, its runs, a rule List's computed rows, and whether it is shared (read-only).
buying_list_capture_queuequeue.readThe Queue items the person handed over, with what each one asks and where its photos were taken — one of their Places, or the town, street and business the location names.
buying_get_queue_activityqueue.readOne Queue item's history — who moved it, when, and to what.
buying_get_capture_imagemedia.readOpen one private photograph through the protected media path: a large one as its 1600px copy, or a region at full resolution, with its barcodes, where it was taken in words (and an older automatic reading where one was made before 2026-09-27).
buying_get_capture_imagesmedia.readOpen several private photographs in one call, paging any that do not fit, each with its barcodes and where it was taken in words.
buying_get_photo_sheetsmedia.readScan a big set of photos — an ask, an Item, a Trip or a list of ids — as numbered contact sheets of up to thirty thumbnails, paged, with a legend from each number to its photo.
buying_get_voice_notemedia.readHear one voice note the person recorded on an ask. On a Pro account an automatic transcript comes with it; otherwise you get the audio only, and transcribe it yourself or ask.
buying_list_public_locationsplaces.readSearch the shared public directory of shops, markets and venues.
buying_get_preferencesmission.readThe AI Interaction Profile and every Buying Preference marked readable, with version numbers, in one call. Read it first, every session.
buying_list_typesmission.readTypes, a page at a time, with counts and the price range each carries.
buying_get_typemission.readOne Type: what to check, what they go for, a page of its Items and purchases, and the notes on it.
buying_find_comparablesmission.readComparable prices from your own saved record, one price kind and one currency at a time, with the properties that matched, what was excluded and why. It hands back evidence; it never issues an appraisal.
buying_list_purchasesmission.readPurchases in a date range, optionally for one Type, List, Trip or Item. What the rule lists read.
buying_list_notesmission.readThe notes on one Item, Type, List, Place, Mission or Trip, in the person's words, with any reading kept apart.
buying_list_records_needing_titlesmission.readWalk the records whose title or Recap still needs writing, one kind and one page at a time, each with a short digest to write from.
buying_get_promptmission.readThe prompt library this site shows at /prompts, together with the person's own copies: every prompt with when to use it, or one in full by slug. Where they have their own version of a prompt, that is the one it returns.
buying_get_researchmission.readRead the kept research back — the sources, the retained page text, what was checked and what was blocked — by pass, by record, by source, or every capture in the order it was kept.
buying_get_research_fileresearch.files.readRead one back: what it is, a bounded page of its text with the byte and line numbers a citation needs, the picture inline, or one authorized download per part for a client that can reassemble it.
buying_prepare_datasetmission.readPrepare thousands of selected observations or propertyFacts as ordered JSONL parts you can page through, labelled selected_inputs, mixed_live or complete_at_cutoff — a label the server decides and refuses rather than grants. Other record families and Type subtrees exceeding 500 Types are refused. Ordinary reads answer conversation-sized questions; this answers 'all of them'.
buying_what_do_i_ownmission.readWhat the person already owns, by words, Type or Item: how many, and each purchase's date, price and Place. Information to mention, never a reason to discourage.
buying_manage_connectionno permission neededRead this connection's own authority, or file one exact request for the person to approve. It changes no permission by itself.
Writes · 54
buying_save_tripmission.writeCreate or correct a Trip — its title, Recap, dates, area, purpose, and the Lists or Missions it belongs to.
buying_save_trip_stopmission.writeSave one stop on a Trip: the sale or shop, its source link, its hours, and your recommendation kept apart from the person's own choice.
buying_add_trip_entrymission.writeAppend research, a photo reading, a visit note or a correction to a Trip or one of its stops.
buying_save_missionmission.writeCreate or correct a Mission — its title, Objective, Recap and status; one field at a time by missionId. links and unlinks connect the Items, Types and Places it is about, as many as it needs.
buying_save_optionmission.writeSave one option under a Mission, with what it costs and where it came from.
buying_save_comparisonmission.writeSave the options side by side, on the things that actually differ.
buying_log_sourcesmission.writeRecord the sources a piece of research rests on, with what each one said.
buying_save_decisionmission.writeWrite down what the person chose and why, pointing at the research it came from.
buying_save_complete_resultmission.writeA finished piece of work in one call: the answer, its options, its sources and its decision.
buying_set_item_statusmission.writeMove an Item along its lifecycle — watching, passed, bought.
buying_propose_suggestionmission.writeRaise a suggestion and leave it waiting. Nothing accepts one but the person.
buying_create_placemission.writeAdd a Place to this workspace — a shop, a branch of a shared chain, an estate-sale company, or one of its sales, with its parent Place (the company or the chain), a private point for matching photos, and a bin store's weekly price schedule when it has one. Private; it does not reach the directory.
buying_import_salemission.writeOne call for a sale you have already read on a listing: the company, the sale, a stop on a Trip and the listing's photographs. The site never reads the listing itself.
buying_use_public_placemission.writeUse a Place from the shared directory in this person's own Places, as a reference rather than a copy.
buying_add_place_observationmission.writeKeep a workspace-private note about a Place — including "today it's $1", checked against its price schedule.
buying_record_visitmission.writeOpen or close a visit to a Place.
buying_save_place_descriptionmission.writeWrite the long description of a Place.
buying_answer_appraisalmission.writeAnswer an Appraisal already on the record with your reasoning, the sources you checked (empty ones too) and its prices. The verdict is always shown as yours, named and dated.
buying_log_appraisalmission.writeWrite an Appraisal and its answer in one call, on a new or named Item, with how you got there and the prices it rests on. It also answers a question you queued earlier and closes that Queue ask.
buying_update_appraisalmission.writeFill in the facts around an Appraisal without changing its answer.
buying_record_outcomemission.writeRecord what the person actually did — bought, walked, negotiated.
buying_save_list_itemmission.writePut a thing on a List, creating the List by name if it does not exist.
buying_record_list_pricemission.writeRecord what a List entry cost, with where and when.
buying_attach_photomedia.writeAttach one photograph to a Queue item or an appraisal on an Item. Filed as attached by you, named and dated — never as one the person took.
buying_update_capture_queue_itemqueue.writeClaim, hold, finish, fail or ask a question about a Queue item you were handed. Finishing links every record the work changed, or for a workspace-wide cleanup says what was done and how many records it touched. A Needs you ask you already answered in chat closes with resolve_answered_elsewhere, and a reply says editedSinceClaim when the person changed the ask while you held it.
buying_queue_for_laterqueue.writeWrite down work the person ASKED to have done later, as ordinary Waiting asks marked "Left by your AI, at your request". Nothing starts. Your own ideas are suggestions, never this. An ask may carry a thing — title, photographs, what it is listed at, where it was seen, its condition — and that becomes an Item at once, with the ask linked to it.
buying_find_or_create_public_locationplaces.contributeAdd a place to the shared public directory.
buying_add_location_contributionplaces.contributeAttach a short privacy-scrubbed note to a directory entry.
buying_withdraw_location_contributionplaces.contributeWithdraw a directory note you contributed.
buying_save_itemmission.writeSave one Item, or add what is now known about it: Type, asking price, condition, Place, Mission, evidence.
buying_save_items_batchmission.writeSave up to 200 Items in one call. A sweep of listings is one request, not one per listing.
buying_capturemission.writeA whole sale in ONE call and one approval: up to 50 Items with their prices, photographs and what you did about each, and one purchase covering any of them.
buying_save_pricesmission.writeSave up to 100 dated prices on your Items in one call — the Tag, asking elsewhere, sold, estimate, MSRP, paid — each saying how you learned it (marked on it, in a listing, told to you, a sale record, worked out, published), which market it came from, how well it is known, and the condition it applies to. Resending a key corrects that price and keeps the old one.
buying_save_purchases_batchmission.writeRecord a whole receipt at once: every line, quantity and price paid, one Place, one date, optional Trip and List.
buying_update_listmission.writeAdd, tick, skip, annotate or reorder up to 100 entries on a List in one call, and start or close a run.
buying_save_typemission.writeCreate or update a Type: overview, what to check, the price range and its basis, and the group Type it is filed under.
buying_save_price_sheetmission.writeOne company’s dated price sheet, with its photos, and every line as a seller-attributed price on its Type.
buying_save_types_batchmission.writeWrite down up to 100 kinds of thing in one call. A Type's name is its identity, so re-sending a batch updates rather than duplicates.
buying_report_issuemission.writeTell the people who run Buying that a tool here is broken. It goes to them, never into the person's workspace, and tokens in the request you paste are stripped before anything is stored.
buying_save_notemission.writeLeave a note in the person's words on a record, with your own reading kept apart and attributed.
buying_save_preferencemission.writeSave a preference the person explicitly asked you to save, as a new attributed version. Inferences go through propose.
buying_propose_preferencemission.writeOffer an inferred preference with its evidence. It waits for the person to adopt or dismiss it.
buying_save_item_decisionmission.writeRecord a decision on an Item — pass, shortlist, choose or defer — with its reason and the List or Mission it belongs to.
buying_save_titles_and_recapsmission.writeWrite titles and Recaps for up to 100 records — Missions, Queue asks, Items, Types, Places, Lists, Trips, Library — in one call. Never replaces the person's own words without a stated reason.
buying_save_listmission.writeCreate or edit a List: behaviour, shelves, description, due date, cadence, rule, Places — or copy one shared by link. Sharing stays the person's.
buying_set_library_membershipmission.writeLink existing Library records to the Items, Types, Places and Missions they are about and put them on the shelf or take them off, up to 100 at once. A write-up about one thing lives on that record, off the shelf. The research is never removed.
buying_save_library_documentmission.writeKeep a finished write-up (Research) or somebody else's document kept whole (a Source, text or a kept file) as a Library record: a title, a body, and the Items, Types, Places and Missions it is about, all in one call — on the shelf only when it helps beyond that one thing. Saving the same key or title again corrects it rather than duplicating it. Instructions go to buying_save_prompt.
buying_save_promptmission.writeKeep the person's own version of a prompt in their workspace — a fork of a library one, or theirs from scratch. Private to them, and each new wording keeps the one it replaced.
buying_save_researchmission.writeKeep what a piece of research actually found: each source it used, the page text it retained from them, and the sites that would not load. Saved in batches as the work goes, so an interrupted session loses nothing.
buying_attach_research_fileresearch.files.writeKeep the source itself — a page, a PDF, an original a listing published — on a research pass, in parts of at most 2 MiB so a real file larger than a single request can get here at all. Frozen and immutable once finished; a correction keeps a new file beside it.
buying_save_identitymission.writeDecide what is one thing: two spellings of a person's name, two Types that are one kind of thing, and the same object posted on three sites. It proposes matches and never merges on a resemblance; every merge keeps both records and can be taken back.
buying_void_purchasemission.writeTake a purchase line recorded by mistake out of every total, with a reason. It is never deleted: it stays on the record struck through, and restoring it puts it back everywhere.
buying_archive_typemission.writeArchive a Type that holds nothing. Refused while it still has Items or child Types, and the refusal names them.
buying_merge_typemission.writeFold one Type into another: its Items, purchases, prices, Notes and child Types move, the target keeps its own words, and the old Type is archived behind a redirect.
The first-call sequence
What to do at the start of every session, in this order.
- Read the brief.buying_get_brief is one call and tells you what is waiting on the person, what is in flight, and what changed since you were last here. It is the cheapest orientation there is.
- Read what the person wants remembered.Their AI Interaction Profile is how they want to be worked with; their Buying Preferences are standing facts about how they buy. Both reach you through the Mission context read for a Mission they are lent to, and only the ones marked AI may read. Neither is a permission: guidance never widens what you may touch.
- Check the Queue.buying_list_capture_queue. Anything waiting is work the person already asked for. Pick it up before starting anything new, and give it a short title that says what the answer will be about.
- Read what exists before researching.Missions, Items, Lists, Places, prices, decisions. Most questions have half an answer on the record already, and buying_search_workspace finds it in one bounded call.
- Work in the open.Save research with its premise and its sources, and link it to the Mission, Item, List or Place it belongs to in the same call.
- Propose; never assume.Options are proposals. Only the person's own pick becomes a decision — there is no tool that accepts a suggestion, and that omission is deliberate.
Fewer calls, same result
Every call this site answers costs the person who owns the records. These five are the difference between a session that reads once and one that reads forty times.
- Read once, at the start.buying_get_brief and buying_list_capture_queue together are two calls. Do not re-read them mid-session unless the person says something changed.
- Ask for a page, not a table.Every list tool returns a bounded page and a cursor. Fetch the next page only if the first did not answer the question.
- Link in the same call.Every save tool accepts the Mission, Item, List or Place it belongs to. Saving and then linking is two calls for one thought.
- Prefer the summary tool.buying_get_mission_context is one call that replaces five reads. Reach for it before assembling a Mission's context by hand.
- Finish an Appraisal in one call.buying_log_appraisal opens and answers together, and buying_save_complete_result saves an answer with its options, sources and decision at once.
Tips for your AI
How to use this site well, kept current by the people who run it. If something here contradicts an older habit, this page wins.
What each permission covers
The exact sentences a person reads before they approve a connection, and the ones the server enforces. They are the same sentences.
mission.readRead your Missions and the records around themRead only
Read your Buying brief, search your workspace, and open one Mission's options, criteria, comparison, dated observations, sources, and decisions — plus your items across every Mission, the places you have saved with your visits and your description of each, your lists and what you paid last time, your Types, your purchase record, your notes, and what you have already decided about earlier suggestions. It also reads your AI Interaction Profile and the preferences you marked readable — those only, and a count of the rest — and your own copies of prompts, so your wording is what it works from. Seller contact values are never included.
mission.writeSave Mission researchCan change things
Create and correct Missions, options, comparisons, sources, and dated decisions — including one-call complete results. Also raise a suggestion for you to decide, save or correct Items one at a time or two hundred in one call, move an item along its lifecycle, record what you decided about one, keep Types and Notes, record a whole receipt of purchases, work your lists and start or close a run, keep a private note about a place, open a visit and write your description of a place, record what things cost, ask and answer an appraisal on an Item in one call, and record what you actually did about it. It can save a preference YOU asked for and propose one it inferred; only you adopt a proposal. It can keep your own copy of a prompt when you give it your wording, which stays private to you and leaves the site's Prompts library untouched. Writes are replay-safe and keep their source and AI provenance. Completing an ask through buying_answer_appraisal or buying_log_appraisal with queueItemId also needs queue.write; omit queueItemId for an ordinary appraisal save.
queue.readSee work you handed overRead only
List the Queue items you sent to your AI and read their activity history. Transcripts, legacy photo readings, photo locations, automatic titles and summaries, temporary names and media URLs also require effective media.read without media withholding; ordinary Queue metadata remains available.
queue.writeWork your Queue itemsCan change things
Claim, hold, complete, fail, release, or ask you a question about a Queue item you handed over. When you ask it to, it can also write an ask down in your Queue for later — marked "Left by your AI, at your request", and nothing it writes down starts on its own. A Queue item never widens any other permission. Completing one through an appraisal save needs this permission as well as mission.write.
media.readOpen your captured photos and voice notesRead only
Retrieve the private images and voice notes attached to your Queue captures, through the protected media path rather than a public web fetch. A photo comes back as you took it, including where and when your camera says it was taken, so your AI can sort a photo dump by visit and Place. On Pro accounts a recording may carry an automatic transcript, bounded to five minutes measured from stored audio; an unmeasurable recording keeps its audio and reports transcriptError. Your AI can hear the audio itself, and every one of these reads is listed for you.
media.writeAttach a photo to your recordsCan change things
Attach photographs to your own records — an Item, a Type, one of your saved Places, an appraisal, a Queue item you handed over, or a stop on a Trip — and choose which photo leads an Item, a Type or a Place. It can send a picture it already has, give Buying the web address of a listing's photo for Buying to fetch on its behalf, or file a picture already in your workspace (such as one on a Queue ask) onto one of your records, which moves no bytes and keeps that picture's own history. It can also keep a close-up of part of a photo already in your workspace — a label, a mark, one thing from a busy photo — as a new photo on one of your records, saying which photo it came from; the photo it came from is never changed. A new picture is checked and kept exactly as sent — including where and when your camera says it was taken, which Buying reads so your AI can file it under the right Place — stored privately in your workspace and filed as attached by that AI, named and dated, never as one you took. Buying fetches over https only, never follows a redirect, checks all resolved destination addresses and pins an approved public address for the connection. Capture-time and location metadata are included on upload replies, replays and links to existing photos. The AI cannot make a photo public, cannot put one on the shared Places directory, and cannot take one back afterwards — you can remove it or turn this off whenever you like.
places.readLook up shared venuesRead onlyShared, not private
Search the shared public directory of shops, markets, and venues. This is community data, not your private workspace.
places.contributeAdd shared venue contextCan change thingsShared, not private
Add a venue to the shared public directory and attach short privacy-scrubbed notes, or withdraw a note you contributed. Contributions carry no link back to your Missions.
research.files.readRead retained research filesRead only
Open the pages, documents and original files kept as evidence behind your research — the retained material itself, not just the summary of it.
research.files.writeKeep research filesCan change things
Retain a page, document or original file as evidence on your research, so a later assistant can reread the source rather than trusting a summary.
What this site promises
- Assist With Buying never runs your AI. An ask waits in the Queue until an AI you connected picks it up.
- Leaving an ask grants your AI nothing it could not already do.
- Photos attached to an ask are not read until your AI picks the ask up.
- Archiving deletes nothing. An archived record can be brought back.
The rules every connection runs under
Derived from the server, not written beside it. If one of these sentences is wrong, the code that enforces it changed.
- Signing in through OAuth and allowing the client is the approval. From that moment the connection holds mission.read, mission.write, queue.read, queue.write, media.read, media.write, places.read, places.contribute, research.files.read, research.files.write until the person removes it. Buying issues and receipts that authority separately from OAuth identity.
- That baseline is the "ordinary-research" policy, version 5, decided 2026-09-28. Every grant records which policy issued it. A connection issued under an older version and never narrowed by the person is widened to the current default on its next call, and the ledger entry names both versions.
- A selected-Mission connection must cover every existing subject of a continued pass and every supplied subject on the same grant. Supplying an allowed Mission does not authorize a different pass. An unreadable, empty or incomplete existing subject set is refused; the boundary reads up to 50 subjects and refuses larger sets for a narrowed connection.
- Active approvals from before connections lost their expiry date remain usable, however many historical grants the account holds. Discovery, connection status and authorization use the same complete client lookup, including eligible unbound approvals; revoked grants and grants bound to another client never supply authority.
- Nothing is withheld pending a request: every permission in this vocabulary is granted by signing in. https://assistwithbuying.com/connect is where the person narrows a connection or revokes it if they want less, never where they go to unlock ordinary use.
- Attaching a photograph writes stored bytes rather than sentences, and "media.write" is nevertheless granted by signing in: this is a product for photographing things at sales, and the assistant that writes an Appraisal is the one holding the picture of what it appraised. The care that decision needs is in the tool rather than in the tier. A photograph an assistant attaches is filed as attached by that assistant, named and dated, never as one the person took; one at a time, under a hard size ceiling, with the bytes re-read and checked server-side; it lands as a private file, kept exactly as sent with its location and capture time (private to the workspace; a share only ever serves a location-free copy), and nothing an assistant may call can make it public or take it back. The person removes it in the product, and narrows the permission in one click at https://assistwithbuying.com/connect.
- An assistant proposes and answers; the person decides. A suggestion is raised with buying_propose_suggestion and waits: there is no tool that accepts one, and an Appraisal never becomes a Mission by machine — growing one is the person's own action. Both omissions are deliberate.
- Work the person ASKED to have done later is written down with buying_queue_for_later: an ordinary Waiting ask, marked "Left by your AI, at your request", that starts nothing. An idea the assistant had on its own is never filed that way; it is a suggestion, and waits for the person.
- buying_queue_for_later handles each ask atomically; a refusal writes nothing for that ask. Replay an operationId with the complete original ask, including thing fields; changed content conflicts, and legacy thing asks without their original payload cannot safely replay.
- buying_capture returns a saved Item and its receipt even when only the outcome is refused: saved[].outcomeRefused describes that refusal instead of claiming saved[].outcome. come_back also records a Trip return intention. Bundle allocations use accepted active Listed tags, estimates only when no tags exist, then even shares per object. Predictions, comparables and list prices do not establish tags or tag discounts.
- A verdict on an Appraisal is optional and always shown as the answering assistant's, named and dated. Buying does not certify what a thing is worth, and no answer is ever presented as Buying's own.
- Purchase replays preserve omitted metadata and companion attribution. For bundles, tagCents uses the Item's per-unit or whole-lot basis, unitCents is per unit, and totalCents is a whole-line weight fallback. Quantity is recorded separately. Replay the complete original purchase-key set; person-adjusted shares and the recorded total are preserved, and incompatible replays are refused. Each bundle contributes to private seller statistics once; corrections apply the contribution difference.
- Type writes refuse a child whose parent has the same normalized name, and refuse moving a subtree when its bounded descendant walk is incomplete; no partial ancestry rewrite is saved.
- Fewer calls, same result. Read once at the start — buying_get_brief and buying_get_preferences — rather than re-reading between saves. Batch every sweep: buying_save_items_batch for listings, buying_save_purchases_batch for a receipt, buying_update_list for several entries and their run. Ask for a page and follow its cursor instead of raising a limit until a whole table comes back. Link a record in the same call that saves it. Prefer the one tool that summarises a block over assembling it from five.
- A preference is saved only when the person explicitly asked for it, and buying_save_preference records their own words as the reason. Anything an assistant merely inferred goes to buying_propose_preference and waits; nothing reads a pending proposal as a standing fact, and there is no tool that adopts one. A preference is readable back to an assistant only after the person opens that row themselves, so creating one does not make it visible to the assistant that wrote it. The one exception the person chose: what they look for — their wants, collections and shopping habits — is written for their own AI to read, so those three kinds start open and they close any of them in one click.
- buying_import_sale identifies an event by its normalized listing URL within your workspace, independently of its title. Different listing identities remain different events; re-importing the same identity reuses the event. Existing Place prose is retained; replacing it requires buying_save_place_description explicitly.
- buying_get_trip day.total.byCurrency and day.stops[].byCurrency report currency, spendCents, companionCents, retailCents, retailLines and paidAgainstRetailCents separately per currency. Legacy money totals and day.currency are null for mixed currencies. Compare retail only with purchases in the same currency; companion lines remain attributed evidence outside personal spending.
- Taking an Item off a Trip stop keeps the Item and records an exclusion, so its Place does not put it back on that stop. Explicitly linking it again clears that exclusion. Organizer matching reuses exact normalized company cores, never arbitrary name containment or suffix letters inside a name. Multiple core matches are refused with candidate IDs for an explicit choice.
- A Note keeps the person's own wording. An assistant's reading of a note is stored in a separate, attributed field beside it, and no tool lets an assistant rewrite what the person said.
- A suggestion the person declined carries a standing rule with their reason and the one condition under which it may be raised again. The rule is enforced on the write, and the refusal names it. Read buying_list_suggestion_decisions before proposing rather than learning the rule by being refused.
- The token proves who is calling; the stored grant decides what they may do. The grant is re-read on every single call, and the token's own scopes are never read for authorization.
- Asking for access never changes live authority. buying_manage_connection files one exact request and returns a link for the person; only their click can approve it.
- No assistant operation narrows, widens, or revokes a permission. The one authority change that is not the person's own click is Buying raising a never-narrowed connection to the current default baseline, which only ever adds what every connection now holds and is recorded in the ledger. Narrowing and revoking remain the person's alone, at https://assistwithbuying.com/connect, and a connection they narrowed is never widened back.
- A connection lasts until the person removes it at https://assistwithbuying.com/connect. It has no end date and nothing to renew; a connection nobody has used for a long time is shown to the person as unused, and is never ended automatically. A connection that holds nothing — waiting for the person, removed, or over the limit — still lists buying_manage_connection, which says which of those it is and links to https://assistwithbuying.com/connect.
- No approval this product can issue ever allows any of the following. Reveal a seller's contact details, or contact, message, or negotiate with anyone. Make an offer, spend money, or complete a purchase. Permanently delete, archive, or export your workspace. Publish your private research, or share it outside Buying. Reach another person's workspace, or any other Assist product.
- A connected client may still apply its own per-tool prompt or block policy; Buying does not override client-side approval controls.
What no approval can ever allow
- Reveal a seller's contact details, or contact, message, or negotiate with anyone.
- Make an offer, spend money, or complete a purchase.
- Permanently delete, archive, or export your workspace.
- Publish your private research, or share it outside Buying.
- Reach another person's workspace, or any other Assist product.
A plain-text copy of this page is at /for-your-ai.txt, and the long-form agent contract is at /llms-full.txt.