Esta guia describe el bloque vigente de v3.0 para experiencia publica y links tokenizados: landing publica de la eleccion, recuperacion de links, nominacion desde organizaciones, apoyos, aceptacion/completitud de candidatura, votacion y resultados publicos. El contenido fue contrastado contra las rutas montadas, las paginas tokenizadas, PublicTokenBasePage, ElectionLinkRecoveryMode, PublicElectionRecoverLinkPanel, PublicElectionVisibilityResolver, PreElectionReportsPanel y los EJB/DAO que validan tokens y buscan coincidencias para recovery.
/token/public-election: landing publica principal de la eleccion usando Election.publicElectionToken./token/public-election-v2: variante alternativa montada en paralelo con el mismo token, pero hoy los links generados por dominio y utilitarios siguen apuntando a /token/public-election./token/organization/do-nomination: nominacion desde organizacion usando Organization.doNominationToken./token/nomination/support: confirmacion o rechazo de apoyo usando SupportNomination.token./token/nomination/tasks: link de aceptacion y luego completitud de candidatura usando Nomination.acceptNominationToken./token/vote: votacion usando UserVoter.voteToken./token/result: resultados publicos usando Election.resultToken./token/access-denied: pagina generica usada por todas las paginas tokenizadas cuando el token es valido pero la ventana aun no abrio, ya cerro o el switch manual esta bloqueado./token/audit* siguen vigentes, pero su detalle funcional ya quedo separado en la guia de auditoria.PublicTokenBasePage: primero validan el token, despues aplican la compuerta de calendario/flags y, si corresponde, redirigen a /token/access-denied.VOTE_NOT_OPEN, VOTE_CLOSED, RESULTS_NOT_PUBLIC o ACCESS_NOT_AVAILABLE.50 intentos fallidos antes de responder 429, y la cache de ese rate limit se limpia por scheduler.Election.publicElectionToken y exige publicElectionLinkAvailable=true.N_1_SINGLE_CALL_FOR_CANDIDATES_PUBLISHED y no tiene fecha de cierre propia.action: landing, candidate y roll. Tambien acepta aliases electoral-roll y padron para el modo de padron publico.action=candidate&candidateId=...; el padron usa action=roll&page=... y admite filtros country y orgname.Para consultar al ganador desde la navegacion publica: cierre la sesion administrativa, entre en Elecciones publicas y abra la eleccion. Tambien puede acceder directamente a /public-elections o usar una ventana privada; cerrar sesion no es un requisito de publicacion. Las condiciones de visibilidad y la diferencia entre tarjetas de ganadores y texto oficial se explican en Resultados y reportes.
N_1.N_11_SINGLE_CANDIDATES_PUBLISHED.N_4_SINGLE_PADRON_PUBLISHED.resultLinkAvailable=true y ya se alcanzo N_17_SINGLE_PROVISIONAL_RESULTS_PUBLISHED.N_11 y de que al menos una tarea lateral siga marcada como publica (PROFILE, COUNTRIES, ORG_SUPPORTS, USER_SUPPORTS_2, USER_SUPPORTS_5, ORGANIZATIONS).N_11 mas la bandera publicable de cada tarea. Ese detalle ya esta documentado en la guia de preguntas y declaraciones.publicLinkRecoveryMode debe ser distinto de NONE.publicElectionLinkAvailable=true y haber alcanzado N_1; el recovery no agrega un calendario propio adicional.NONE, ONLY_BR y ALL.ALL, independientemente del tipo. Los modos ONLY_BR y NONE siguen disponibles para configuracion explicita.ONLY_BR, la UI muestra una advertencia para participantes que puedan recuperar enlaces desde el portal historico de la organizacion.dataSiteKey, el formulario exige reCAPTCHA antes de procesar el envio.UserVoter.mail, Organization.membershipContactEmail y SupportNomination.supportingContactEmail.UserVoter.getTokenVoteLink() para cada coincidencia de la eleccion.Organization.getDoNominationLink(), pero solo para organizaciones que todavia tengan doNominationToken no vacio.SupportNomination.getSupportNominationLink().ONLY_BR aplica filtro por pais: en votantes usa UserVoter.country, en organizaciones usa Organization.country y en apoyos usa el pais de la organizacion que emitio la nominacion.10 coincidencias por tipo de link. Si un email aparece mas veces, el recovery no sigue mas alla de ese tope por categoria.LINK_RECOVERY, el backend usa un fallback trilingue armado en codigo./token/organization/do-nomination usa Organization.doNominationToken, depende de doNominationLinkAvailable=true y de la ventana N_2_PERIODO_CALL_FOR_CANDIDATES.PROPOSED, ACCEPTED_BY_CANDIDATE o APPROVED, la pagina sigue mostrando el estado historico pero bloquea una nueva nominacion./token/nomination/support usa SupportNomination.token, depende de nominationSupportLinkAvailable=true y tambien de N_2.ACCEPTED, REJECTED, APPROVED o INVALID, la decision queda bloqueada y la pagina pasa a modo informativo./token/nomination/tasks con Nomination.acceptNominationToken.AcceptNominationConditionsPage.nominationTasksLinkAvailable=true y de N_2_PERIODO_CALL_FOR_CANDIDATES.N_12_PERIODO_CANDIDATE_QUESTIONS./token/vote usa UserVoter.voteToken, depende de votingLinkAvailable=true y de la ventana N_16_PERIODO_VOTING.N_16 responde acceso denegado con cuenta regresiva al inicio; despues del cierre responde acceso denegado al fin de la ventana.AlreadyVotedPanel.ORGID en la otra eleccion del par.token1 o token2, la misma ruta entra directo al voto de la boleta seleccionada y evita la vista conjunta inicial./token/result usa Election.resultToken, depende de resultLinkAvailable=true y se abre cuando arranca N_17_SINGLE_PROVISIONAL_RESULTS_PUBLISHED.N_17, el acceso sigue disponible mientras no se corte manualmente el switch.PublicResultsPanel con idioma resuelto desde locale actual, y la landing publica puede ademas mostrar una tarjeta/resumen de resultados cuando ya se alcanzo esa misma etapa.Constants.URL, concatenando el contexto web y el segmento tokenizado correspondiente.ElectionsManagerApp, PublicTokenBasePage, PublicAccessDeniedPage, PublicElectionPage, PublicElectionPageV2, PublicElectionPageParameters, PublicElectionRecoverLinkPanel, DoNominationPage, SupportNominationPage, AcceptNominationConditionsPage, GenericAcceptNominationTasksPage, VotePublicPage, ResultPublicPage, PreElectionReportsPanel, PublicElectionVisibilityResolver, PublicElectionSnapshotBuilder, ElectionLinkRecoveryMode, PublicLinkRecoveryType, LinksUtils, Constants, UserVoterDao, OrganizationDao, SupportNominationDao, ElectionsManagerEJBBean, ElectionsVoterEJBBean, MailsSendingEJBBean y ElectionsManagerApp.properties.xml.