diff --git a/src/components/calendar/ParticipantInput.tsx b/src/components/calendar/ParticipantInput.tsx
index 34162d9b..ef234f87 100644
--- a/src/components/calendar/ParticipantInput.tsx
+++ b/src/components/calendar/ParticipantInput.tsx
@@ -117,6 +117,10 @@ export function ParticipantInput({ attendees, onAdd, onRemove }: ParticipantInpu
autoCapitalize="none"
autoCorrect={false}
keyboardType="email-address"
+ // The app's own suggestions only: system autofill would cover them.
+ autoComplete="off"
+ importantForAutofill="no"
+ textContentType="none"
onSubmitEditing={handleSubmit}
onBlur={handleSubmit}
returnKeyType="done"
diff --git a/src/components/calendar/__tests__/participant-input-wiring.test.ts b/src/components/calendar/__tests__/participant-input-wiring.test.ts
new file mode 100644
index 00000000..abd8f2fd
--- /dev/null
+++ b/src/components/calendar/__tests__/participant-input-wiring.test.ts
@@ -0,0 +1,15 @@
+import { describe, expect, it } from 'vitest';
+import fs from 'node:fs';
+import path from 'node:path';
+
+// Checked on the source: the suite has no React Native renderer.
+const source = fs.readFileSync(path.resolve(__dirname, '../ParticipantInput.tsx'), 'utf8');
+
+describe('ParticipantInput wiring', () => {
+ it('offers no system autofill in the participant address field, as the composer\u2019s fields do', () => {
+ const input = source.slice(source.indexOf('', source.indexOf('