{"catalogDigest":"sha256:38cf879780dd131b3537f779ae2b579a4dc7e504f91ba287a50e71130a1d6cfc","catalogGeneratedAt":"2026-10-29T03:27:41.000Z","connectors":[{"digest":"sha256:40eb41241f4b2501d80051d0358977b5fb96c58b8a046723e825195dc8909ce9","id":"amazon","identity":"https://registry.pdpp.dev/connectors/amazon","name":"Amazon","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/amazon","streams":[{"description":"Order IDs, dates, totals, delivery status, shipping summaries, payment method summary, recipient name. Per-item breakdowns live in the order_items stream.","label":"Your Amazon orders","name":"orders"},{"description":"Product titles, ASINs, per-unit prices, quantities, sellers, product URLs, item-level return/refund status.","label":"Your order line items","name":"order_items"},{"description":"Display name and Prime membership status, as shown in the Amazon nav bar. Both are null when not observable, never guessed.","label":"Your Amazon account","name":"profile"}],"surfaces":[{"appVersion":"0.46.0","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"legacy","sourceKey":"amazon","surface":"cli","version":"1.0.1"}],"tier":"supported","version":"0.2.18"},{"digest":"sha256:a2dcf917ba506b0a1718ac0367d33a3b36eb217ec04eb11d05103f5d67fc9004","id":"apple-contacts","identity":"https://registry.pdpp.dev/connectors/apple-contacts","name":"Apple Contacts","requirements":["network"],"sourceIdentity":"https://registry.pdpp.dev/sources/apple_contacts","streams":[{"description":"Address book collection URLs and display names, plus whether the server honors incremental sync-collection for this collection.","label":"Your address books","name":"address_books"},{"description":"Name, organization/title, notes, birthday, typed emails/phones/addresses (home/work/etc.), and an embedded photo when the vCard carries one. Group membership is projected separately via the contact_groups stream.","label":"Your contacts","name":"contacts"},{"description":"Group name and the member contact UIDs, derived from vCard CATEGORIES.","label":"Your contact groups","name":"contact_groups"}],"surfaces":[],"tier":"preview","version":"0.1.22"},{"digest":"sha256:d41ec92cf8569331cf099c035078dea9fcc3a900d182be236a982926b29fa1d6","id":"apple-health","identity":"https://registry.pdpp.dev/connectors/apple-health","name":"Apple Health","requirements":["filesystem"],"sourceIdentity":"https://registry.pdpp.dev/sources/apple_health","streams":[{"description":"Readings such as steps; walking, running, cycling, swimming, wheelchair, rowing, paddling, skating and snow-sports distances; flights climbed; active and resting energy; exercise, move and stand minutes and stand hours; running and cycling speed, power, cadence and form; workout effort; VO2 max, and notifications of low cardio fitness. Each reading carries its type, value and unit as the export states them; its start, end and creation dates; the time-zone offset where it was recorded, which shows when you were in another time zone; and whether it was typed in by hand. The names of the apps and devices that recorded it are not included, nor anything that identifies a particular device, so no reading carries the name someone gave their phone or watch; the device's maker, model, and hardware, firmware and software versions are kept, because a reader needs to know whether a measurement came from a watch or a chest strap. Readings are told apart by their type and their start, end and creation dates only: two readings of the same type with the same start, end and creation dates arrive once, whatever their values, units or devices, and the import receipt counts the second as a duplicate. On a very large export this stops once 400,000 different readings across all the health areas have been remembered, and the import receipt of each area affected says so. Every import brings in everything in your export again: a reading you already have is updated rather than duplicated, and a reading you delete in Health is not removed here.","label":"Your activity","name":"activity"},{"description":"Height, weight, body mass index, lean body mass, body fat percentage, waist circumference, and the wrist temperature your Apple Watch measures while you sleep, which Apple also uses to estimate your menstrual cycle. Each reading carries its type, value and unit as the export states them; its start, end and creation dates; the time-zone offset where it was recorded, which shows when you were in another time zone; and whether it was typed in by hand. The names of the apps and devices that recorded it are not included, nor anything that identifies a particular device, so no reading carries the name someone gave their phone or watch; the device's maker, model, and hardware, firmware and software versions are kept, because a reader needs to know whether a measurement came from a watch or a chest strap. Readings are told apart by their type and their start, end and creation dates only: two readings of the same type with the same start, end and creation dates arrive once, whatever their values, units or devices, and the import receipt counts the second as a duplicate. On a very large export this stops once 400,000 different readings across all the health areas have been remembered, and the import receipt of each area affected says so. Every import brings in everything in your export again: a reading you already have is updated rather than duplicated, and a reading you delete in Health is not removed here.","label":"Your body measurements","name":"body_measurements"},{"description":"Cycle tracking and reproductive health: menstrual flow and spotting, cycle irregularity notifications, cervical mucus, basal body temperature, ovulation, progesterone and pregnancy test results, sexual activity, contraceptive use, pregnancy, lactation, menopause, and bleeding after menopause or during or after pregnancy. It also includes three reproduction-related symptoms, breast pain, pelvic pain and vaginal dryness, which are kept here rather than with your other symptoms so that they are shared only if you share this. Each reading carries its type, value and unit as the export states them; its start, end and creation dates; the time-zone offset where it was recorded, which shows when you were in another time zone; and whether it was typed in by hand. The names of the apps and devices that recorded it are not included, nor anything that identifies a particular device, so no reading carries the name someone gave their phone or watch; the device's maker, model, and hardware, firmware and software versions are kept, because a reader needs to know whether a measurement came from a watch or a chest strap. Readings are told apart by their type and their start, end and creation dates only: two readings of the same type with the same start, end and creation dates arrive once, whatever their values, units or devices, and the import receipt counts the second as a duplicate. On a very large export this stops once 400,000 different readings across all the health areas have been remembered, and the import receipt of each area affected says so. Every import brings in everything in your export again: a reading you already have is updated rather than duplicated, and a reading you delete in Health is not removed here.","label":"Your reproductive health","name":"reproductive_health"},{"description":"Environmental sound levels, headphone audio levels, the sound reduction your headphones applied, and notifications of loud environments and loud headphone audio. Each reading carries its type, value and unit as the export states them; its start, end and creation dates; the time-zone offset where it was recorded, which shows when you were in another time zone; and whether it was typed in by hand. The names of the apps and devices that recorded it are not included, nor anything that identifies a particular device, so no reading carries the name someone gave their phone or watch; the device's maker, model, and hardware, firmware and software versions are kept, because a reader needs to know whether a measurement came from a watch or a chest strap. Readings are told apart by their type and their start, end and creation dates only: two readings of the same type with the same start, end and creation dates arrive once, whatever their values, units or devices, and the import receipt counts the second as a duplicate. On a very large export this stops once 400,000 different readings across all the health areas have been remembered, and the import receipt of each area affected says so. Every import brings in everything in your export again: a reading you already have is updated rather than duplicated, and a reading you delete in Health is not removed here.","label":"Your hearing and sound exposure","name":"hearing"},{"description":"Heart rate, resting and walking heart rate, heart rate variability, heart rate recovery, AFib history, blood oxygen, body temperature, blood pressure and respiratory rate, and notifications of a high, low or irregular heart rhythm and of possible hypertension. Each reading carries its type, value and unit as the export states them; its start, end and creation dates; the time-zone offset where it was recorded, which shows when you were in another time zone; and whether it was typed in by hand. The names of the apps and devices that recorded it are not included, nor anything that identifies a particular device, so no reading carries the name someone gave their phone or watch; the device's maker, model, and hardware, firmware and software versions are kept, because a reader needs to know whether a measurement came from a watch or a chest strap. Readings are told apart by their type and their start, end and creation dates only: two readings of the same type with the same start, end and creation dates arrive once, whatever their values, units or devices, and the import receipt counts the second as a duplicate. On a very large export this stops once 400,000 different readings across all the health areas have been remembered, and the import receipt of each area affected says so. Every import brings in everything in your export again: a reading you already have is updated rather than duplicated, and a reading you delete in Health is not removed here.","label":"Your vital signs","name":"vital_signs"},{"description":"Blood glucose, insulin delivery, inhaler use, lung function (forced vital capacity, FEV1 and peak expiratory flow), electrodermal activity, peripheral perfusion index, and the number of times you fell. Health records that a doctor, clinic or hospital shared with Health are not included. Each reading carries its type, value and unit as the export states them; its start, end and creation dates; the time-zone offset where it was recorded, which shows when you were in another time zone; and whether it was typed in by hand. The names of the apps and devices that recorded it are not included, nor anything that identifies a particular device, so no reading carries the name someone gave their phone or watch; the device's maker, model, and hardware, firmware and software versions are kept, because a reader needs to know whether a measurement came from a watch or a chest strap. Readings are told apart by their type and their start, end and creation dates only: two readings of the same type with the same start, end and creation dates arrive once, whatever their values, units or devices, and the import receipt counts the second as a duplicate. On a very large export this stops once 400,000 different readings across all the health areas have been remembered, and the import receipt of each area affected says so. Every import brings in everything in your export again: a reading you already have is updated rather than duplicated, and a reading you delete in Health is not removed here.","label":"Your lab and test results","name":"lab_results"},{"description":"Sleep stages and time in bed, breathing disturbances while you sleep, sleep apnea notifications, and your sleep duration goal. Each reading carries its type, value and unit as the export states them; its start, end and creation dates; the time-zone offset where it was recorded, which shows when you were in another time zone; and whether it was typed in by hand. The names of the apps and devices that recorded it are not included, nor anything that identifies a particular device, so no reading carries the name someone gave their phone or watch; the device's maker, model, and hardware, firmware and software versions are kept, because a reader needs to know whether a measurement came from a watch or a chest strap. Readings are told apart by their type and their start, end and creation dates only: two readings of the same type with the same start, end and creation dates arrive once, whatever their values, units or devices, and the import receipt counts the second as a duplicate. On a very large export this stops once 400,000 different readings across all the health areas have been remembered, and the import receipt of each area affected says so. Every import brings in everything in your export again: a reading you already have is updated rather than duplicated, and a reading you delete in Health is not removed here.","label":"Your sleep","name":"sleep"},{"description":"Your mindful minutes: when each mindfulness session began and ended. Each reading carries its type, value and unit as the export states them; its start, end and creation dates; the time-zone offset where it was recorded, which shows when you were in another time zone; and whether it was typed in by hand. The names of the apps and devices that recorded it are not included, nor anything that identifies a particular device, so no reading carries the name someone gave their phone or watch; the device's maker, model, and hardware, firmware and software versions are kept, because a reader needs to know whether a measurement came from a watch or a chest strap. Readings are told apart by their type and their start, end and creation dates only: two readings of the same type with the same start, end and creation dates arrive once, whatever their values, units or devices, and the import receipt counts the second as a duplicate. On a very large export this stops once 400,000 different readings across all the health areas have been remembered, and the import receipt of each area affected says so. Every import brings in everything in your export again: a reading you already have is updated rather than duplicated, and a reading you delete in Health is not removed here.","label":"Your mindful minutes","name":"mindfulness"},{"description":"What you logged eating and drinking: energy, carbohydrates, fat, protein, sugar and fibre, vitamins and minerals, caffeine and water. Each reading carries its type, value and unit as the export states them; its start, end and creation dates; the time-zone offset where it was recorded, which shows when you were in another time zone; and whether it was typed in by hand. The names of the apps and devices that recorded it are not included, nor anything that identifies a particular device, so no reading carries the name someone gave their phone or watch; the device's maker, model, and hardware, firmware and software versions are kept, because a reader needs to know whether a measurement came from a watch or a chest strap. Readings are told apart by their type and their start, end and creation dates only: two readings of the same type with the same start, end and creation dates arrive once, whatever their values, units or devices, and the import receipt counts the second as a duplicate. On a very large export this stops once 400,000 different readings across all the health areas have been remembered, and the import receipt of each area affected says so. Every import brings in everything in your export again: a reading you already have is updated rather than duplicated, and a reading you delete in Health is not removed here.","label":"Your nutrition","name":"nutrition"},{"description":"Blood alcohol content and the number of alcoholic drinks you logged. Each reading carries its type, value and unit as the export states them; its start, end and creation dates; the time-zone offset where it was recorded, which shows when you were in another time zone; and whether it was typed in by hand. The names of the apps and devices that recorded it are not included, nor anything that identifies a particular device, so no reading carries the name someone gave their phone or watch; the device's maker, model, and hardware, firmware and software versions are kept, because a reader needs to know whether a measurement came from a watch or a chest strap. Readings are told apart by their type and their start, end and creation dates only: two readings of the same type with the same start, end and creation dates arrive once, whatever their values, units or devices, and the import receipt counts the second as a duplicate. On a very large export this stops once 400,000 different readings across all the health areas have been remembered, and the import receipt of each area affected says so. Every import brings in everything in your export again: a reading you already have is updated rather than duplicated, and a reading you delete in Health is not removed here.","label":"Your alcohol consumption","name":"alcohol_consumption"},{"description":"Walking steadiness and its notifications, walking speed, step length, walking asymmetry and double support time, stair ascent and descent speed, and six-minute walk distance. Each reading carries its type, value and unit as the export states them; its start, end and creation dates; the time-zone offset where it was recorded, which shows when you were in another time zone; and whether it was typed in by hand. The names of the apps and devices that recorded it are not included, nor anything that identifies a particular device, so no reading carries the name someone gave their phone or watch; the device's maker, model, and hardware, firmware and software versions are kept, because a reader needs to know whether a measurement came from a watch or a chest strap. Readings are told apart by their type and their start, end and creation dates only: two readings of the same type with the same start, end and creation dates arrive once, whatever their values, units or devices, and the import receipt counts the second as a duplicate. On a very large export this stops once 400,000 different readings across all the health areas have been remembered, and the import receipt of each area affected says so. Every import brings in everything in your export again: a reading you already have is updated rather than duplicated, and a reading you delete in Health is not removed here.","label":"Your mobility","name":"mobility"},{"description":"Symptoms you logged, such as headache, fatigue, fever, coughing, nausea, dizziness, mood changes, sleep changes, skin and hair changes and bladder incontinence. Breast pain, pelvic pain and vaginal dryness are in Reproductive health instead. Each reading carries its type, value and unit as the export states them; its start, end and creation dates; the time-zone offset where it was recorded, which shows when you were in another time zone; and whether it was typed in by hand. The names of the apps and devices that recorded it are not included, nor anything that identifies a particular device, so no reading carries the name someone gave their phone or watch; the device's maker, model, and hardware, firmware and software versions are kept, because a reader needs to know whether a measurement came from a watch or a chest strap. Readings are told apart by their type and their start, end and creation dates only: two readings of the same type with the same start, end and creation dates arrive once, whatever their values, units or devices, and the import receipt counts the second as a duplicate. On a very large export this stops once 400,000 different readings across all the health areas have been remembered, and the import receipt of each area affected says so. Every import brings in everything in your export again: a reading you already have is updated rather than duplicated, and a reading you delete in Health is not removed here.","label":"Your symptoms","name":"symptoms"},{"description":"Everything that belongs to none of the other areas: UV exposure, time in daylight, underwater depth, water temperature, toothbrushing and handwashing, and any kind of Health data this version does not recognise yet, such as one Apple adds in a later iOS release, whatever it measures. Nothing is dropped for having an unfamiliar type, and the import receipt says how many such readings arrived. Each reading carries its type, value and unit as the export states them; its start, end and creation dates; the time-zone offset where it was recorded, which shows when you were in another time zone; and whether it was typed in by hand. The names of the apps and devices that recorded it are not included, nor anything that identifies a particular device, so no reading carries the name someone gave their phone or watch; the device's maker, model, and hardware, firmware and software versions are kept, because a reader needs to know whether a measurement came from a watch or a chest strap. Readings are told apart by their type and their start, end and creation dates only: two readings of the same type with the same start, end and creation dates arrive once, whatever their values, units or devices, and the import receipt counts the second as a duplicate. On a very large export this stops once 400,000 different readings across all the health areas have been remembered, and the import receipt of each area affected says so. Every import brings in everything in your export again: a reading you already have is updated rather than duplicated, and a reading you delete in Health is not removed here.","label":"Your other Health data","name":"other"},{"description":"Workout type, with duration in minutes, energy in kilocalories and distance in kilometres, each converted from whatever unit the export stated, plus start and end dates, the time-zone offset where it began, which shows when you were in another time zone, and up to 500 pause or segment markers and up to 500 per-metric statistics per workout, which summarise readings taken during it, such as its average, minimum and maximum heart rate; a workout with more of either has that list cut at 500, and the import receipt names which list under fields_unavailable. On iPhones running iOS 16 or later, a workout can also carry separate detail for each activity within it; that per-activity detail is not included, and the activities' statistics are used only to add up the workout's totals where the workout's own do not. Such exports typically state no total distance or energy for a workout, so those are added up from the workout's own statistics, or from its activities' where those record a kind the workout's own lack, never from both; where each records a kind of distance the other lacks, the total is left empty and the import receipt says so. A quantity that is not a number, or whose unit could not be converted, is left empty rather than guessed, and the import receipt says so. Application and source names are excluded, as is the workout's weather block and any GPS route, because weather on a known date reconstructs location. The device's maker, model, and hardware, firmware and software versions are kept; its name and identifiers are not. Workouts are told apart by their type, start and end only: two of the same type with the same start and end arrive once, whatever their duration, distance, energy or device, and the import receipt counts the second as a duplicate; on a very large export this stops once 100,000 different workouts have been remembered, and the workouts import receipt says so. Every import brings in everything in your export again, and a workout you already have is updated rather than duplicated; a workout you delete in Health is not removed here.","label":"Your workouts","name":"workouts"},{"description":"A short receipt for each kind of data in each import: whether everything in your export was read, how many records arrived and the earliest and latest dates among them, how many duplicates were discarded, how many entries could not be read or were of a kind this version does not recognise, the names of any fields left empty, and the date your export was taken. The receipts alone therefore show, for each kind of data, whether you have any, how many, and over what dates: for example, whether your export holds reproductive-health records, how many, and from when to when.","label":"What was imported","name":"coverage_diagnostics"}],"surfaces":[],"tier":"development","version":"0.2.5"},{"digest":"sha256:c84f8309de260a72b844283dd449e6e2a430b846d79d70d18ab8447318e760b3","id":"apple-photos","identity":"https://registry.pdpp.dev/connectors/apple-photos","name":"Apple Photos","requirements":["filesystem"],"sourceIdentity":"https://registry.pdpp.dev/sources/apple_photos","streams":[{"description":"Filename, size, content hash, MIME type, file-modified timestamp, and (within the size cap) hydrated bytes for each file found in the Photos.app export directory. hydration_status/hydration_error explain when bytes are absent (oversized or unreadable) without dropping the record. EXIF/XMP fields (taken date, GPS, camera) are present in the schema but not populated in this cut — a bounded, explicit omission, not silently missing coverage.","label":"Your exported photos and videos","name":"photos"}],"surfaces":[],"tier":"development","version":"0.1.23"},{"digest":"sha256:28ac007255a1ddf2c2cceb356122633ce9c70e1dd436bfef0d8607c81df4c4ae","id":"ical","identity":"https://registry.pdpp.dev/connectors/ical","name":"Calendar (iCal)","requirements":["filesystem"],"sourceIdentity":"https://registry.pdpp.dev/sources/ical","streams":[{"description":"Event title, start/end time, location, attendees, organizer, description.","label":"Your calendar events","name":"events"}],"surfaces":[],"tier":"development","version":"0.1.21"},{"digest":"sha256:38fe73ecebe0df2050c1ddef692fe2a733591754776811c83668c6815328806f","id":"character-ai","identity":"https://registry.pdpp.dev/connectors/character-ai","name":"Character.AI","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/character_ai","streams":[{"description":"Per chat: the character's id and name, chat type and state, when the chat was created, when its latest message was sent, and how many messages it has.","label":"Your chats","name":"chats"},{"description":"Each message in each chat: whether you or the character wrote it, the author's name, the message text, and when it was sent.","label":"Your messages","name":"messages"}],"surfaces":[],"tier":"development","version":"0.1.1"},{"digest":"sha256:de813eab0a9d6790377163dd81dba60c9ffd79e817908115c8d8af7039a73536","id":"chase","identity":"https://registry.pdpp.dev/connectors/chase","name":"Chase","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/chase","streams":[{"description":"Account names, types, last-four, current balance, and status. Credit card accounts additionally surface available credit and statement balance.","label":"Your Chase accounts","name":"accounts"},{"description":"Date, signed amount in cents, cleaned payee name, original memo, Chase-assigned transaction type (DEBIT/CREDIT/CHECK/XFER/PAYMENT/FEE/etc.), check number, and FITID (Chase's stable transaction identifier). Pending transactions are not included — QFX delivers posted transactions only.","label":"Your Chase transactions","name":"transactions"},{"description":"Pending and current-cycle activity visible in Chase's account UI. Use this for freshness, not reconciliation. Posted ledger identity remains in the QFX-only transactions stream.","label":"Your current Chase activity","name":"current_activity"},{"description":"PDF monthly statements across all Chase accounts. Metadata is always captured (title, delivery date, account reference); PDF bytes are downloaded and stored locally with a content hash when blob hydration runs. The same hash reappears across runs so downloads are idempotent.","label":"Your Chase statements","name":"statements"},{"description":"Ledger and available balance per account, timestamped to the QFX response's balance-as-of date. Each run produces one snapshot per account; snapshots accumulate rather than replace, preserving the history.","label":"Your Chase balance snapshots","name":"balances"}],"surfaces":[],"tier":"supported","version":"0.2.19"},{"digest":"sha256:53460a300d821c1b16dfbc04452573b283ca1edf3498707d92291670d6ccf3c8","id":"chatgpt","identity":"https://registry.pdpp.dev/connectors/chatgpt","name":"ChatGPT","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/chatgpt","streams":[{"description":"Conversation list with titles, create/update times, archived/starred flags, workspace (if enterprise), current-branch tip, and the count of assistant replies per model on the current branch (model names only; tool calls and other intermediate steps are not counted). Messages are a separate stream.","label":"Your conversations","name":"conversations"},{"description":"Each message on the current branch of every conversation: role, content, model, create time, tool calls, citations, attachment IDs. Alt branches are not exported. When filtering removes intermediate nodes, parent_id links to the nearest retained ancestor; the filtered count is reported through PROGRESS.","label":"Your messages","name":"messages"},{"description":"Saved facts ChatGPT remembers about you, with created/updated timestamps. Deletions detected via diff — API does not emit tombstones.","label":"ChatGPT memories","name":"memories"},{"description":"Custom GPTs you built: name, description, system instructions, enabled tools (code_interpreter, browse, dalle), welcome message, author, visibility, and share URL slug.","label":"Your custom GPTs","name":"custom_gpts"},{"description":"The two free-text fields from Settings → Personalization → Custom Instructions: 'about you' context and preferred response style, plus whether they're currently enabled. Singleton — only one set per user.","label":"Your custom instructions","name":"custom_instructions"},{"description":"Share records for conversations you've made public: the share ID, the underlying conversation, the public URL, anonymous flag, and any highlighted text.","label":"Your shared conversations","name":"shared_conversations"},{"description":"Which plan the signed-in account is on (free, Plus, Pro, Team…), whether the subscription is active and set to renew, its billing period, the renewal/expiry/cancellation dates, any scheduled plan change, and when the account was created. Usage limits are not included. Payment details and billing identifiers are not collected. Singleton — one record for the account the session is signed in to.","label":"Your ChatGPT plan","name":"account_plan"}],"surfaces":[{"appVersion":"0.46.0","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"legacy","sourceKey":"chatgpt","surface":"cli","version":"4.0.1"},{"appVersion":"1.64.0","connectorKey":"chatgpt","evidence":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json","runtime":"profile","surface":"desktop","version":"0.3.1"},{"appVersion":"2673e06beea9fbb6668df25a620b092b670e8420","connectorKey":"chatgpt","evidence":"https://mobile.vana.org/connectors/host-v1/index.json","runtime":"profile","surface":"mobile","version":"0.3.1"}],"tier":"supported","version":"0.3.6"},{"digest":"sha256:8f6243c673e1256d49544795cf23f28d7e749e0720e499fc178b88c1023d08a8","id":"anthropic","identity":"https://registry.pdpp.dev/connectors/anthropic","name":"Claude (Anthropic)","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/claude","streams":[{"description":"Account display name, plan label, and export organization identity.","label":"Your Claude account","name":"account_profile"},{"description":"Which plan the exported organization is on (free, Pro, Max, Team…) and when the organization was created, read from the account's organization list. No name, email, billing or message data. Every other field of this stream is empty here; the live-session connector fills the subscription dates.","label":"Your Claude plan","name":"account_plan"},{"description":"Conversation titles, create/update times, project membership, message counts.","label":"Your Claude conversations","name":"conversations"},{"description":"Role, content, model, creation time, per-conversation ordering.","label":"Your Claude messages","name":"messages"},{"description":"Project names, descriptions, create times, associated conversation counts.","label":"Your Claude projects","name":"projects"},{"description":"Filenames and content of documents attached to your Claude projects.","label":"Your Claude project documents","name":"project_documents"}],"surfaces":[{"appVersion":"1.64.0","connectorKey":"anthropic","evidence":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json","runtime":"profile","surface":"desktop","version":"0.2.53"},{"appVersion":"2673e06beea9fbb6668df25a620b092b670e8420","connectorKey":"anthropic","evidence":"https://mobile.vana.org/connectors/host-v1/index.json","runtime":"profile","surface":"mobile","version":"0.2.53"}],"tier":"development","version":"0.2.56"},{"digest":"sha256:810ebe9969f34a7abf522c5c42c50a34779c0aa93dd2b02c7da9d0c085e6291d","id":"anthropic-live","identity":"https://registry.pdpp.dev/connectors/anthropic-live","name":"Claude (Live Session)","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/claude","streams":[{"description":"Conversation titles, create/update times, project membership, starred flag and the conversation's current model. The message count is filled in only when messages are collected in the same run. One organization per account; temporary chats and conversations deleted on claude.ai are not included or retracted.","label":"Your Claude conversations","name":"conversations"},{"description":"Role, text content, parent message, create/update times and attachments for every message, including edited branches. Thinking and tool-call blocks are not included in the text. The model is the conversation's model at collection time (model_source says so), so it can be wrong for messages written before the model was switched.","label":"Your Claude messages","name":"messages"},{"description":"Which plan the organization is on (free, Pro, Max, Team…), its rate-limit tier, whether the subscription is active, its billing period and renewal date, and when the organization was created. will_renew is inferred for an active subscription only (a next charge and no end date) and is empty otherwise. cancels_at and scheduled_plan_change are always empty: Claude exposes no source for them. Usage limits are in usage_limits. Payment details and billing identifiers are not collected. Singleton — one record for the organization the session reads.","label":"Your Claude plan","name":"account_plan"},{"description":"One record per limit Claude reports (the current session, the week, and any per-model weekly limit): percent used, reset time, severity and whether it is currently the binding limit. Claude reports percentages, not absolute caps. Extra-usage spend and credit balances are not collected.","label":"Your Claude usage limits","name":"usage_limits"}],"surfaces":[{"appVersion":"1.64.0","connectorKey":"anthropic-live","evidence":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json","runtime":"profile","surface":"desktop","version":"0.3.6"}],"tier":"preview","version":"0.3.9"},{"digest":"sha256:db11dbac0be1d87dc45c8916b92c1e74e02738be2b6a7df2f324b1dcc97561c1","id":"claude-code","identity":"https://registry.pdpp.dev/connectors/claude-code","name":"Claude Code","requirements":["filesystem"],"sourceIdentity":"https://registry.pdpp.dev/sources/claude_code","streams":[{"description":"Session start time, duration, project directory, git branch, Claude Code version, total message count.","label":"Your Claude Code sessions","name":"sessions"},{"description":"Role (user/assistant), text content, timestamp, parent message (for threading), session reference, subagent id when the message came from a sidechain run.","label":"Your Claude Code messages","name":"messages"},{"description":"System events attached to sessions: tool calls, hook outputs, file-history snapshots, permission-mode changes, and persisted tool-result files.","label":"Claude Code events","name":"attachments"},{"description":"Skill name, description, full SKILL.md body, frontmatter, and on-disk path.","label":"Your Claude Code skills","name":"skills"},{"description":"Project path, note path, name, description, body, frontmatter, and on-disk path.","label":"Your Claude Code memory notes","name":"memory_notes"},{"description":"Command name, description, full command body, frontmatter, and on-disk path.","label":"Your custom slash commands","name":"slash_commands"},{"description":"Total sessions and messages, per-model token and cost totals, daily activity, hour-of-day distribution, and your longest session.","label":"Your Claude Code usage","name":"usage"},{"description":"Metadata-only inventory for Claude Code file-history stores. Does not emit file-history payload content.","label":"file history","name":"file_history"},{"description":"Metadata-only inventory for Claude Code cache stores; raw cache payloads are not collected.","label":"cache inventory","name":"cache_inventory"},{"description":"Metadata-only inventory for Claude Code backup stores; raw backup payloads are not collected.","label":"backup inventory","name":"backup_inventory"},{"description":"Metadata-only inventory for non-secret Claude Code configuration; raw config payloads are not collected.","label":"config inventory","name":"config_inventory"}],"surfaces":[],"tier":"supported","version":"0.3.25"},{"digest":"sha256:dffd153c9dd505a60c6e324ee1ada59b689a9bde9c093b023507cde1673da88f","id":"discord-browser","identity":"https://registry.pdpp.dev/connectors/discord-browser","name":"Discord (Browser Sign-In)","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/discord","streams":[{"description":"Username, display name, avatar and banner hashes, bio, language and Nitro level. Not your email address, phone number or sign-in security settings.","label":"Your Discord profile","name":"profile"},{"description":"Server name, icon hash, whether you own it, your permissions in it, and its feature flags.","label":"Your Discord servers","name":"servers"},{"description":"The linked service, your account name and id on it, and its visibility and sync settings.","label":"Your linked accounts","name":"connections"},{"description":"The text you wrote, when you sent and edited it, the server and channel, and the names and sizes of files you attached. No direct messages, and nothing written by anyone else.","label":"Your messages in servers","name":"messages"}],"surfaces":[{"appVersion":"2673e06beea9fbb6668df25a620b092b670e8420","connectorKey":"discord-browser","evidence":"https://mobile.vana.org/connectors/host-v1/index.json","runtime":"profile","surface":"mobile","version":"0.1.11"}],"tier":"development","version":"0.1.13"},{"digest":"sha256:5bc808190efe362f8d6196a0890e5616edaaf1921200488b782981c2b55efdc0","id":"doordash","identity":"https://registry.pdpp.dev/connectors/doordash","name":"DoorDash","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/doordash","streams":[{"description":"Order date, restaurant, items, prices, tips, tax, delivery status, delivery address, fee breakdown.","label":"Your DoorDash orders","name":"orders"},{"description":"Item name, quantity, unit price, customizations.","label":"Your DoorDash order items","name":"order_items"}],"surfaces":[{"appVersion":"0.46.0","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"legacy","sourceKey":"doordash","surface":"cli","version":"1.0.1"}],"tier":"development","version":"0.2.25"},{"digest":"sha256:a838e7aa1ce2d7fa3aa33daf5e30434e1c85a64ed91c387d7e7d0eb96bdbc117","id":"facebook","identity":"https://registry.pdpp.dev/connectors/facebook","name":"Facebook","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/facebook","streams":[{"description":"Name, profile link, and the intro you filled in (bio and the lines you chose to show, such as where you live or work).","label":"Your Facebook profile","name":"profile"},{"description":"Your own words, the post's context line (such as a share or a profile picture update), the text of a post you shared, time, link, audience, and each attachment's kind and title.","label":"Your posts","name":"posts"},{"description":"Each friend's name and profile link.","label":"Your friends","name":"friends"},{"description":"Each group's name and link, and when you joined it if Facebook shows it.","label":"Your groups","name":"groups"},{"description":"When you liked or reacted, what Facebook says you reacted to, and the post's link and text.","label":"Your likes and reactions","name":"reactions"},{"description":"When you commented, your comment's text, and the post it was on.","label":"Your comments","name":"comments"}],"surfaces":[],"tier":"development","version":"0.1.4"},{"digest":"sha256:519e557c177c11ab93ad321f8c1a52bacde3be14d514e660bd96405398e1f498","id":"fitbit","identity":"https://registry.pdpp.dev/connectors/fitbit","name":"Fitbit","requirements":["filesystem"],"sourceIdentity":"https://registry.pdpp.dev/sources/fitbit","streams":[{"description":"Each exercise Fitbit logged: its kind, when it is one of the common Fitbit exercise types this import recognises (a name you typed yourself shows as a type only when it matches one), the start date and time (UTC), distance and elapsed time. Each keeps Fitbit's own log id. No other exercise names, no route or route link, no local start times, no heart rate or calories, and no device details.","label":"Your Fitbit exercise","name":"activities"},{"description":"For each day: steps, distance, lightly, moderately and very active minutes, and resting heart rate. Steps and distance are added up by day in the time zone set in your Fitbit profile when you exported, so on days you spent in another time zone they can differ from the totals the Fitbit app showed. No calories, floors or heart rate through the day, and no location.","label":"Your Fitbit daily activity","name":"daily_summaries"},{"description":"For each sleep Fitbit logged, dated by the day you woke: whether it was your main sleep, its sleep score, time asleep and awake, and time in deep, light and REM sleep. Not when you went to bed or woke up.","label":"Your Fitbit sleep","name":"sleep"}],"surfaces":[],"tier":"development","version":"0.1.5"},{"digest":"sha256:618f060bc2f0b298d363658121d418a19b69e50cef0c79e040d6fe1ab8a212c5","id":"garmin-browser","identity":"https://registry.pdpp.dev/connectors/garmin-browser","name":"Garmin (Browser Sign-In)","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/garmin_browser","streams":[{"description":"Steps, resting and lowest heart rate, average stress and the Body Battery range for each day.","label":"Your Garmin daily summaries","name":"daily_summaries"},{"description":"Bedtime and wake time, sleep stages, sleep score, breathing rate and blood oxygen for each night.","label":"Your Garmin sleep","name":"sleep"},{"description":"Last night's HRV, its seven-day average and Garmin's HRV status for each night.","label":"Your Garmin HRV status","name":"hrv"},{"description":"Training status, weekly training load and whether it was paused, for each day.","label":"Your Garmin training status","name":"training_status"},{"description":"Sport, start time, duration, distance, calories and heart rate for each activity. No names, routes or locations.","label":"Your Garmin activities","name":"activities"}],"surfaces":[],"tier":"development","version":"0.1.4"},{"digest":"sha256:d7136b4ffb11cbdb9bc6bf720e6dbb0897bdbe8ba7a2495b6af40b517ceb4c2f","id":"github-browser","identity":"https://registry.pdpp.dev/connectors/github-browser","name":"GitHub (browser session)","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/github","streams":[{"description":"Legacy GitHub profile, pinned repositories, organization links, achievements, and displayed contribution count, collected from the signed-in profile page.","label":"profile","name":"profile"},{"description":"Repositories displayed in the signed-in user's repositories tab.","label":"repositories","name":"repositories"},{"description":"Repositories displayed in the signed-in user's starred list.","label":"starred","name":"starred"},{"description":"One legacy aggregate snapshot of public events. A full 300-event cap is partial and never advances completion.","label":"events","name":"events"},{"description":"One legacy aggregate of contribution days and available summaries. Missing or blocked year views retain readable days without completion; completion requires all four views.","label":"contributions","name":"contributions"},{"description":"One legacy aggregate snapshot of authored issues and pull requests. Each type completes after exactly min(stable total_count, 1000) valid distinct items; totals above 1000 describe a bounded search window. Otherwise the snapshot and checkpoint are withheld.","label":"history","name":"history"}],"surfaces":[{"appVersion":"0.46.0","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"legacy","sourceKey":"github","surface":"cli","version":"1.5.1"},{"appVersion":"1.64.0","connectorKey":"github-browser","evidence":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json","runtime":"profile","surface":"desktop","version":"0.3.9"},{"appVersion":"2673e06beea9fbb6668df25a620b092b670e8420","connectorKey":"github-browser","evidence":"https://mobile.vana.org/connectors/host-v1/index.json","runtime":"profile","surface":"mobile","version":"0.3.9"}],"tier":"development","version":"0.3.11"},{"digest":"sha256:7249c5fbedab668aafd2b5800b0edc7b57392f30d6afaec7aef12c8bf2b7fc4a","id":"gmail","identity":"https://registry.pdpp.dev/connectors/gmail","name":"Gmail","requirements":["network"],"sourceIdentity":"https://registry.pdpp.dev/sources/gmail","streams":[{"description":"Email metadata and envelopes: sender, recipients, subject, date, labels, flags, attachment presence, short snippet. Full bodies live in the separate email-text stream, and attachment file bytes live behind attachment blob references.","label":"Your messages","name":"messages"},{"description":"One row per email thread: participants, message counts, first/last dates, labels, unread/flagged counts.","label":"Your conversations","name":"threads"},{"description":"Standard Gmail labels (INBOX, Sent, Starred, etc.) and user-created labels.","label":"Your labels","name":"labels"},{"description":"This is the stream that carries the actual written content of each email — the plain-text body and, when present, the HTML body. It is separate from 'Your messages' (which holds only headers like sender, subject, and date). Granting this stream gives a client access to what your emails say, not just who they're from.","label":"The text of your emails","name":"message_bodies"},{"description":"Filename, content-type, size, inline/attached disposition, and hydration status. When `blob_ref` is granted, clients can fetch the actual attachment file bytes through the blob endpoint.","label":"Your attachments","name":"attachments"}],"surfaces":[],"tier":"preview","version":"0.2.27"},{"digest":"sha256:7aed190d4d760bb33e15edcf9dd07835fae2cecfb117bcaf7599c87040282013","id":"google-calendar","identity":"https://registry.pdpp.dev/connectors/google-calendar","name":"Google Calendar","requirements":["network"],"sourceIdentity":"https://registry.pdpp.dev/sources/google_calendar","streams":[{"description":"Calendar id, display name, time zone, and the owner's access role for each calendar visible on the account.","label":"Your Google calendars","name":"calendars"},{"description":"Event title, description, location, start/end time, all-day flag, organizer, attendees with RSVP status, recurrence rule, and update timestamp. Deleted events are recorded as deletions.","label":"Your Google Calendar events","name":"events"}],"surfaces":[],"tier":"development","version":"0.1.21"},{"digest":"sha256:f0e8366110c51216c81938d0e30f4d746345f8e5750dead5f1afbc3cc2663009","id":"google-contacts","identity":"https://registry.pdpp.dev/connectors/google-contacts","name":"Google Contacts","requirements":["network"],"sourceIdentity":"https://registry.pdpp.dev/sources/google_contacts","streams":[{"description":"Contact name(s), email addresses, phone numbers, physical addresses, organizations, biography, nickname, photo URL, and contact group membership. Deleted contacts are recorded as deletions.","label":"Your Google contacts","name":"people"},{"description":"Contact group name and member count.","label":"Your Google contact groups","name":"contact_groups"}],"surfaces":[],"tier":"development","version":"0.1.21"},{"digest":"sha256:b2324bd85b4531bc175cbafd36bcda287dbb277c0eb387517b628db4beae739b","id":"google-maps-data-portability","identity":"https://registry.pdpp.dev/connectors/google-maps-data-portability","name":"Google Maps Data Portability","requirements":["network"],"sourceIdentity":"https://registry.pdpp.dev/sources/google_maps_data_portability","streams":[{"description":"Archive lifecycle evidence from Google's Data Portability API: requested resource group, job id, access type, state, and export time. This is not Timeline location history.","label":"Your Google Maps export jobs","name":"archive_jobs"}],"surfaces":[],"tier":"development","version":"0.1.21"},{"digest":"sha256:81ea21faecca16fcdd60b22368cc3336795c3230885675f005d6d8c6966eb666","id":"google-maps","identity":"https://registry.pdpp.dev/connectors/google-maps","name":"Google Maps Timeline Import","requirements":["filesystem"],"sourceIdentity":"https://registry.pdpp.dev/sources/google_maps","streams":[{"description":"Timestamped latitude/longitude observations from Google Maps Timeline exports, including source format and activity hints when available.","label":"Your Google Maps location points","name":"timeline_points"},{"description":"Normalized Timeline visits, activities, and movement segments when the export provides semantic Timeline entries.","label":"Your Google Maps visits and activities","name":"timeline_segments"}],"surfaces":[],"tier":"supported","version":"0.1.21"},{"digest":"sha256:b2bc0dce3267e0853ee466bf361d00974cb303fcc3e25e559afd3efe5b2e5f6f","id":"google-takeout","identity":"https://registry.pdpp.dev/connectors/google-takeout","name":"Google Takeout","requirements":["filesystem"],"sourceIdentity":"https://registry.pdpp.dev/sources/google_takeout","streams":[{"description":"Places you've been with timestamps, lat/lon, accuracy, activity type when available. Parsed from Google Takeout Records.json.","label":"Your Google location history","name":"location_history"},{"description":"Videos watched with watch time, video URL, title, channel name.","label":"Your YouTube watch history","name":"youtube_watch_history"},{"description":"Search queries with timestamps and products (Search, Maps, Images, etc.).","label":"Your Google search history","name":"search_history"},{"description":"Photos/videos with metadata: timestamps, title, description, geolocation when available. Full-resolution media. Parsed from Google Takeout Photos/ directory.","label":"Your Google photos and videos","name":"photos"}],"surfaces":[],"tier":"development","version":"0.1.23"},{"digest":"sha256:d4ae542fbd6899166aee1f2574e6c96fab437e9ddede196b9c1898cfee1b5e2f","id":"groupme","identity":"https://registry.pdpp.dev/connectors/groupme","name":"GroupMe","requirements":["network"],"sourceIdentity":"https://registry.pdpp.dev/sources/groupme","streams":[{"description":"Group ID, name, description, avatar URL, creation time, and member count.","label":"Your GroupMe groups","name":"groups"},{"description":"Message ID, sender, text, creation timestamp, attachments (images/files/emojis), and like count. Attachment images/files are hydrated to blob storage if runtime support available; otherwise stored as URLs.","label":"Messages from your GroupMe groups","name":"group_messages"},{"description":"Conversation ID, last message, recipient name/ID, avatar, and most recent message timestamp.","label":"Your GroupMe direct messages","name":"direct_messages"},{"description":"Message ID, sender, text, creation timestamp, and attachments. Attachment images/files are hydrated to blob storage if runtime support available; otherwise stored as URLs.","label":"Your GroupMe direct messages","name":"direct_chat_messages"},{"description":"Filename, content type, size, and a blob reference when the attachment was retained.","label":"Your GroupMe attachments","name":"attachments"}],"surfaces":[],"tier":"development","version":"0.1.22"},{"digest":"sha256:b86ae6a4bb25bf1584232fe64ab54d28052c7e1fb6928057331cb8f7e0954de9","id":"heb","identity":"https://registry.pdpp.dev/connectors/heb","name":"H-E-B","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/heb","streams":[{"description":"Order date, total, fulfillment method (curbside/delivery), fulfillment location, status, item count, and (when the structured source supplies them) status code, timeslot, store name, and unfulfilled-item count. Curbside/delivery orders only; in-store purchases are not available from heb.com. Per-item breakdowns live in the order_items stream.","label":"Your H-E-B orders","name":"orders"},{"description":"Product name, department, H-E-B product id, product URL, image, quantity, line total, denormalized order date.","label":"Your H-E-B order line items","name":"order_items"},{"description":"Name, email, phone, and delivery addresses on file for your H-E-B account.","label":"Your H-E-B profile","name":"profile"},{"description":"Calories, macros, vitamins/minerals, serving size, ingredients, and allergens for products in your orders.","label":"Your H-E-B product nutrition","name":"nutrition"}],"surfaces":[{"appVersion":"0.46.0","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"legacy","sourceKey":"heb","surface":"cli","version":"1.1.1"},{"appVersion":"1.64.0","connectorKey":"heb","evidence":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json","runtime":"profile","surface":"desktop","version":"0.6.22"}],"tier":"preview","version":"0.6.24"},{"digest":"sha256:51ca0a074538a0fba5e4984ddc1e71286a3b2cde69eb5d6184472b06bc9805f7","id":"icloud-notes","identity":"https://registry.pdpp.dev/connectors/icloud-notes","name":"iCloud Notes","requirements":["browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/icloud_notes","streams":[{"description":"Account identity and source-stated display name.","label":"Your iCloud account","name":"profile"},{"description":"Note title, snippet, best-effort extracted body text, pin state, folder name and assignment, attachment flag, and created/modified timestamps.","label":"Your iCloud notes","name":"notes"},{"description":"Folder name and CloudKit record identity.","label":"Your iCloud notes folders","name":"folders"}],"surfaces":[{"appVersion":"0.46.0","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"legacy","sourceKey":"icloud-notes","surface":"cli","version":"0.2.2"},{"appVersion":"1.64.0","connectorKey":"icloud-notes","evidence":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json","runtime":"profile","surface":"desktop","version":"0.1.36"}],"tier":"development","version":"0.1.39"},{"digest":"sha256:0c8e9d1c4d9ca70defa915757b1f35f84fd4e83d326fbd0186a22f36f85742d9","id":"imessage","identity":"https://registry.pdpp.dev/connectors/imessage","name":"iMessage (macOS)","requirements":["filesystem"],"sourceIdentity":"https://registry.pdpp.dev/sources/imessage","streams":[{"description":"Sender/recipient, text content, timestamp, service (iMessage or SMS), is_from_me flag, attachment presence.","label":"Your iMessages","name":"messages"},{"description":"Chat and counterparty handle. is_from_me reports whether that handle has ever sent a message in the chat (a participant-level 'has this contact spoken here' marker) — not the per-message sender flag used in the messages stream, and best-effort only: the device owner's own handle is frequently absent from chat_handle_join entirely.","label":"Your iMessage chat participants","name":"participants"},{"description":"Filename, MIME type, size, linked message/chat when detectable, and a blob reference when the local file was hydrated.","label":"Your iMessage attachments","name":"attachments"}],"surfaces":[],"tier":"development","version":"0.1.22"},{"digest":"sha256:bf76c7391506aa3dbc92bc86293590ffeae0937f1e05e7dc38eb9e82d4fa071a","id":"meta","identity":"https://registry.pdpp.dev/connectors/meta","name":"Instagram (Meta)","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/instagram","streams":[{"description":"Username, name, bio, follower/following counts, post count.","label":"Your Instagram profile","name":"profile"},{"description":"Caption, media type, timestamp, like/comment counts, location if tagged.","label":"Your posts","name":"posts"},{"description":"Post id, liker id, username and profile picture. Sample, not a full likers list.","label":"Likes on your posts","name":"post_likes"},{"description":"Username, name, private/verified status.","label":"Accounts you follow","name":"following"},{"description":"Advertisers who have your info, ad topics, and categories used to reach you.","label":"Your Instagram ad preferences","name":"ads"}],"surfaces":[{"appVersion":"0.46.0","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"legacy","sourceKey":"instagram","surface":"cli","version":"2.2.2"},{"appVersion":"1.64.0","connectorKey":"meta","evidence":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json","runtime":"profile","surface":"desktop","version":"0.4.33"}],"tier":"development","version":"0.4.35"},{"digest":"sha256:f6c080f9c62f96e5ccc13ec992bc512f4a58b88a4aa958cc7dde782f7d5f6bd8","id":"instinct","identity":"https://registry.pdpp.dev/connectors/instinct","name":"Instinct","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/instinct","streams":[{"description":"Your name, email, sign-in phone number, account roles, onboarding state, which Instinct features are switched on for you, whether you opted out of training-data use, whether Instinct holds location data, and whether other people's Instincts may reach yours.","label":"Your Instinct profile","name":"profile"},{"description":"The phone numbers and email address your Instinct agent answers on - SMS, voice, WhatsApp, and its @mail.instinct.com mailbox - plus whether voice calls and agent mail are switched on.","label":"How you reach your Instinct","name":"agent_contact"},{"description":"Every outside account you linked - Google Workspace, Outlook, Linear, Notion, GitHub, Slack, Granola, Shop wallet, WHOOP, Stripe Link, WhatsApp, iMessage - with the account identity, whether it is the default for its provider, whether access was revoked, and for Google Workspace which individual services (Gmail, Calendar, Drive, ...) are switched on.","label":"Services connected to your Instinct","name":"connections"},{"description":"Each phone or computer registered with Instinct: its name, hostname, OS version, device type, when it was enrolled, and its last reported connection and battery state.","label":"Your enrolled devices","name":"devices"},{"description":"Everyone on your agent-to-agent list - trusted, blocked, asking to connect, or asked by you - with their display name, the phone numbers the request came from, when it was created, and when a pending request expires.","label":"People your Instinct trusts","name":"trusted_people"},{"description":"One row per saved vault item - logins, cards, addresses, phone numbers - showing its kind, its label, whether your agent put it there, and which of that kind's fields are filled in. The secret values themselves are never read or exported.","label":"What your Instinct vault holds","name":"vault_entries"},{"description":"Each chat Instinct keeps with your agent (for example the main chat that gathers every channel, and a WhatsApp channel chat): its title, source, status, and whether a turn is in progress.","label":"Your chats with your agent","name":"chats"},{"description":"Each event in your chats: messages you sent and their read time, the tools your agent called with their arguments and responses, approvals it asked for and your answers, and errors. Attachments are listed by name, type, and size; their download links are not kept. Message text, form values, approvals, and tool inputs and outputs are kept as the app shows them, so they can include anything your agent typed or read, such as details it filled in from your vault.","label":"Your conversations with your agent","name":"chat_events"}],"surfaces":[],"tier":"development","version":"0.1.2"},{"digest":"sha256:477d827a86a37ba497bbd21873ce110e64124bf3a767ae144899dfb8cd70f69c","id":"jellyfin","identity":"https://registry.pdpp.dev/connectors/jellyfin","name":"Jellyfin","requirements":["network"],"sourceIdentity":"https://registry.pdpp.dev/sources/jellyfin","streams":[{"description":"Library names, types (Movies, Series, Music, etc.), and collection paths. Does not include individual items.","label":"Your Jellyfin libraries","name":"libraries"},{"description":"Item names, types, library, playback state (LastPlayedDate, PlayCount, Played when available), genres, release date, and external provider IDs (IMDb, TVDB, TMDB). Includes a relative cover-art URL when Jellyfin provides a primary-image tag; this connector does not upload media blobs.","label":"Your Jellyfin items","name":"items"}],"surfaces":[],"tier":"preview","version":"0.2.16"},{"digest":"sha256:95e171f1aa10a5b154c47facc3eb8cb9bc77f63ecab446abae53ece67a8fd52b","id":"linkedin","identity":"https://registry.pdpp.dev/connectors/linkedin","name":"LinkedIn","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/linkedin","streams":[{"description":"Name, headline, summary, location, industry, current position, URL.","label":"Your LinkedIn profile","name":"profile"},{"description":"Title, company, start/end dates, location, description per role.","label":"Your work experience","name":"experience"},{"description":"School, degree, field of study, start/end dates.","label":"Your education","name":"education"},{"description":"Skill names plus endorsement counts if visible.","label":"Your skills","name":"skills"},{"description":"Language name plus proficiency level, if visible.","label":"Your languages","name":"languages"},{"description":"Name, headline, profile URL, and date connected.","label":"Your connections","name":"connections"}],"surfaces":[{"appVersion":"0.46.0","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"legacy","sourceKey":"linkedin","surface":"cli","version":"5.0.1"},{"appVersion":"1.64.0","connectorKey":"linkedin","evidence":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json","runtime":"profile","surface":"desktop","version":"0.3.33"},{"appVersion":"2673e06beea9fbb6668df25a620b092b670e8420","connectorKey":"linkedin","evidence":"https://mobile.vana.org/connectors/host-v1/index.json","runtime":"profile","surface":"mobile","version":"0.3.33"}],"tier":"development","version":"0.3.35"},{"digest":"sha256:d09fe5d1910e1022f45255401a9a83632c63e6c6b8cfb1c6a88bb4d8badc213b","id":"loom","identity":"https://registry.pdpp.dev/connectors/loom","name":"Loom","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/loom","streams":[{"description":"Video titles, descriptions, duration, view counts, timestamps, transcript availability.","label":"Your Loom videos","name":"videos"},{"description":"Per-video transcript text with word-level timings when available.","label":"Your Loom transcripts","name":"transcripts"}],"surfaces":[],"tier":"development","version":"0.1.22"},{"digest":"sha256:18b15c289829895453f756f4927e6456d076139fb428f4310c7efd37a3768cc7","id":"muse","identity":"https://registry.pdpp.dev/connectors/muse","name":"Muse (Meta)","requirements":["browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/muse","streams":[{"description":"Chat title, snippet of the latest message, create and update times, and whether the chat is the main chat, a thread, archived or pinned.","label":"Your Muse chats","name":"conversations"},{"description":"Role, message text, time, the message it replies to, source and visibility.","label":"Your Muse messages","name":"messages"},{"description":"Activity type, title, status, the task it belonged to and when it happened.","label":"Your Muse agent activity","name":"activities"},{"description":"Goal title, summary, description, status and momentum, whether you or the agent set it, and its times.","label":"Your Muse goals","name":"goals"},{"description":"Task title, schedule, mode, whether it is enabled, next run time, time zone and cadence.","label":"Your Muse scheduled tasks","name":"scheduled_tasks"},{"description":"Full text of what the agent remembers about you, its profile of you, and its own identity and preferences, with each file's size and modified time.","label":"Your Muse agent's memory","name":"memory_files"},{"description":"File name, path, size and modified time.","label":"Your Muse files","name":"files"},{"description":"Service id and name, connection state, how it is managed, and whether it needs re-authorization.","label":"Your Muse connected apps","name":"connected_apps"}],"surfaces":[],"tier":"development","version":"0.1.4"},{"digest":"sha256:d9d7cdfc24030bb7307d73454115363ebaa8f094019a60b2e2621eff252b4b59","id":"netflix-export","identity":"https://registry.pdpp.dev/connectors/netflix-export","name":"Netflix Export","requirements":["filesystem"],"sourceIdentity":"https://registry.pdpp.dev/sources/netflix_export","streams":[{"description":"Titles watched, with date (day-only from the immediate export, full timestamp/device/duration from the full data export). watched_at_precision and source_schema say which source each record came from.","label":"Your Netflix viewing history","name":"viewing_activity"}],"surfaces":[],"tier":"development","version":"0.1.24"},{"digest":"sha256:1c0800936817fd4060205f33d4d60842a8ca57ccdd1140848d030d349da5b7ac","id":"notion","identity":"https://registry.pdpp.dev/connectors/notion","name":"Notion","requirements":["network"],"sourceIdentity":"https://registry.pdpp.dev/sources/notion","streams":[{"description":"Page title, parent, archived flag, created/edited timestamps, URL. Block content (rich text) is fetched per-page separately.","label":"Your Notion pages","name":"pages"},{"description":"Database titles, parent, property schema.","label":"Your Notion databases","name":"databases"}],"surfaces":[],"tier":"preview","version":"0.1.21"},{"digest":"sha256:6df59e78fcfd79cef46c0b3ef512a7bc3c921cf9536cabb647893e7ca131437e","id":"codex","identity":"https://registry.pdpp.dev/connectors/codex","name":"OpenAI Codex CLI","requirements":["filesystem"],"sourceIdentity":"https://registry.pdpp.dev/sources/codex","streams":[{"description":"Title, working directory, git commit/branch, model provider, CLI version, approval mode, sandbox policy, token usage, and counts.","label":"Your Codex CLI sessions","name":"sessions"},{"description":"Role (user/assistant), text content, timestamp, session reference. Reasoning traces are referenced but content is encrypted and not stored.","label":"Your Codex messages","name":"messages"},{"description":"Tool name, arguments, call_id, and output preview. Includes shell commands Codex ran and their results.","label":"Codex tool calls","name":"function_calls"},{"description":"Each rule line (e.g. prefix_rule / decision=allow) from your .rules files, with ruleset and position.","label":"Your Codex approval rules","name":"rules"},{"description":"Name, description, body, and source path for each prompt template.","label":"Your Codex prompts","name":"prompts"},{"description":"Name, description, body, and source path for each skill.","label":"Your Codex skills","name":"skills"},{"description":"Metadata-only inventory for Codex history.jsonl. Prompt-history payloads are not collected in this tranche.","label":"history","name":"history"},{"description":"Metadata-only inventory for Codex session_index.jsonl.","label":"session index","name":"session_index"},{"description":"Metadata-only inventory for Codex shell snapshots; shell content is not collected.","label":"shell snapshots","name":"shell_snapshots"},{"description":"Metadata-only inventory for non-secret Codex configuration; raw config payloads are not collected.","label":"config inventory","name":"config_inventory"},{"description":"Metadata-only inventory for Codex cache stores; raw cache payloads are not collected.","label":"cache inventory","name":"cache_inventory"}],"surfaces":[],"tier":"supported","version":"0.3.15"},{"digest":"sha256:26944d4f1070f87478406521fcca81819e7838b158adc1707cb88ce5b90da1e5","id":"oura","identity":"https://registry.pdpp.dev/connectors/oura","name":"Oura","requirements":["network"],"sourceIdentity":"https://registry.pdpp.dev/sources/oura","streams":[{"description":"Per-night: total sleep duration, stages (REM, deep, light), heart rate range, HRV, temperature deviation, efficiency, latency, timing.","label":"Your sleep sessions","name":"sleep"},{"description":"Daily readiness score with contributing factors (activity balance, recovery index, HRV balance, etc.).","label":"Your readiness","name":"readiness"},{"description":"Daily steps, active calories, total calories, inactive/low/medium/high activity time, target progress.","label":"Your activity","name":"activity"}],"surfaces":[{"appVersion":"0.46.0","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"legacy","sourceKey":"oura","surface":"cli","version":"2.0.1"}],"tier":"development","version":"0.1.24"},{"digest":"sha256:0f00b6bd9e24e82899929f66697e303ed9f912c7655fb13c8a49901e64c529fd","id":"oura-browser","identity":"https://registry.pdpp.dev/connectors/oura-browser","name":"Oura (Browser Sign-In)","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/oura","streams":[{"description":"Per-night: total sleep duration, awake time, stages (REM, deep, light), heart rate range, HRV, temperature deviation, efficiency, latency, timing, and daily score contributors.","label":"Your sleep sessions","name":"sleep"},{"description":"Daily readiness score with contributing factors (activity balance, recovery index, HRV balance, etc.).","label":"Your readiness","name":"readiness"},{"description":"Daily steps, active calories, total calories, inactive/low/medium/high activity time, target progress.","label":"Your activity","name":"activity"}],"surfaces":[{"appVersion":"0.46.0","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"legacy","sourceKey":"oura","surface":"cli","version":"2.0.1"},{"appVersion":"1.64.0","connectorKey":"oura-browser","evidence":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json","runtime":"profile","surface":"desktop","version":"0.1.41"},{"appVersion":"2673e06beea9fbb6668df25a620b092b670e8420","connectorKey":"oura-browser","evidence":"https://mobile.vana.org/connectors/host-v1/index.json","runtime":"profile","surface":"mobile","version":"0.1.41"}],"tier":"development","version":"0.1.44"},{"digest":"sha256:dffb0ea7ee54aa515dd29e2bd6c71d50207a6472d5678ef8f89d88a2ce8777bb","id":"perplexity","identity":"https://registry.pdpp.dev/connectors/perplexity","name":"Perplexity (Browser Sign-In)","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/perplexity","streams":[{"description":"Each thread in your library: title, search mode, model, last activity time, entry count and access level. Questions and answers are the separate messages stream.","label":"Your Perplexity threads","name":"conversations"},{"description":"Each question you asked and each answer Perplexity gave, with the model, the time, and the web citations behind the answer.","label":"Your Perplexity messages","name":"messages"}],"surfaces":[],"tier":"development","version":"0.1.2"},{"digest":"sha256:a23975e88005bbbb838b6b8e30888c9ab48ee2e72835b1cddc596c1eca2d95fb","id":"pocket","identity":"https://registry.pdpp.dev/connectors/pocket","name":"Pocket","requirements":["network"],"sourceIdentity":"https://registry.pdpp.dev/sources/pocket","streams":[{"description":"Titles, URLs, tags, time added, archive status, favorite flag, reading time estimate.","label":"Your Pocket saves","name":"items"}],"surfaces":[],"tier":"development","version":"0.1.21"},{"digest":"sha256:9250c695c8a8ef18776202d24f64ac082ee8b34d8e03d8245eaa74f3d5e43d35","id":"reddit","identity":"https://registry.pdpp.dev/connectors/reddit","name":"Reddit","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/reddit","streams":[{"description":"Subreddit, title, permalink, selftext, created time. Score and comment count are in your Reddit post stats.","label":"Your Reddit posts","name":"submitted"},{"description":"Score, comment count, upvote ratio and gilded count for each of your posts.","label":"Your Reddit post stats","name":"submitted_stats"},{"description":"Subreddit, comment body, parent post ID, created time. Score is in your Reddit comment stats.","label":"Your Reddit comments","name":"comments"},{"description":"Score and gilded count for each of your comments.","label":"Your Reddit comment stats","name":"comments_stats"},{"description":"Posts and comments you've saved; mix of link posts and comments.","label":"Your saved Reddit items","name":"saved"},{"description":"Posts and comments you've upvoted; owner-only preference signal.","label":"Your upvoted Reddit items","name":"upvoted"},{"description":"Score and comment count for each item.","label":"Your upvoted Reddit item stats","name":"upvoted_stats"},{"description":"Posts and comments you've downvoted; owner-only preference signal.","label":"Your downvoted Reddit items","name":"downvoted"},{"description":"Score and comment count for each item.","label":"Your downvoted Reddit item stats","name":"downvoted_stats"},{"description":"Posts and comments you've hidden; owner-only preference signal.","label":"Your hidden Reddit items","name":"hidden"},{"description":"Score and comment count for each item.","label":"Your hidden Reddit item stats","name":"hidden_stats"}],"surfaces":[],"tier":"supported","version":"0.4.2"},{"digest":"sha256:cc47ea861bf034d4c5e4f3e57b9ec44e994c98b9d57ab0edbc366cfbda3ee1e6","id":"shopify","identity":"https://registry.pdpp.dev/connectors/shopify","name":"Shopify Shop","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/shop","streams":[{"description":"Order date, merchant, item titles, totals, and status.","label":"Your Shop app orders","name":"orders"}],"surfaces":[{"appVersion":"0.46.0","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"legacy","sourceKey":"shop","surface":"cli","version":"1.0.1"},{"appVersion":"1.64.0","connectorKey":"shopify","evidence":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json","runtime":"profile","surface":"desktop","version":"0.2.33"}],"tier":"development","version":"0.2.34"},{"digest":"sha256:b3027d9600fed30ff0662307ba0916afc1997f0900af2999cb49e85d15d6d0d8","id":"spotify","identity":"https://registry.pdpp.dev/connectors/spotify","name":"Spotify","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/spotify","streams":[{"description":"Playlist names, ownership, public/collaborative flags, track counts, snapshot IDs.","label":"Your playlists","name":"playlists"},{"description":"One record per track in a playlist: playlist, track identity, position, when and by whom it was added.","label":"Your playlist tracks","name":"playlist_items"},{"description":"Liked tracks, when they were added, artist/album context.","label":"Your saved tracks","name":"saved_tracks"},{"description":"Account id, display name, follower count.","label":"Your Spotify profile","name":"profile"},{"description":"Album, playlist, or artist context URI, its most recently played track, and last played time.","label":"Recently played contexts","name":"recently_played_contexts"},{"description":"Spotify affinity ranking for each time window, limited to at most 100 rows per window. This is not a full inventory.","label":"Your top artists","name":"top_artists"},{"description":"Spotify affinity ranking for each time window, limited to at most 100 rows per window. This is not a full inventory.","label":"Your top tracks","name":"top_tracks"}],"surfaces":[{"appVersion":"0.46.0","connectorKey":"spotify","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"profile","surface":"cli","version":"0.1.37"},{"appVersion":"1.64.0","connectorKey":"spotify","evidence":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json","runtime":"profile","surface":"desktop","version":"0.1.37"}],"tier":"development","version":"0.1.39"},{"digest":"sha256:91e4091d0306b4873b0502b0e5c953fac7d6882ab7dc66e8845b985a1bc88262","id":"steam","identity":"https://registry.pdpp.dev/connectors/steam","name":"Steam","requirements":["network"],"sourceIdentity":"https://registry.pdpp.dev/sources/steam","streams":[{"description":"Public profile data: username, avatar, personalization state, account creation date, region.","label":"Your Steam profile","name":"profile"},{"description":"Steam-returned games: name, provider-reported total playtime, platform playtimes, last-played timestamp (where available), and community stats availability. Visibility limits are preserved as provider response semantics.","label":"Your owned games","name":"owned_games"},{"description":"Steam-returned recent games: name, 2-week and provider-reported total playtime, platform playtimes, and last-played timestamp. Visibility limits are preserved as provider response semantics.","label":"Your recently played games","name":"recently_played_games"},{"description":"Steam friends: friend steamid, relationship type, friend-since timestamp, and (when the friend's profile is visible) display name, avatar, and profile URL.","label":"Your Steam friends","name":"friends"},{"description":"Account level, calculated from badges, achievements, and playtime.","label":"Your Steam level","name":"steam_level"}],"surfaces":[{"appVersion":"0.46.0","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"legacy","sourceKey":"steam","surface":"cli","version":"1.0.1"}],"tier":"preview","version":"0.1.21"},{"digest":"sha256:f3e62709e409cc91ebc436d4f8c831e7788b99c08d96872e79c7ace439111450","id":"strava","identity":"https://registry.pdpp.dev/connectors/strava","name":"Strava","requirements":["filesystem"],"sourceIdentity":"https://registry.pdpp.dev/sources/strava","streams":[{"description":"Sport, start time, distance, moving and elapsed time, elevation gain, average and maximum heart rate, calories and gear. No route, no GPS coordinates, no activity titles or notes.","label":"Your Strava activities","name":"activities"}],"surfaces":[{"appVersion":"1.64.0","connectorKey":"strava","evidence":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json","runtime":"profile","surface":"desktop","version":"1.0.27"}],"tier":"supported","version":"1.0.28"},{"digest":"sha256:ec686e0b4a8e3a8bbf1170f430ad5c2d41ffc89a855ec5a6eb351144b2cb53b2","id":"strava-browser","identity":"https://registry.pdpp.dev/connectors/strava-browser","name":"Strava (Browser Sign-In)","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/strava","streams":[{"description":"Sport, start time, distance, moving and elapsed time, elevation gain, average and maximum heart rate, calories and gear. No route, no GPS coordinates, no activity titles or notes.","label":"Your Strava activities","name":"activities"}],"surfaces":[{"appVersion":"1.64.0","connectorKey":"strava-browser","evidence":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json","runtime":"profile","surface":"desktop","version":"0.1.35"},{"appVersion":"2673e06beea9fbb6668df25a620b092b670e8420","connectorKey":"strava-browser","evidence":"https://mobile.vana.org/connectors/host-v1/index.json","runtime":"profile","surface":"mobile","version":"0.1.35"}],"tier":"development","version":"0.1.37"},{"digest":"sha256:539c2b1a6100d591ba765e874f9af24998a8b752455b7afcccfa8257f3450bf2","id":"tiktok","identity":"https://registry.pdpp.dev/connectors/tiktok","name":"TikTok (Browser Sign-In)","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/tiktok","streams":[{"description":"Your user id, handle, nickname, bio, avatar, whether the account is private, and your follower, following, like and video counts.","label":"Your TikTok profile","name":"profile"},{"description":"Each video's caption, when you posted it, its length, who can see it, and its views, likes, comments, shares, saves and reposts.","label":"Your TikTok videos","name":"videos"},{"description":"The videos you liked: who posted each, its caption and when it was posted.","label":"Videos you liked on TikTok","name":"likes"},{"description":"The videos you saved to Favorites: who posted each, its caption and when it was posted.","label":"Your TikTok Favorites","name":"favorites"},{"description":"The name of each collection you made in Favorites and how many videos it holds.","label":"Your TikTok Favorites collections","name":"favorite_collections"},{"description":"For each collection, the videos in it: who posted each, its caption and when it was posted.","label":"Videos in your TikTok Favorites collections","name":"collection_items"},{"description":"Each account's handle, display name and id, and whether it is verified or private.","label":"Accounts you follow on TikTok","name":"following"},{"description":"Each follower's handle, display name and id, and whether it is verified or private.","label":"Your TikTok followers","name":"followers"}],"surfaces":[],"tier":"development","version":"0.3.7"},{"digest":"sha256:3a638a40dc57f4e97080a1356a467d4584e9ae82292e5031d5e9110ceef71f25","id":"twitter-archive","identity":"https://registry.pdpp.dev/connectors/twitter-archive","name":"Twitter/X Archive","requirements":["filesystem"],"sourceIdentity":"https://registry.pdpp.dev/sources/twitter_archive","streams":[{"description":"Tweet text, timestamps, reply/retweet/quote relationships, media counts.","label":"Your tweets","name":"tweets"},{"description":"Sender, recipient, timestamp, text per DM.","label":"Your DMs","name":"direct_messages"}],"surfaces":[],"tier":"development","version":"0.1.22"},{"digest":"sha256:3814c12271380cbb9ed9424bd7ee0e4efe95658e7386b98b79ace503edf50c6b","id":"uber","identity":"https://registry.pdpp.dev/connectors/uber","name":"Uber","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/uber","streams":[{"description":"Trip status, date, pickup/dropoff addresses, driver name, distance, duration, vehicle type, and fare total.","label":"Your Uber trips","name":"trips"},{"description":"Itemized fare breakdown, currency, and the receipt's headline total. Fetched per-trip, so this stream is only populated when explicitly requested — a trips-only grant performs no GetReceipt calls.","label":"Your Uber receipts","name":"receipts"}],"surfaces":[{"appVersion":"0.46.0","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"legacy","sourceKey":"uber","surface":"cli","version":"1.0.1"}],"tier":"supported","version":"1.0.24"},{"digest":"sha256:65078f31cb6eec645b652209d5c8302c0fb847cf5285cd057f92c383390d77f6","id":"usaa","identity":"https://registry.pdpp.dev/connectors/usaa","name":"USAA","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/usaa","streams":[{"description":"Account names, types, last-four, and open/closed status. Current and historical balances are in the daily `account_stats` stream.","label":"Your USAA accounts","name":"accounts"},{"description":"Daily snapshot of balance and available balance (cents). Each record covers one calendar day for one account.","label":"Your USAA account balances (daily)","name":"account_stats"},{"description":"Date, signed amount in cents, cleaned payee name, original statement description, USAA-assigned category, check number (parsed from original description), and running balance when available. Pending transactions included if visible.","label":"Your USAA transactions","name":"transactions"},{"description":"Monthly statements across all accounts: document title, delivery date, and account reference. PDF download URL, local path, and content hash are populated when blob hydration has run; otherwise null.","label":"Your USAA statements","name":"statements"},{"description":"Messages from USAA (statement alerts, new documents, service notices). Read/unread status and previews captured; full message bodies deferred.","label":"Your USAA inbox","name":"inbox_messages"},{"description":"For each USAA-issued credit card: nickname, credit limit, APRs, and card holder names. Current and historical balances, available credit, rewards, and minimum-payment status are in the daily `credit_card_billing_stats` stream.","label":"Your credit card billing details","name":"credit_card_billing"},{"description":"Daily snapshot of current balance, available credit, cash rewards (cents), and the cycle billing status / minimum-payment-met flag. Each record covers one calendar day for one card.","label":"Your credit card balances (daily)","name":"credit_card_billing_stats"}],"surfaces":[],"tier":"preview","version":"0.2.19"},{"digest":"sha256:64fa3eb2e9beffc5d0852039cd35f5d7cfe0314483b8c5499d21c28e2f52be41","id":"venmo","identity":"https://registry.pdpp.dev/connectors/venmo","name":"Venmo","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/venmo","streams":[{"description":"Display name, username, phone, profile picture, about text, join date, and whether the account is a business account. No balance or payment-method data.","label":"Your Venmo profile","name":"profile"},{"description":"Display name, username, phone (when visible), profile picture, about text, join date, and whether the entry is a group or an active user. No payment history.","label":"Your Venmo friends","name":"friends"},{"description":"Date, amount (USD cents), payment type (pay/charge), audience (private/friends/public), status, note, device used, and the counterparty (actor/target) on each side of the payment.","label":"Your Venmo transactions","name":"transactions"}],"surfaces":[],"tier":"preview","version":"0.2.27"},{"digest":"sha256:1475dced5eccd4457ce76ab12724eeaa6daa318eee71ba0efe398a8c8c83b894","id":"whatsapp","identity":"https://registry.pdpp.dev/connectors/whatsapp","name":"WhatsApp (chat export)","requirements":["filesystem"],"sourceIdentity":"https://registry.pdpp.dev/sources/whatsapp","streams":[{"description":"Chat title (derived from export filename), participant list, message count, date range.","label":"Your WhatsApp chats","name":"chats"},{"description":"Author, timestamp, text content per message. Media attachments are represented in the attachments stream when the export includes them.","label":"Your WhatsApp messages","name":"messages"},{"description":"Filename, MIME type, size, linked chat/message when detectable, and a blob reference when the media file was retained.","label":"Your WhatsApp media attachments","name":"attachments"}],"surfaces":[],"tier":"supported","version":"0.2.22"},{"digest":"sha256:5016ba0c1f7ac358d6d00c424b5f03614ee7176eda7054b46b0c150b87d3f211","id":"whatsapp-web","identity":"https://registry.pdpp.dev/connectors/whatsapp-web","name":"WhatsApp (web)","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/whatsapp_web","streams":[{"description":"Chat kind (user, group or other), title, last activity, archive, pin, mute, unread and read-only state, and whether more messages remain on the phone.","label":"Your WhatsApp chats","name":"chats"},{"description":"Message text or caption, who sent it, when, whether it was forwarded or starred, media metadata, calls, polls and locations.","label":"Your WhatsApp messages","name":"messages"},{"description":"Contact name, short name, push name, and business identity when one is known.","label":"Your WhatsApp contacts","name":"contacts"},{"description":"Group subject, creation time, owner, and the participants with their admin and super-admin status.","label":"Your WhatsApp groups","name":"groups"}],"surfaces":[],"tier":"development","version":"0.1.3"},{"digest":"sha256:fc7affac0dd263d3b4fd9a4f157a994649eae7a9213516d6f11f61b7011f8e3f","id":"wholefoods","identity":"https://registry.pdpp.dev/connectors/wholefoods","name":"Whole Foods","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/wholefoods","streams":[{"description":"Name and email of the Amazon account whose order history was scraped.","label":"Your Amazon account","name":"profile"},{"description":"Order date, order URL, total, item count, status. Uses your Amazon login.","label":"Your Whole Foods orders","name":"orders"},{"description":"Product name, quantity, price.","label":"Your Whole Foods items","name":"order_items"},{"description":"Nutrition facts for each ordered product whose Nutrition Facts panel was read. A product whose panel could not be read has no row.","label":"Nutrition facts","name":"nutrition"}],"surfaces":[{"appVersion":"0.46.0","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"legacy","sourceKey":"wholefoods","surface":"cli","version":"1.0.2"},{"appVersion":"1.64.0","connectorKey":"wholefoods","evidence":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json","runtime":"profile","surface":"desktop","version":"0.3.34"}],"tier":"development","version":"0.3.43"},{"digest":"sha256:3cfdc80e3443aacc31b61a7f86b13cf0c61111d08a4c01af2e34001d8eb3ab52","id":"whoop","identity":"https://registry.pdpp.dev/connectors/whoop","name":"WHOOP","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/whoop","streams":[{"description":"Account identity, location, profile preferences, and membership status.","label":"Your WHOOP profile","name":"profile"},{"description":"Height, weight, maximum, minimum, and resting heart rate.","label":"Your WHOOP body measurements","name":"body"},{"description":"Cycle interval, strain, energy, and day heart-rate summary.","label":"Your WHOOP cycles","name":"cycles"},{"description":"Recovery score, HRV, resting heart rate, blood oxygen, and skin temperature.","label":"Your WHOOP recoveries","name":"recoveries"},{"description":"Sleep interval, score, respiratory rate, and sleep-stage durations in milliseconds.","label":"Your WHOOP sleeps","name":"sleeps"},{"description":"Workout interval, sport ID, energy, timezone, and heart-rate summary.","label":"Your WHOOP workouts","name":"workouts"}],"surfaces":[{"appVersion":"0.46.0","connectorKey":"whoop","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"profile","surface":"cli","version":"0.1.0"},{"appVersion":"1.64.0","connectorKey":"whoop","evidence":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json","runtime":"profile","surface":"desktop","version":"0.1.23"}],"tier":"supported","version":"0.1.24"},{"digest":"sha256:fd0144a7dd23cda532c0c9dd102ffe2010af3a3f7bc08971f81a485f00ef6086","id":"whoop-browser","identity":"https://registry.pdpp.dev/connectors/whoop-browser","name":"WHOOP (Browser Sign-In)","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/whoop_browser","streams":[{"description":"Each cycle's start and end, strain, energy and heart rate.","label":"Your WHOOP cycles","name":"cycles"},{"description":"Recovery score, HRV, resting heart rate, SpO2 and skin temperature for each cycle.","label":"Your WHOOP recoveries","name":"recoveries"},{"description":"Sleep and nap times, stage durations, sleep performance and respiratory rate.","label":"Your WHOOP sleeps","name":"sleeps"},{"description":"Activity times, sport, strain, energy and heart rate.","label":"Your WHOOP workouts","name":"workouts"}],"surfaces":[],"tier":"development","version":"0.1.4"},{"digest":"sha256:a509af710fa39eafeb0f42a297fe373c3da86aacd4024158ad6444f8b42bbee9","id":"x-browser","identity":"https://registry.pdpp.dev/connectors/x-browser","name":"X (Browser Sign-In)","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/x","streams":[{"description":"Handle, display name, bio, location, website, profile and banner image addresses, when the account was created, and your follower, following, post and like counts.","label":"Your X profile","name":"profile"},{"description":"Your posts and replies: text, when you posted, what it replied to or quoted, links, hashtags, mentions, media addresses, and like, repost, reply, quote, bookmark and view counts. No direct messages.","label":"Your X posts","name":"posts"},{"description":"The posts you liked: who wrote each, its text, when it was posted, links, hashtags, mentions, media addresses and its counts.","label":"Posts you liked on X","name":"likes"},{"description":"The posts you bookmarked: who wrote each, its text, when it was posted, links, hashtags, mentions, media addresses and its counts.","label":"Posts you bookmarked on X","name":"bookmarks"}],"surfaces":[],"tier":"development","version":"0.1.13"},{"digest":"sha256:8c77dbdb1cae1473eb4a2081358ab0282250227c6d2bff8e1df1d350e45e58c3","id":"ynab","identity":"https://registry.pdpp.dev/connectors/ynab","name":"YNAB","requirements":["network"],"sourceIdentity":"https://registry.pdpp.dev/sources/ynab","streams":[{"description":"Budget names, currency locale (ISO code, symbol, separators), date format, and first/last month. No transaction data.","label":"Your budgets","name":"budgets"},{"description":"Account names, types, on-budget status, balances, last reconciliation, direct-import status, and loan-specific details (interest rates, minimum payments, escrow). No individual transactions.","label":"Your accounts","name":"accounts"},{"description":"Daily snapshot of balance, cleared_balance, and uncleared_balance (YNAB milliunits). Each record covers one calendar day for one account.","label":"Account balances (daily)","name":"account_stats"},{"description":"Group names (Fixed Expenses, Wants, etc.) and hidden/deleted flags. Group-level note if set.","label":"Your budget category groups","name":"category_groups"},{"description":"Category names, group memberships, budgeted/activity/balance amounts, and goal tracking (target, cadence, percentage complete, underfunding).","label":"Your budget categories","name":"categories"},{"description":"Names of merchants, people, and accounts you've transacted with. Transfer payees (linking to your own accounts) included.","label":"Your payees","name":"payees"},{"description":"Latitude/longitude coordinates linked to payees, typically added via the YNAB mobile app. Useful for matching transactions to merchant locations.","label":"Payee GPS locations","name":"payee_locations"},{"description":"Date, amount (milliunits), payee, category, memo, cleared status (cleared/uncleared/reconciled), approved flag, flag color/name, transfer details, import dedup IDs, original statement payee name, and any subtransactions (splits) nested on the parent. Does not include bank statements or receipts.","label":"Your transactions","name":"transactions"},{"description":"Upcoming recurring transactions with frequency (daily, weekly, monthly, etc.), next occurrence date, account, payee, category, amount, and any subtransactions.","label":"Your scheduled transactions","name":"scheduled_transactions"},{"description":"For each budget month: income received, total assigned, activity (spending), to-be-budgeted, and age of money. Useful for budget analytics and trend analysis.","label":"Monthly budget summaries","name":"months"},{"description":"For each (budget, month, category): how much was assigned (budgeted), how much was spent (activity), leftover balance, and goal progress (type, target, percent complete, underfunding) as it stood in that month. Useful for budget trend analysis and answering 'what did I budget for groceries last March?'.","label":"Monthly category history","name":"month_categories"}],"surfaces":[],"tier":"supported","version":"0.3.22"},{"digest":"sha256:194b3bdc20a2068fbf9c5fbca6463fff9da83d834810652224d7a38d3f5cb646","id":"youtube","identity":"https://registry.pdpp.dev/connectors/youtube","name":"YouTube","requirements":["network","browser"],"sourceIdentity":"https://registry.pdpp.dev/sources/youtube","streams":[{"description":"The owner channel ID, URL, title, handle and avatar when visible, plus the signed-in account email when visible.","label":"Your YouTube channel","name":"profile"},{"description":"Channel titles, links, badges and notification settings when the corresponding controls are visible.","label":"Your subscriptions","name":"subscriptions"},{"description":"Playlist titles, URLs and visible header metadata.","label":"Your playlists","name":"playlists"},{"description":"Video titles and URLs from each visible playlist. Scrolling is bounded.","label":"Your playlist items","name":"playlist_items"},{"description":"Liked video titles and URLs from the signed-in playlist. Scrolling is bounded.","label":"Your liked videos","name":"likes"},{"description":"Saved video titles and URLs from Watch Later. Scrolling is bounded.","label":"Your watch later list","name":"watch_later"},{"description":"Observed viewing dates are upserted by video and viewing date while history is traversed and the recent head is refreshed. A date is recorded when its section label can be resolved; no watch time is invented.","label":"Your watch history","name":"watch_history"}],"surfaces":[{"appVersion":"0.46.0","evidence":"https://www.npmjs.com/package/vana-cli/v/0.46.0","runtime":"legacy","sourceKey":"youtube","surface":"cli","version":"1.2.1"},{"appVersion":"1.64.0","connectorKey":"youtube","evidence":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json","runtime":"profile","surface":"desktop","version":"0.2.39"}],"tier":"development","version":"0.2.41"}],"sourceCommit":"ab117fa5d014de36029b92b4999288311a579991","surfaceSources":[{"checkedAt":"2026-10-29T10:59:45.076Z","name":"CLI 0.46.0","url":"https://www.npmjs.com/package/vana-cli/v/0.46.0"},{"checkedAt":"2026-10-29T10:59:45.076Z","name":"Desktop 1.64.0","url":"https://download.vana.org/vana/releases/desktop-v1.64.0/manifest.json"},{"checkedAt":"2026-10-29T10:59:45.076Z","name":"Mobile production","url":"https://mobile.vana.org/connectors/host-v1/index.json"}],"availabilityCheckedAt":"2026-10-29T10:59:45.076Z"}