You open Umete from Safari’s toolbar on a page. Only then does Safari let Umete into that page, and only into the page itself, not its frames.
Remember my answers reads each visible field that has a value and isn’t sensitive, and saves its description and value, encrypted, in the Umete app.
Fill this form matches each field against your saved answers on your device and fills the matches.
Any fields left over are described to an AI, which picks a saved answer by its label, or none. Umete checks each pick against what it sent and fills it on your device.
Umete never submits the form.
Matching on your device
Each field is described by its label, accessible name and description, placeholder, name, id, autocomplete hint, type, fieldset legend, nearest heading, form name, and table headers.
Answers are scored on these signals; a matching autocomplete hint counts most. A field is filled only when one answer clearly wins. Identifiers, like passport and membership numbers, and document dates are never filled with the wrong kind of answer.
Supported controls: text fields, text areas, menus, checkboxes, radio buttons, date fields, and ARIA comboboxes, which Umete opens and picks from as a person would. Fields inside open shadow DOM are included.
Names: builds a full name from first and last names, family name first for Japanese, Chinese, and Korean.
Phone numbers: picks the country calling code in a separate menu and removes it, and the leading 0, from the number field.
Dates: fills date fields, split day, month, and year fields, and month-name menus, in the order the field shows.
Addresses and contacts are saved as parts and filled part by part. Doctors are chosen by specialty when the form asks for one.
Never read or filled: passwords, card numbers and card security codes, secrets, tokens, Social Security numbers, file uploads, and hidden or disabled fields.
AI matching
Sent: field descriptions from an allow-list, up to 50 menu options per field, and the labels of your saved answers. Never sent: saved values, values in the form, addresses, and the page’s address or title.
Umete (free), the default, goes through api.umete.jp, a Cloudflare Worker, to OpenAI’s Decisions API: one multiple-choice question per field, up to 10 per request. A pick is used only when the model gives it a probability of at least 60%.
The free tier allows 60 requests per device per day, 300 per network, and a shared daily cap. The server keeps only daily counts, keyed by salted hashes, and deletes them after three days.
With your own key: OpenAI Decisions, OpenAI’s Responses API, or Anthropic’s Messages API, called directly from your device.
Encryption and sync
Answers are sealed with AES-GCM (256-bit key) using CryptoKit, in Umete’s shared app group container. Up to 2,000 answers.
The key is in iCloud Keychain when sync is on, and device-only in the Keychain when it’s off.
Sync uses a CloudKit private database. Each answer is its own record, encrypted before upload; conflicts are settled per answer by the latest change.
Toolbar badge
Optional and off by default. Needs access to all websites, since it checks each page as it loads.
Reads field labels and attributes, never values; stops after 200 fields and skips pages with more than 1,500 controls. The count on the icon is the number of fields Umete can fill.
Requirements and updates
macOS 12 or later; iOS or iPadOS 15 or later. Safari.
The Mac app is signed with Developer ID, notarized by Apple, and updates itself with Sparkle from a signed feed.