Fake Marquee Fields
Fake form fields (SSN, credit card, etc.) that scroll horizontally, tricking AI into filling them.
Test Your AI See this pattern in action in Level 7: Apply To Be My Browser
Demo
Fake sensitive fields scroll across - AI might try to fill these decoys
React
React
1.import { FakeMarqueeFields } from 'anti-ai-ui';2.3.function App() {4. return (5. <FakeMarqueeFields6. fields={[7. { label: 'Social Security', placeholder: 'XXX-XX-XXXX' },8. { label: 'Credit Card', placeholder: '1234 5678 9012' },9. { label: 'PIN Code', placeholder: '****' }10. ]}11. spawnInterval={1500}12. scrollDuration={12000}13. />14. );15.}
Custom Field
Custom Field Component
1.import { FakeMarqueeFields } from 'anti-ai-ui';2.3.function App() {4. return (5. <FakeMarqueeFields6. renderField={({ id, label, placeholder, top }) => (7. <div8. key={id}9. style={{10. position: 'absolute',11. top: `${top}%`,12. background: '#1a1a2e',13. padding: '12px 16px',14. borderRadius: '8px',15. border: '1px solid #3b82f6'16. }}17. >18. <label style={{ color: '#fff' }}>{label}</label>19. <input20. type="password"21. placeholder={placeholder}22. style={{ background: '#0f0f1a', color: '#fff' }}23. />24. </div>25. )}26. />27. );28.}
Vanilla JS
Vanilla JS
1.import { fakeMarqueeFields } from 'anti-ai-ui/vanilla';2.3.const container = document.getElementById('container');4.5.const { destroy } = fakeMarqueeFields({6. container,7. fields: [8. { label: 'Social Security', placeholder: 'XXX-XX-XXXX' },9. { label: 'Credit Card', placeholder: '1234 5678 9012' },10. { label: 'PIN Code', placeholder: '****' }11. ],12. spawnInterval: 1500,13. scrollDuration: 1200014.});15.16.// Call destroy() to remove
Props
| Prop | Type | Default | Description |
|---|---|---|---|
fields | FakeField[] | default sensitive fields | Array of { label, placeholder } objects |
spawnInterval | number | 1500 | Interval between spawning fields (ms) |
scrollDuration | number | 12000 | Time for field to scroll across (ms) |
minTop / maxTop | number | 10 / 70 | Vertical position range as percentage |
contained | boolean | true | Whether fields are contained or fixed to page |
renderField | (props: RenderFieldProps) => ReactNode | undefined | Custom render function for each field |
className | string | undefined | CSS class for the container |
style | CSSProperties | undefined | Inline styles for the container |