Academy
How automation gives itself away
Lesson 8 of 14
What a flow is made of
A flow is a list of steps you choose from a form and fill in yourself. Nothing watches your clicks and turns them into a script.
The order you wrote is the order that runs, the same way on every profile you point it at.
What gives a script away
A platform is not hunting for your automation. It is looking for evenness, and a script produces evenness for free in every one of these places.
| The tell | What a script does | What a person does |
|---|---|---|
| Pauses | The same gap, every time the step comes round | A gap that depends on what is on screen |
| The pointer | It appears at the centre of the target | It travels, overshoots and comes back |
| Typing | The whole value at once, never a mistake | Keystrokes with gaps, and corrections |
| The hour | Whatever minute the timetable names | The hours this account has always worked |
| The order | The written sequence, on every profile | A slightly different route each time |
Pauses of identical length
A wait step of a fixed length produces exactly that pause, every time it comes round. A long row of identical gaps is a metronome, not somebody reading a page.
The random pause step draws a new figure between the bounds you set, so the rhythm stops repeating itself. That makes the run less even; it does not make it human.
A click and a keystroke
A click step brings the target into view, works out its centre and presses that one point. The pointer arrives without crossing anything on the way, because no browser draws a path across a screen.
A typing step focuses the field, clears it and puts the whole value in at once. There are no gaps between letters and no corrections, which is what a form watching every keystroke is built to notice.
Night runs and bursts
A schedule fires at the minute you set, read in your own local time, and only while the app is open on your machine.
A slot the app meets long after its time is counted and left alone rather than fired late. Runs landing together at an hour the account never works is the louder of the two signals.
The hour is read next to the account
One order on every profile
Your own flow hands every profile the same steps in the same sequence, and only the values change from one profile to the next. Two accounts that walked an identical route at an identical pace have swapped one link for another.
Warming up a new profile is the exception that shows the shape of the fix. It draws a fresh set of sites and a fresh order per profile, and spreads the reading time and the scrolling around the figure you asked for.
What a machine should be given
Automation earns its place on work that is dull, repeatable and cheap to get wrong. It loses that place the moment a decision or a human question stands in the way.
The pages before any decision
The addresses opened every morning before anything is chosen.
A value into a variable
A price, a count or a status, read off the page and used by a later step.
A past for a new profile
An empty history is a signal of its own, and ordinary public browsing fills it.
A screenshot for the morning
What the page really showed, captured in that profile's own window.
What stays in your hands
Pace rather than volume
The app counts the pages opened in a profile today and holds that count against a daily pace for the work it was made for. A new profile is given a lower figure that grows as it ages.
That number is a hint on the row and it stops nobody. A tool that refuses at a number has invented that number, and yours is not somebody else's.
What this lesson does not claim
- It does not claim a flow can be made to look like a person. Nothing in a browser draws a human path across a screen, and nothing here pretends otherwise.
- It does not describe a recorder, because there is none. A flow cannot be produced by demonstrating the work once.
- It gives no safe number of actions and no safe hour. The daily pace shown in the app is guidance on a row, and it refuses nothing.
- It does not name the rules of any one platform. Some of them forbid a second account outright, and that is their decision, not a setting.
- It does not promise that a slower flow passes. Content, volume and account history are read as well, and no script fixes those.
Where you can see this yourself
Each claim above is one place in the code and, where it can be measured, a stand as well.
- A click is aimed at the centre of the element and pressed there, with no path across the screen
- apps/desktop/src/main/main.js
- Warming up draws a different set of sites and a different order for every profile
- apps/desktop/src/lib/cookieRobot.js · apps/desktop/test/cookie-robot.js
- A slot met too late is counted as missed and is never fired in a batch afterwards
- apps/desktop/src/lib/schedules.js · apps/desktop/test/schedule-runs.js
- Today's actions are counted for each profile, and the daily pace refuses nothing
- apps/desktop/src/lib/pace.js
Questions
- Does a random pause make a flow look human?
- No. It stops the rhythm repeating itself, which is a smaller thing. Order, volume and the hour are still yours to shape.
- Can I record the work once and replay it?
- No. Steps are chosen from a form, and mirroring one window into others saves nothing, so a live session cannot become a flow afterwards.
- Is running at night a mistake?
- Only in an account where nothing has ever happened at night. The hour is read alongside that account's history rather than on its own.
- Why are missed runs not fired when the laptop wakes?
- Because they would all land in the same minute, at an hour that account does not work. A count of what was lost is the safer outcome.
- Does mirroring my clicks into other windows count as automation?
- The timing comes from your hands, which is the honest advantage of it. What travels is narrow: clicks, typing, scrolling and page changes, and a window with another layout can miss a target silently.
Next to this
See what a flow can actually hold
The step list, the run log and the timetable all sit in the app itself.