FARO · Methodology
How we measure analysts and automated systems
Everything that follows applies equally to human analysts and to automated systems: the same sealing rules, the same closing time limits, the same metrics and the same price source. The only thing that changes is who decides the signal, and that is labeled on every publication.
Each signal is sealed with the exact date and time of the server. During the following 5 minutes the analyst can correct a typo or cancel it (it is recorded and visible). After that window, the signal cannot be edited or deleted from the app; any exceptional administrative intervention is recorded and detectable. Win or lose, it stays in their track record. This rule exists because in the industry it is the exception: we analyzed 25 Spanish-language signal channels (Spanish) and none of them publishes the result of all its trades.
Canceled and expired signals remain visible, with their reason, but they do not count in the metrics.
The analyst never enters the price by hand. They can close a signal early, but the close is executed at the real market price of that moment and is recorded as an immutable, labeled event in their track record. It also closes on its own: a process checks the market continuously, and the close is decided by the 1-minute candle in which the touch happens, not by the instant the process looks. A few minutes may pass between the touch and the alert; the verdict does not depend on when we look:
- If the price touches the stop → loss recorded at the stop price.
- If it touches the target → gain recorded.
- If its maximum time limit runs out without touching either → close at that day's market price (winner or loser depending on the price). The time limit depends on the asset class — set by FARO, never by the analyst: forex 60 days · crypto 90 · indices 90 · commodities 120 · stocks and ETFs 180. It applies to every signal still alive; those already closed keep the time limit they closed with (60 days for those before Aug 1, 2026) and are not recalculated.
Early close: the analyst can close an active signal whenever they want, but they only decide the when: the price is the market price at that instant (if there is no price —market closed—, the close waits for the next real price; a manual price is never accepted). It is labeled as “closed by the analyst” on the signal, on their profile and in the alert.
Pending signals: the analyst declares one or two entry prices —the orders they are going to leave in place— and the signal only starts counting when the market reaches them. With two prices, the entry zone runs from the lower to the higher and is derived from them: it is not declared separately. If it does not activate within the validity the analyst declared —from 4 hours to 30 days, chosen when publishing and sealed with the signal—, it expires and does not count. The analyst can also withdraw the order before it fills, declaring a reason that is published with the signal: there was no position, so it counts neither as a win nor as a loss, but it does count as an entry not reached exactly as if it had expired — withdrawing it improves no metric. The signal stays in the track record with its status and its reason, and its followers get the alert, because someone may have that order placed with their broker. A position that is already activated cannot be withdrawn: it is closed at market price, with its result. Activation is detected by the system polling the market and reviewing 1-minute candles, so a few minutes may pass between the touch and the alert: FARO does not execute orders, it observes them. The entry that gets sealed is always a price that was really traded — the one at the touch, not the one at the moment the notification arrives.
And that is why FARO does not ask which account is being traded. Not the broker, not the account number, not whether the account is real or demo. The result of a signal is not taken from anyone’s execution: it is calculated against the market price, with the rules above and the same time limits for everyone. A strategy running on a demo account produces on FARO exactly the same figures as if it ran on a real one, because the figures come not from its trades but from the market. A piece of data that changes no published metric and that points to a specific person is not collected, and not collecting it is the only way to guarantee it does not leak. What is verified —and it is what holds the track record up— is the identity of the person accountable for each emitter, an emitter being the analyst or automated system that publishes a signal.
With two prices, the sealed entry is the average of the ones the market TOUCHED, never of the declared ones. If only the first is reached, the entry is that price; if both are reached, their average. The reason is that sealing the average of what was declared would attribute to the analyst an entry that did not happen, and the error could only work in their favor: a stop hit gives −1R whether one or both prices were filled (unless the market opened already past the stop, and then the real loss is recorded, worse than −1R). Until Jul 2026 pending signals were declared as a band instead of as prices; those remain in force and activate under their own rules —the first price of the band that is touched—, and on their signal page they are identified as a zone.
Return of a signal: (exit price − entry) / entry, with the sign depending on whether it is a buy (long) or a sell (short).
Entries reached (fill rate): of the signals whose activation is already known —those that reached their entry price plus those that expired or were withdrawn without reaching it—, what percentage got activated. Signals canceled within the 5-minute window and pending ones (still unresolved) are excluded. It measures whether the entries the analyst proposes are realistic.
Win rate: winning signals / closed signals. We show the real value (with no artificial caps) together with the sample size and its 95% Wilson confidence interval, which reflects the uncertainty when there are few signals: 7 out of 7 is 100%, but its interval runs roughly from 65% to 100% — that is why the honest figure is the interval, not the bare number. Labeled “provisional” with fewer than 20 signals and “verified” from 20 on; always accompanied by the sample size (“83% · CI 64–93% on 24 signals”). Ranking and divisions: every analyst appears in their division from day one (New while they build a track record). With fewer than 10 closed signals their row is marked “short track record” — their position is not comparable yet. This is different from the provisional/verified label of the win rate, which uses the threshold of 20.
R multiple (normalized risk): how much was won or lost per unit of risk taken. R = (exit price − entry) / (entry − stop), with the sign according to the direction: a +2R is a trade that won twice what it risked, and a stop hit cleanly is −1R. It exists because the % depends on the price of the asset and R does not: it is the only thing that lets you compare a gold trade with a trade in a stock. Three conditions, and they are what give it meaning:
- The stop is mandatory on every signal. Without declared risk there is no R, and FARO does not invent a denominator: the metric stays empty.
- R is calculated on the real exit price: the level touched, unless the market opened already beyond it. A gap that jumps the stop closes worse than the stop, so it gives worse than −1R, and that is how it is published — it is never rounded to the level so the statistics look nicer. Only the R of open signals is capped at −1, because while the position is alive the stop is still the maximum loss taken on.
- R is never published alone. It always comes with the win rate and the entries reached. The reason is concrete: a high average R with few entries reached does not describe someone who wins a lot, but someone who proposes entries that almost never get touched.
- And with the average distance of their stops. R measures the result per unit of declared risk, and the one who declares that risk is the analyst: two people with the same R can be an intraday trader with stops at 0.3% and a swing trader with stops at 8%. That is why the profile publishes how far from the entry, on average, they place their stops. FARO forbids no style —nor does it set a minimum for the stop—: it shows it, which is the same answer it gives to floating results and to small samples.
The % per signal stays: R is added, it does not replace. They are two readings of the same thing and both are visible.
How the ranking is ordered, and why. Within each division analysts are ordered by their cumulative mark-to-market R over the chosen period (12, 3 or 1 month): the sum of the R of their signals closed in that window plus the floating R of those still open, valued at the last price —for anyone who publishes in deferred mode, their deferred signals still alive do not count until they close—. Three consequences worth saying out loud:
- It is not ordered by the sum of returns —the sum of the % of the closed ones— because that number does not compare analysts, it compares assets: it puts a +2% in forex and a +60% in crypto on the same level, and it rewards whoever risks more per trade even if they trade worse. R normalizes by the risk that the analyst themselves declared when setting the stop. That sum is still published on every row, on the profile and on the shareable card: it changes role, it does not disappear.
- What is open scores. If the order only counted what is closed, you could climb the ranking simply by not closing the losers. That is why the key is mark-to-market, just like the headline of the profile. In exchange, the rank moves with the market: that is the price of it not being possible to dress it up.
- Anyone with no closed signal with a declared stop in the period goes to the bottom of their division, however good their floating R is. Their R is still shown in full, with the open signals that make it up; the only thing it does not do is overtake someone who does have a measured close. A floating result is not a result until the position is closed, a close without a stop has no R to measure, and this page asks who is worth following.
- Every row shows the same data, and where there is no data it shows “—”. Among them, the average distance to the stop: a high R achieved with very tight stops is not the same as the same R with wide stops, and without that figure alongside there was no way to tell them apart from the ranking.
- Without a stop there is no rank to defend. An analyst whose signals have no recorded stop cannot have R, and their row appears at the bottom of their division labeled “R not available” — never with a 0R, which would read as “neither won nor lost” when the truth is that it cannot be known. Their profile states how many of their closed signals have R.
And anyone who publishes in deferred mode stays in their division like everyone else. They compete in the same ranking and with the same figure: the R for the period, in which their deferred signals still alive —including the one waiting for its entry— do not count until they close; once closed, they come in with their real R, win or lose. It is neither a favor nor a penalty: their live result is a calculation between their entry and their stop, and publishing it —inside the figure too, which would move with the price— would reveal both. The trade-off, stated: while a loser is still alive it does not subtract, so in this figure one could climb without closing the losers; what limits that is the maximum time limit of each asset class, which closes at market whatever the emitter does not close, and the tier gates, where each of their deferred signals that has already been triggered does count as −1R (§5). Next to their name they carry a padlock, and their live signals appear in no list: only on their profile, covered, until each one closes and appears in full.
Scaled entries (only on pending signals): a signal can declare up to two entry prices. The cap is two and the reason is the seal: the sealed format stores the minimum and maximum of the zone, so with two prices everything declared stays inside the seal and anyone can verify it; with three, the middle one would be left out and would stop being checkable by a third party. It is still ONE signal: it counts once in the analyst’s track record and its R is measured against a single sealed entry. At market there are no tranches and that is not a limitation: the entry is set by the server at the real price of one instant, so two tranches would enter at the same price at the same time. FARO does not measure position size or the split between tranches —it does not observe portfolios, it observes prices—, so splitting 50/50 or 70/30 changes no FARO number: it changes the average price, and that is already in the sealed entry. Averaging well improves R —the entry goes down and the stop ends up closer, so the same target is worth more—, and a stop hit gives −1R whether one or both prices were filled —R is measured against the sealed entry, and the stop is at a fixed distance from it—, unless the market opened already past the stop: that gap closes worse than −1R, and it is recorded as what it was.
Targets: the signal closes IN FULL at the first target reached. There are no partial closes or exits in tranches: if a signal declares a second target (target 2), it is informational —it says how far the analyst thinks it can go—, but the trade closes entirely at whichever is touched first, and the result (% and R) is calculated on that single real exit. It is said explicitly so that nobody reads a target 2 as the promise of a staggered exit.
Published vs. closed signals: the signal counter and the division thresholds count what was published (open + pending + closed + expired + withdrawn; never those canceled within the 5-minute window). All the performance metrics —win rate, average per trade, drawdown, worst signal— are calculated on the closed ones, and are labeled that way everywhere they appear. They are two different things and they are not mixed. And each of those statuses has its place on the analyst’s profile —Active, Not activated (those waiting for an entry and, each in its own view, those that expired without the price getting there and those the analyst withdrew before they filled, with their reason) and Track record (closed)—: if a signal counts for the counter, it can be opened and read. A number that cannot be checked is worth nothing.
Total mark-to-market return: it is the complete figure and the only one FARO publishes as a headline. It adds the realized (the % of each closed signal) and the floating (the unrealized % of the open ones, valued at the last available price): total = realized + floating. It is calculated with the chart’s additive convention —the same amount per signal, without compounding or reinvesting—, so the sum is legitimate. Open signals without a price are not estimated: how many are left out is stated. Any image that leaves FARO (shareable card, link preview) carries the three figures with the same visual weight: a return that only counts what is realized hides what is being lost right now, and that is not transparency. The exception is anyone who publishes in deferred mode: their floating result is not published —it would reveal the entry and the stop of their signals still alive—, so for them there is no total mark-to-market, neither in the app nor in what leaves FARO. Their figures are only what is closed, labeled “realized”, and where the floating figure would go it says how many they have in play; whatever they are losing will be seen in full when each signal closes, and in the meantime each deferred signal that has already been triggered counts as −1R in the tier gates.
Average return per trade: the average return of the closed signals. It is an average, not a total: it cannot be added to the floating figure or read as the analyst’s result. It is always labeled “(closed)” and never as a headline.
% of early closes: of the analyst’s closed signals, how many they closed themselves before hitting stop or target. The early close is executed always at the real market price of the moment (never at a chosen price) and is labeled on the signal and on its timeline. It does not alter the win rate —a winner closed early counts as a winner—: the honest reading comes from the total return, the average per trade and this percentage together.
Maximum drawdown: how much R was given back from the best moment of the track record, measured on the cumulative R curve of the closed signals: if it reached +12R and fell to +8.6R, the drawdown is 3.4R. It does not require having been negative — it measures what would have been endured from the peak. It does not deduct fees. Closed signals without a stop are not included: without declared risk there is no R to accumulate, and estimating it would mean inventing the denominator.
Why in R and not in percent. An R is one unit of risk, so “I gave back 3.4R” means the same in gold as in a small stock, and it does not depend on where the cumulative figure stood. In percent, the same drop reads differently depending on how high the curve was — and measured as a sum of separate points, it exaggerates: 60 points on a portfolio that was at +300% is not losing 60%. That ambiguity had a concrete, not theoretical, consequence: the same analyst ended up with one drawdown on their profile and a different one on the image that is shared of them. One label, one definition.
These metrics, turned into the list of checks you can run on any analyst or channel —on FARO or elsewhere—, are in the guide How to tell if a trader is reliable: 7 checks (Spanish).
FARO publishes on five classes of asset: indices, forex, commodities (spot metals and energy), stocks and crypto. The class is derived from the symbol; the analyst does not declare it. It is deliberate: if it were self-declared, one could pick whichever suits them.
A closed list, not a blacklist. Publishing is only allowed on assets approved beforehand, and the list is maintained with an objective criterion, not at discretion: US stocks that belong to the S&P 500, S&P 400, S&P 600 or Nasdaq-100 indices and clear the liquidity floor (€1M traded per day on average) come in approved, and a weekly process re-verifies them (whatever stops qualifying goes out, with the reason recorded). Analysts’ suggestions and all other additions go through admin review. The only exception, limited and documented: a stock that arrives through automated integration and clears the floor goes into review, without being approved for everyone else. In indices, forex, commodities and crypto there is no exception by any route.
Spot before futures. Where a spot market with reliable coverage exists, the publishable asset is the spot: XAUUSD (gold), not the future. Futures expire and have to be rolled, and that introduces price jumps that come not from the market but from the contract: they muddy the track record. Where only a future exists —WTI and Brent crude, natural gas, copper, grains— signals are published on the continuous contract, and that is stated here.
Decimals: each instrument is shown with the decimals it really trades at: forex 5 (yen pairs, 3), gold 2, silver 3, US indices and stocks 2, European stocks by price band (Santander at 4.472 is written with 3). It is not cosmetic — with a fixed 2 decimals, an entry in EURUSD and its stop looked identical.
European stocks (eurozone): since Jul 2026 you can publish on the constituents of the IBEX 35, DAX, CAC 40 and a liquid selection from Amsterdam, Milan, Brussels and Lisbon — all quoted in euros. Honest coverage: the earnings calendar in the agenda uses a US source, so European stocks do not yet have earnings or macro data in the agenda, and we will say so when they do. London is left out for now (it quotes in pence and needs its own adaptation).
An automated process checks the real price continuously and closes the signal if it touches stop or target. That pace, crossed with each market’s trading hours, is what you need to keep in mind:
Pending entries: to activate them, the price at the instant of each check is not enough — the session’s candles are also reviewed: it starts at 1 minute and lowers the resolution only if the provider does not go back that far. So if the market reached the price between two checks, the signal is activated anyway and with the time of the candle in which it happened, not that of the check. In other words: how often we look does not shift what gets recorded — only how long it takes to show on screen. With declared prices, the recorded entry is the price the analyst declared, because that is where their limit order would be; with a band (pending signals before Jul 2026), it is the edge through which the price entered or, if the candle stayed entirely inside, its close. In both cases it is a price the market really traded. A pending signal that has already expired is not reactivated, and a second price keeps being watched even if the signal is already open by the first: until it fills or expires, the sealed entry can still change, and that is why the signal does not enter the integrity registry until it can no longer do so.
- Crypto: 24/7. It is always checked, weekends included.
- Forex: 24 hours Monday to Friday, with a weekend pause. Whatever happens between Friday’s close and Sunday’s open is not seen until that open.
- Indices and stocks: only during the session — the European one (9:00–17:30, Spanish time) and the US one (15:30–22:00) are both covered. Outside trading hours the price does not move for FARO, even if futures do trade.
- Spot metals: almost continuous Monday to Friday, with a short daily pause.
A gap is a price jump with no quotes in between: typically at the Monday open in forex, or after an earnings report. If the price opens beyond the stop, the signal is closed at the open of that candle —the first price at which it was really possible to get out—, which is worse than the stop. FARO records that full loss: the trade appears with worse than −1R and with its real %.
We could close “at the stop” and the statistics would look nicer. We don’t: it would be a price nobody could get. The same rule in reverse — if the gap is in your favor, the real gain is recorded, larger than the target.
“Verified” attests to transparency, not quality: 20+ published signals —open, closed, pending, expired and withdrawn; only those canceled within the 5-minute window are left out— with a complete track record and no return requirement, by design. It counts what was published because that is what transparency measures: every signal was sealed and immutable, however it closed. Not to be confused with the “✓ verified” seal on the win rate, which does require 20 closed signals: until that point the percentage is shown as provisional, because a small sample is not a result. The tiers also require track-record age —months since the first published signal; it can only be met by publishing and waiting— and the promoted ones (Featured and Elite), positive cumulative mark-to-market R over the last 12 months also excluding their best signal: so that the tier does not depend on a single extraordinary hit. Elite also requires it over 24 months. The “without the best signal” condition is binary (met or not): FARO does not print it as a figure or say how far it is from the threshold. It is not hidden data —anyone can calculate it by subtracting from the R of the last 12 months, which the profile publishes, that of their best signal in that window—; not printing it is not turning the threshold into a scoreboard to chase with the next trade.
And for anyone who publishes in deferred mode, each of their signals sealed in deferred mode that has already been triggered counts in those gates as −1R —the worst its stop allows— until it closes, whatever happens to its price; once closed its real R counts. The one still waiting for its entry counts 0, as in open mode: there is no position. Whether it has been triggered is not a secret: its status is public, even for a deferred signal. The ones they sealed in open mode count as in open mode. Its result while alive cannot be used without revealing its entry and its stop, and counting it as the worst possible loss reveals nothing, favors no one, and does not allow climbing without closing the losers.
What changed in v3 (Aug 15, 2026), and why. Until v2, Featured and Elite required a minimum win rate (55% and 60%). It was removed because it was the only gate an analyst could manufacture without breaking any rule —moving the target closer and the stop further away raises the win rate and makes the trade worse— and because it structurally pushed out the trend follower, who wins rarely and makes money on expectancy. The win rate is still published on every row and profile, with its sample and interval: it stops deciding tiers, not being seen. Previous ladder (v2): Elite 80+ signals · 60%+ win rate · mark-to-market R >0 (12m); Featured 40+ · 55%+ · R >0 (12m); Verified 20+. Assigned tiers are recalculated with the ladder in force — a tier is a snapshot of the present, not a lifetime title.
Why the gate is measured in R and not in the sum of returns. It is not the same condition written in another unit: it changes who gets promoted. One close of +50% with the stop far away (+0.5R) plus ten losses of −1% with very tight stops (−1R each) adds up to +40% in percent and −9.5R in risk. With the old yardstick that analyst went up a tier; with this one, they don’t. And it is measured mark-to-market —counting the open ones— because evaluating only what is closed would allow climbing by indefinitely not closing the losing positions. An analyst whose track record has no recorded stop cannot be promoted to Featured or Elite: the condition cannot be evaluated, and a stop is not invented for them after the fact. They stay in Verified if they meet its signal threshold, with their R coverage visible on their profile.
Tiers are derived live from these criteria on the real track record: when they stop being met (the 12-month R condition too), the tier goes down; when they are met again, it goes up. The weekly recalculation refreshes the stored metrics.
Prices: there is no single source, and which one is used is declared on every signal. Each asset class is measured with the provider licensed for it; where no such provider exists, the signal is published anyway and its page says what it was measured with. An asset is never measured with one source and presented as if it were another.
- Grade A · measured and licensed. Forex, metals, cryptocurrencies and US stocks and ETFs → Twelve Data. Checked asset by asset, and not with two easy examples: on September 14, 2026 all 32 securities with a signal still alive were probed, and all 32 return the full session from their real exchange.
- And the limit of that measurement, which we would rather write down than leave assumed: in some securities there are minutes with no range —the price did not move, or there were no trades—, and in a minute like that it cannot be seen whether the price touched a level inside it. In most they are zero or nearly so; in the worst, a third of the session. It is a trait of the asset, not of the provider, but it changes what a measurement can claim and that is why it is on record.
- And the second limit, the one most noticeable in metals and forex: the spot market does not trade on a central exchange. There is no “price of gold” at a given time: each provider aggregates its own, and two honest aggregations give different extremes for the same minute. FARO measures with the source it declares on each signal page; your broker’s may see a level touched that ours did not see — and the other way around. When a level is very close, that difference decides, and it decides in both directions: sometimes it closes a stop that did not trigger on your screen, and other times it counts as reached a target that on your screen fell a hair short. It is the price of the measurement being the same for everyone: a track record measured against each analyst’s broker would not be comparable between analysts or reproducible by a third party, which is exactly what makes it worth something.
- And what we do when that difference is minimal. If the source declared on the signal page does not reach a level by a very small difference and other independent sources do count it as reached, FARO resolves in favor of the level reached. It is not automatic: a person decides it, case by case, and it is recorded on the signal’s timeline, with the sources that back it, so anyone can see it. It applies equally to targets and to stops: the same rule that sometimes rescues a target is the one that other times counts as touched a stop our source did not see. A criterion that could only improve results would not be a criterion.
- Futures → Twelve Data, and the measurement does NOT back it. We say so because it is what there is: when probing the three contracts in our track record (September 14, 2026), one is not included in our license and the other two return data from a stock exchange — that is, a listed security with a similar name, not the contract. A future does not trade on a stock exchange, so that cannot be used to count a level as touched, for the same reason a broker’s CFD would not be valid. It affects 5 of the 208 signals published up to September 14, 2026, and none is still open: the warning is about closed track record, not about any position still open. Those five stay in the track record with it —withdrawing them would be deleting what we do not like— but no new futures are accepted until there is a measurement that backs them: the system rejects them when publishing, and the block is lifted on its own the day the route is verified. In the meantime, treat a verdict on a future as not backed by the measurement.
- Grade B · indicative source. Indices and European stocks → Yahoo Finance, unlicensed. It does not mean “unmeasured”: they are measured and published, and the signal page says so, naming the source.
- Grade C. No measurement: it is not on record who measured it. The signal page says that too.
Why there is a grade B and we don’t make everything grade A. In indices and European stocks the data belongs to the exchange (S&P, Deutsche Börse, BME) and its market-data license exceeds FARO’s budget before revenue. It is not a technical limitation and we do not disguise it by raising the grade: it is more honest to publish the signal saying the source is indicative than to withdraw it or present it as verified. In indices, moreover, a level is only reproducible by a third party if it is measured against the official index and never against a broker’s CFD, because each broker carries its own spread inside it and two brokers give two levels for the same instant.
Frequency: continuous and every day of the year, nights and weekends included — forex and cryptocurrencies do not close, and an engine that only looked during exchange hours would leave unmeasured exactly where things move most. We do not publish a number of minutes: it depends on the provider’s quota and would change without this page finding out.
The path drawn on a signal still alive is screen price: one observation per hour, to show where the position is going. It is not the source used to decide whether a level was touched, and it is not used to calculate any result — that always comes from the session’s candles.
A close is not recorded at the price of the poll. The system reads the session’s 1-minute candles and looks in the range of each one (high and low) for whether the stop or the target was touched; when it finds it, it records the level, and as the date, that of that candle — not that of the moment it is detected. That way a touch does not depend on the poll landing at the right instant, and the published price is the one the signal declared.
Two exceptions, and neither favors the analyst. If the candle opened already past the level —a gap— there was no way to execute there, and its open is recorded: worse than the stop when it goes against, better than the target when it goes in favor. And if the same candle touched the stop and the target, within it it cannot be known which came first: the stop prevails.
And that rule also covers the candle that activates a pending signal: if in it the price enters and also touches the stop or the target, the signal is activated and closed with that same candle. It gains no immunity from having entered in it, and if it touches both, the stop prevails just as in any other.
Technical detail and exact formulas, open in docs/metricas.md (in Spanish), inside the public registry.
An emitter publishes in one of two modes, and the mode belongs to their account: it is not chosen signal by signal, because choosing it signal by signal would mean keeping what looks good and hiding the rest — exactly what this site exists to prevent. The two modes are not on the same terms, and that is said here and not in the fine print: open mode is free and deferred mode is a paid service.
Open. The parameters —instrument, direction, entry, stop and target— are visible from the first moment. It is the default mode.
Deferred. It exists for anyone who sells their signals on their own and for whom publishing them in the open would give their product away. While the trade is alive, in public only the fact that a sealed signal exists, who issues it and when it was sealed is on record —and, if it is a pending order, whether it has already been triggered and when—. The instrument, the direction and the levels —entry, stop and target— are not visible. When the signal reaches a terminal state everything is revealed: instrument, direction, entry, stop, target, opening time, closing time and result. Win or lose.
Four things worth being clear about in deferred mode, because they are what keep it from being a hiding place:
- Nobody decides the reveal: the signal’s status triggers it. The emitter cannot hold it back, postpone it or cancel it: the button does not exist, not for them and not for us.
- It is a delay, never a cut. What is revealed is the full detail, the same fields an emitter publishes in open mode. There is no summarized version.
- What never got to enter is also revealed. A signal that expires without activating reveals its levels just the same. If it were not so, publishing plans far from the price would be the cheap way of never showing anything.
- That the signal exists and when it was sealed is always public, and on purpose. An emitter cannot hide that a signal of theirs exists: that is what prevents discarding a loser. If we could also hide its existence, an emitter could seal ten and show the three that went well.
What deferred mode protects, and what it does not. It protects entries in real time: while the trade is open, nobody can copy it or get in front of it. It does not protect the strategy. The protection window lasts exactly as long as the trade lasts, and when it closes the full detail is published — public, indexable and open to study like that of any other emitter, as is their whole track record. Anyone who wants to work out how an emitter trades from what has already been revealed can do so, and deferred mode does not stop them.
What it costs, and why this and not verification. Publishing in open mode is free forever and will never be charged: no trial period and no clock, and verifying a signal costs nobody anything, neither the emitter nor whoever checks it. Deferred mode is a paid service, the same for people and for agents, and anyone who has it active within the first three months from the start of charging keeps the entry price for as long as they keep it. The reason for charging here and nowhere else is that nobody needs to defer to prove what they do: one defers in order to sell. Nothing is charged today; the fee will be published before the first charge.
FARO takes no part in what an emitter charges their subscribers. The fee is fixed and never a percentage: the profile links out, and the money goes outside of here. An operator’s first agent is also free; from the second on, the same condition as deferred mode applies.
An emitter in deferred mode does not publish floating returns —not in %, not in R, not inside a mark-to-market total— while their signals are alive. They compete in the ranking with everyone else, where their deferred signals still alive do not count until they close; in the tier gates, each one that has already been triggered counts as −1R until it closes (the one waiting for its entry, 0). The reason is arithmetic, not judgment: the live return of a signal is a calculation between its entry and its stop, so publishing it would be publishing the two numbers deferred mode hides.
Changing mode, and what happens to what is already published. Choosing the mode ties you to nothing: as long as an emitter has not sealed any signal in deferred mode, they can change it as many times as they want. Only the six months from their first signal sealed in deferred mode count, not from when it is chosen. Switching to open mode is free and immediate, always; going back in starts a new period. Each change is recorded with its date in the profile’s public history.
The mode a signal is sealed with is immutable, so none changes mode along the way: a change only affects those published afterward. A signal sealed in open mode is never hidden, and one sealed in deferred mode is revealed just the same even if its emitter is no longer in that mode. That is why the mode each signal was sealed with is shown on its signal page.
Everything above is still a claim of ours as long as only we say it. That is why every sealed signal has a SHA-256 cryptographic fingerprint published in a public repository that nobody at FARO controls individually, chained day by day and sealed on Bitcoin. Here is the whole system, piece by piece — without summarizing, because the fine print is the product.
And with a deferred signal that fingerprint works differently, so it is said here and not only in the fine print. While the signal is alive, neither the instrument, nor the direction, nor the levels are public, so its fingerprint cannot be recomputed from outside. In that stretch the fingerprint is a commitment published by FARO, not a third party’s check: FARO commits to it when the signal is sealed —it publishes its commitment in the registry, the fingerprint alone, without the instrument, the direction or the levels, with its own timestamp proof— and the chain later anchors that same fingerprint in its usual window, the one explained on this same page. For the commitment there are two deadlines set before measuring them: reaching the registry at most 15 minutes after the signal is sealed, and being dated in a Bitcoin block within 24 hours of its publication. They are targets, not measurements: they will be measured with the first real deferred signal, and until then we do not consider them met. When the signal reaches a terminal state everything is revealed —including the random number that prevented guessing its fingerprint— and from that moment anyone can recompute its fingerprint and check that it matches the committed one. It is the concession that makes deferred mode possible: during the window that fingerprint is a claim of ours, and saying so here is part of the deal.
What is sealed exactly, field by field
From each signal in open mode a canonical text of 15 lines is built, always the same ones and in the same order: the format version (faro-sello-v1) and the fields id · analista · simbolo · direccion · tipo · entrada · zona_min · zona_max · stop · objetivo1 · objetivo2 · publicada · metodologia · tesis_sha256. The signal’s fingerprint is the SHA-256 of that text. Rules that make it reproducible by anyone: numbers are copied character by character from the original data, never reformatted (reprinting a decimal gives different results depending on the language); an empty field leaves its line present and empty; the analyst’s thesis enters through its own SHA-256, so the full text of the analysis is committed without publishing it twice; UTF-8 encoding, LF line breaks, final line break included. A signal under deferred publication carries the same text with one more line at the end, nonce=: 32 random bytes that are born with the signal, without which its fingerprint could be guessed by trial while its data is not public, and which are revealed with them. That is why its first line says faro-sello-v2, and everything else is identical, line by line, except one: if it is a pending order (at a zone or with staged entries), its entrada= line is empty. That entry is not decided by the emitter: the market sets it when it touches it, after sealing, and so the fingerprint FARO commits on publication day is still the same one when it is revealed. If the format ever changed, it would carry a new version in its first line: what is already published keeps being verified with the rules of its own, nothing is recalculated.
The cycle, hour by hour
A signal is published and after 5 minutes it is sealed (§1: no editing possible from the app). When its UTC day ends, the next morning an automated process takes all the public signals of that day, computes their fingerprints —for a deferred signal still alive it takes the one from its commitment, because its data is not public yet—, sorts them and produces the day’s digest: the SHA-256 of a block that includes the previous day’s digest — that is why altering an old signal breaks every later digest, not just its own. A day with no signals publishes a digest anyway: a gap would be indistinguishable from a deletion. The day’s file is published in the registry and sealed with OpenTimestamps; hours later, when Bitcoin confirms, the proof is complete. That process uses no read credential: it consumes the same public API as any browser, so a third party can run it and get the same result byte for byte. A deferred signal’s commitment is written by another process, and it is the only one with a read credential, read-only: it reads, for every public signal, the columns its fingerprint needs —including the ones the public read withholds—; it has no write permission on any FARO table, and it cannot write or run anything that anyone with the anon key cannot already write or run.
Where each piece lives
The registry is github.com/teaminvestx-oss/faro-integridad: one file per day (AAAA-MM-DD.txt) with the canonical text and the fingerprint of each signal; cadena.txt, the index of chained digests; indice.txt, the signal→file lookup; the timestamp proofs .ots; the commitments of signals under deferred publication (compromisos/AAAA-MM/<id>.txt, each with its .ots, and the workflow that writes them, with its runs in plain view); and the generator itself (tools/sellar.mjs) with these rules in commented code, so nobody has to trust this page. Cloning the repository means keeping a copy: from that moment you do not depend on ours not changing.
How you check it, from less to more technical
(1) On the page of any signal published in the open, the “Check that it has not changed” button: your browser recomputes the fingerprint from the public API and compares it with the one published in the registry — FARO takes no part in the calculation. (2) By hand: copy the canonical text from the day’s file and run sha256sum on it; it is arithmetic. (3) The full audit in one command: clone the registry and run node tools/sellar.mjs --check — it recomputes all anchored signals against the public API —those of a deferred signal still alive, as soon as they are revealed: until then it checks that what was anchored is its commitment— and flags any discrepancy. (4) The time: download a file and its .ots and drag them into opentimestamps.org. The step by step, with a real example, in Check it yourself.
And if we ourselves touched something
The daily process recomputes the fingerprint of everything already anchored and compares it with the published one —for a deferred signal still alive it can’t: it checks that its commitment still says what was anchored, and recomputes it as soon as it is revealed—. If a sealed signal stopped matching, the incident is written inside the public registry —with the signal, the original fingerprint and the new one— and the process fails in red. A system that detects this and keeps quiet would be worth nothing; ours publishes it first and fails afterward.
What it does NOT prove — and this goes here because an integrity system sold above what it does is worse than not having one:
- It proves that a record has not changed since it was sealed. It does not prove that the data was correct when it was sealed: an entry captured wrong stays anchored just as wrong.
- Price integrity depends on the price source —the licensed provider for each class, or Yahoo Finance where there is none (§6)—, not on the fingerprint. This fixes what we said, not what the market did.
- A signal deleted before being sealed leaves no trace in the chain. This protects what was published; it does not prove there was nothing else.
- The seal fixes what the signal declared, not what it lacks. If a signal was published without some field —the direction, the thesis—, its line in the canonical text is empty, and that is how it stays sealed: the gap is part of what was signed and is visible to anyone who pulls its payload on this very page. An external auditor detected it on August 15, 2026 and their reading was correct. What we have corrected is not the format —changing it would invalidate every fingerprint already anchored— but something worse that they did not get to see: the app filled that gap with “long” by default and published a return calculated on that assumption. Not anymore: where the direction is not on record, it says it is not on record and no result is calculated. No signal published since then can have those fields empty — publishing requires them. The scope, with the numbers up front: 27 of the 92 signals published up to that date were sealed without direction or thesis, and all 27 belong to the founder’s seed account (the one that does not compete and does not enter any public aggregate). The platform’s analysts have none: their track record was complete. Those 27 stay as they are —correcting the data would change their fingerprint and break verification against what is already anchored, which is exactly what this system exists to prevent— and their profile says so. There is a second case, of another kind and also uncorrected: Integrity note no. 1.
- Anchoring starts on the day of the first digest —the first line of cadena.txt, marked inicial—. The earlier signals were incorporated all in one block that day: for them this proves they have not changed since that day, not since they were published. Pretending otherwise would be exactly what this system exists to prevent.
The anchoring window. The chain runs by full UTC days: a day’s file is generated the next morning, once that day has closed. In other words, what is published today is anchored tomorrow. The job is scheduled for 03:10 UTC, but GitHub Actions starts it late, and what counts is when it really comes out: in September 2026, between 07:30 and 09:00 UTC. In the worst case —a signal published just after UTC midnight— it is about 33 hours, and more on days when the delay is longer or the job fails, which has happened. In that window the integrity of a newly published signal still depends on our word and on the event log, not on these fingerprints. Its signal page says so while it is in that situation.
And the when is attested by Bitcoin. Each daily file in the registry is sealed with OpenTimestamps: its fingerprint goes, aggregated with thousands of others, into a Bitcoin transaction, and the proof (.ots) is published next to the file. From then on, “this record existed on that date” is proven by the blockchain — not by us, not by GitHub, whose commit dates are set by whoever signs. You can check it without installing anything: download a file and its proof from the registry and drag them into opentimestamps.org. Its nuances, here too: the proof is born pending and is completed when Bitcoin confirms (hours); the files already published when sealing was activated were proven from their sealing, not from their publication (each proof carries the exact date inside); and none of this proves that the data was correct when it was sealed — only when it existed.
What this seal proves, and what it does not. It proves when: that the signal was published with its levels before the result was known, and that the registry has not been altered since. That is what makes a track record mean something. It does not prove the price was correct. The candle that decided the verdict belongs to the provider that served it and its license does not allow us to show it, so the measurement can be described —who measured, with what instrument and at what resolution— but not reproduced here.
That is why when a signal is verified with a declared source, its signal page names it, with the provider and its grade. Those published before that record existed do not carry it, and their signal page names no source instead of assuming one. An analyst who sees another price at their broker is looking at another source: it is not that one is false, it is that there are two, and when the signal page names one, that is the one that rules on FARO — the same for everyone.
How to apply all this when choosing whom to follow: How to tell if a trader is reliable: 7 checks (Spanish) →
And what we found when we looked at the industry with this yardstick: We analyzed 25 Spanish-language signal channels: this is what they don’t publish (Spanish) →