IFT-TS 2026/09/21
top highlights
- P2P and DST teams prepare and test release 2.4.x.
- QA team started LEZ Atomic Swaps QA audit.
- INFRA team upgraded the LEZ release on logos.dev.
team highlights
- BI: Continued work on LEZ testnet data transformation and its dashboard.
- BI: Continued work on Blockchain testnet data transformation and its dashboard.
- BI: Started a dashboard for Logos website analytics.
- BI: Created an initial Comms funnel dashboard after meeting with the team.
- DST: Restored Blend traces in Tempo and started building the benchmarking experiment and analyzer.
- DST: Moved remaining system workloads to metal-01 after reducing CPU reservations.
- DST: Ran nim-libp2p v2.4.0 regression tests and found a potential mesh formation issue in Shadow.
- DST: Tested Logos Delivery at full scale, with complete delivery through relay, lightpush, filter, and store.
- INFRA: Upgraded the LEZ release on logos.dev.
- INFRA: Fixed the signing extension check for Logos module releases.
- INFRA: Disabled QUIC temporarily on Lido worker nodes to avoid crashes.
- INFRA: Merged the Nix shell for Status-app Linux builds.
- INFRA: Fixed cache collisions in status-go builds.
- INFRA: Deployed Wazuh agents to macOS CI workers.
- NIM: Merged the Nimble 0.26.0 version bump and opened the update to Nim’s bundled Nimble.
- NIM: Fixed nimlangserver crashes and races in workspace configuration.
- P2P: Added standalone Mix intermediates with shared RLN proofs.
- P2P: Exposed QUIC engine configuration through the nim-lsquic API.
- P2P: Troubleshot nim-libp2p release 2.4.x.
- P2P: Reduced repeated nim-libp2p logs and added summaries for batched operations.
- P2P: Added connection attempt ranking by relay use and transport.
- P2P: Fixed service discovery cache handling and made Kademlia bootstrap non-blocking.
- QA: Manually tested Logos Basecamp v0.3.0_rc2 and shared six comments with developers.
- QA: Continued LEZ sequencer registration tests and chained-caller test prerequisites.
- QA: Scanned LEZ Atomic Swaps for security and specification compliance; manual testing continued.
- QA: Added Status Desktop Keycard tests for recovery, PIN blocking, factory reset, and WalletConnect signing.
- QA: Worked on measuring Status Desktop message send times.
- QA: Reported a Status Desktop crash when opening Discover Communities with unknown curated communities.
- SEC: Closed the macOS CI incident after confirming reinstalls, firewall hardening, and a clean indicator sweep.
- SEC: Triaged 16 audit findings, prioritizing high-severity issues.
- SEC: Finished treasury incident runbook updates after the first live secure multisig signing.
- SEC: Completed the treasury wallet index reconciliation and confirmed outstanding signatory removals.
- SEC: Reviewed merged Status changes for WalletConnect, Keycard, CI, and browser downloads.
- SEC: Issued three LEZ findings and began reviewing Atomic Swaps.
- TKE: Continued the report on the Logos token buyback-and-make model.
- TKE: Reviewed the current Keycard SNT incentives proposal and built a dashboard.
- TKE: Reviewed token sale research and addressed feedback.
- TKE: Finished the document on mechanisms connecting culture and economics.
- TKE: Explored B2B opportunities with EcoDev using the previous brief as a case study.
- TKE: Analyzed liquid staking priorities and wrote a report.
- WEB: Completed the Field Station page with application links, partner details, and accessibility fixes.
- WEB: Shipped the PriFi page and added links throughout the Logos website.
- WEB: Added Life’s Choices and Mike experiences to Past Present Future and fixed the desktop video.
- WEB: Continued the Logos media migration, adding archive navigation and podcast feeds.
- WEB: Added API provider monitoring for seven regions, with overall status reflecting the worst regional result.
- WEB: Worked on moving the Logos funnel form API into a separate project.
ift-ts:bi:
ift-ts:bi:status:2026q3-status-scam-detection- Continued work on the Hermes connection.
ift-ts:bi:logos:2026q3-logos-testnet-monitoring:lez- Worked on LEZ testnet data transformation and the dashboard.
ift-ts:bi:logos:2026q3-logos-testnet-monitoring:blockchain- Worked on Blockchain testnet data transformation and the dashboard.
ift-ts:bi:logos:2026q3-logos-movement-crm- Started a Logos website analytics dashboard.
- Met with the Comms team about a new funnel dashboard and created an initial dashboard: tracking issue.
ift-ts:dst:
other notes- Meetings and task tracking
- OOO: 4 CC days.
ift-ts:dst:logos:2026q3-blockchain-evaluation:blendnet-benchmarking- Discord Thread: Blend Benchmarking task
- Deployed the new image provided by Gusto, fixing trace injection so traces now reach Tempo.
- Started developing a 10ksim experiment and analyzer.
- Added Grafana Tempo API data puller to extract block proposal timestamp, block applying timestamp
ift-ts:dst:ift:2026q3-dst-tooling:slow-proof-analysis- Github PR: Move System workloads to Metal-01 - #51 (open)
- Github Commit: reduce system workload cpu request
- Reduced System workloads CPU requests and forced remaining system workloads (grafana, rancher) on metal-01.
- Metal-01 now has spare CPU reservation capacity.
- Github PR: Move System workloads to Metal-01 - #51 (open)
ift-ts:dst:ift:2026q3-dst-lab:analyze-current-stack- Started developing automatic pushes to the DST dashboard after experiments.
- Implemented a new login path for the GitHub workflow.
ift-ts:dst:ift:2026q3-libp2p-evaluation:regression-testing- Ran the nim-libp2p v2.4.0 regression: the cluster matrix, WAN profile, adverse scenarios and Shadow. Written up in the v2.4.0 regression report.
- Found a potential issue with mesh formation at the default connection cap in Shadow. Tested the P2P team’s admission probe bypass branch and two connection manager settings, added to the report.
- Fixed the network partition scenario so the split is in place before the network forms, and reran it.
- Made the Shadow log copy retry and keep the run data when the copy fails.
ift-ts:dst:logos:2026q3-messaging-evaluation:logos-delivery-node- Ran the mixed node scenario at full scale with relay, lightpush, filter and store all at complete delivery. Written up in the full delivery report.
- Added delivery latency per path and resource metrics per node type to the analysis pipeline. PR not created yet.
ift-ts:dst:ift:2026q3-dst-tooling:general-tooling- Rebased the post-run metrics and plots PR onto master.
ift-ts:infra:
develp- Created common
infra-modulesto share between fleets - Deployed Lido Validator exit tooling on
masterhosts - Multiple improvements to fleet CI and NixOS system diffs
- Reviewed usage of official Nimbus service NixOS definitions
- Ongoing work to migrate metrics setup to Thanos and S3 storage
- Created common
lido- Pursued Finance to map CMv1 operator to CMv2 for consolidations
- Resolved attestation miss spikes by redirecting KAPI queries
- Resolved
geth-04nim-chronosbug delays by restarting VC - Resolved issues with ZFS force import at boot setting
- Deployed Validator Ejector upgrade and oDAO Oracle list update
- Temporarily disabled QUIC on Lido worker nodes to avoid crashes
- Ongoing research into Lido 0x02 CSM testnet participation
staking- Cleanup of unused Charon service components from fleet
- Research into first proposal with timing games enabled
- Identified Nimbus beacon node patch bug and fixed it
rocket- Setup of new hosts for running Rocketpool with NixOS
- Identified bottleneck in Nimbus beacon node API responses
logos- Fixed Logos modules release signing extension check
- Worked on Logos Modules template and releases pipeline
- Adding Attic Nix cache to more repositories
- LEZ release upgrade on
logos.dev, pipeline research - Created new dashboard for Logos testnet participation
- Ongoing communication to finish DigiCert org verification
status- Finally merged Nix shell for Status-app Linux builds
- Improvements to Status Bot metrics, engagement features
- Help with new Status App release branch methodology
- Fixed translation generation conflicting with app builds
- Resolved cache collision issues in
status-gobuilds - Fixes for Status Keycard E2E PR Jenkins job
nimbus- Adjusted Libp2p nodes to help debug QUIC crash issues
- Fixed duplicate settings in
nimbus-eth2NixOS service - Deployed
flockto disable Doppelganger detection on testnets - Re-generated Hoodi testnet validator keys to reduce downtime
- Importing of
nimbus-eth1data and timers to generate ERE files - Configured hosting for the newly generated ERE files
- Fixed GH Cloning issues with read-only token credential
- Resolved
nimbus-eth1peer issues discovered on Sepolia - Fixed Nimbus ES cluster logs cleanup script without credentials
office- Researched OpenKM metadata updates for Legal team
sites- Disabled renewal on multiple domains after verifying
ci- Published postmortem on Status Discourse on attacked macOS hosts
- Resolved Hetzner S3 storage failures by tuning s5cmd flags
- Updated Nim versions on CI hosts to match Status-App requirements
- Deployed Wazuh Agent to macOS CI slaves
hq- Research into NetBird as VPN solution for IFT infra
- Research into Vault upgrade and encrypted snapshots
- Improvements to WireGuard Consul check in timeout case
- Research into Netdata losing volume mount metrics
- Refactoring of Wazuh roles to use new Vault PKI certs role
ift-ts:nim:
ift-ts:nim:ift:2026q3-nimble:nimble-1.0.0- Bump version 0.26.0 (nim-lang/nimble#1867) (merged)
- Stop tracking .claude/ local Claude Code config (nim-lang/nimble#1866) (merged)
- Explain missing packages, drop the duplicate resolution error (nim-lang/nimble#1864) (merged)
- Re-solve when a requirement moves onto a commit pin instead of keeping the old release (nim-lang/nimble#1863) (merged)
- Stop re-prompting to download a Nim that is already in the binaries dir (fixes #1855) (nim-lang/nimble#1861) (merged)
- Fix tests
- Remove import
- Make
nimble dumpread-only: never install Nim (fixes #1857) (nim-lang/nimble#1859) (merged) - Update copyright to new files introduced since the Nim team took over. (nim-lang/nimble#1858) (merged)
- Update NimbleStableCommit to version 0.26.0 (nim-lang/Nim#26245) (open)
- Update nimble update command to use packageListOnly which is the previous behavior
- Merge branch ‘devel’ into patch-14
ift-ts:nim:ift:2026q3-nim-core-libs:maintenance- status-im/nim-chronos#741 Fix
POSIX_SPAWNflags & avoid inheritingSIG_IGNin spawned processes (open) - nim-lang/langserver#466 Replace
Future[Nimsuggest]->NimsuggestinProject(open) - nim-lang/langserver#467 Bump Nim to 2.2.12 (merged)
- nim-lang/langserver#465 Stop nimsuggest on startup timeout (merged)
- nim-lang/langserver#461 Fix workspace configuration races and crashes (merged)
- nim-lang/langserver#464 Add missing
ideDeclarationtosuggestapi(merged) - nim-lang/langserver#463 Fix
executeCommandcrashes (merged) - nim-lang/langserver#462 Fix nested waitFor on termination (merged)
- nim-lang/langserver#460 Fix request on non-initialized
lscrash (merged) - nim-lang/langserver#459 Fix nph missing path crash (merged)
- nim-lang/langserver#458 Fix mcp crash when
structuredContentis absent (merged) - nim-lang/langserver#455 Annotate all raises (merged)
- nim-lang/langserver#457 CI avoid cancel master workflows (merged)
- nim-lang/langserver#456
utilsclean up (merged) - nim-lang/langserver#446 Remove all nested
waitFor(merged) - Addressed Andreas’s comment on the Nimsuggest PR
- nim-lang/Nim#26226 (open)
- Addressed Esteban’s comments in the langserver PR
- nim-lang/langserver#453 (merged)
- Reported a nimsuggest issue with nimbus-eth1
- status-im/nim-chronos#741 Fix
ift-ts:p2p:
ift-ts:p2p:ift:2026q3-anoncomms-unified-networking- adklempner/logos-execution-zone#1 fix(wallet): scale fee cap with configured gas limit (open)
- logos-co/logos-libp2p-mix-rln#3 build(mix)!: use merged shared-only FFI from main (merged)
- logos-co/logos-libp2p-mix-rln#2 feat(mix): add standalone intermediates with shared RLN proofs (merged)
- logos-co/nim-libp2p-mix-ffi#2 feat: run Mix on a standalone libp2p switch (merged)
- logos-co/logos-rln-modules#27 feat(rln): accept Mix proofs with a derived external nullifier (open)
- logos-co/logos-delivery-module#125 feat(mix): expose native Mix routing with a shared RLN backend (open)
- logos-messaging/logos-delivery#4282 feat(mix): use shared RLN proofs for native Delivery routing (open)
- logos-co/nim-libp2p-mix#58 feat(mix): support intermediate roles and standalone host APIs (open)
- logos-co/mix-rln-spam-protection-plugin#22 feat(rln): add a shared backend adapter for Mix (open)
ift-ts:p2p:ift:2026q3-nim-lsquic-configuration-settings:nim-lsquic-api- vacp2p/nim-lsquic#170 feat(quic): expose engine configuration (merged)
ift-ts:p2p:ift:2026q3-nimlibp2p-maintenance- status-im/nimbus-eth2#9060 chore: bump nim-libp2p and nim-lsquic (merged)
- vacp2p/nim-libp2p#3090 fix(muxers): preserve yamux framing when discarding stream data and remove redundant guard (merged)
- vacp2p/nim-lsquic#148 docs(connection): clarify shutdown semantics (merged)
- vacp2p/nim-lsquic#150 docs(io): correct packetIn return contract (merged)
- Troubleshot nim-libp2p release 2.4.x.
- Monitored libp2p nodes.
- Reviewed libp2p specifications.
- vacp2p/nim-libp2p#3128 chore(hole-punching): remove arbitrary await (merged)
- vacp2p/nim-libp2p#3120 chore(protobuf): add macro for generating protobuf extension for
seq[byte]types (merged) - vacp2p/nim-libp2p#3139 test(kad): routing, netsize and codec helpers, builder setters, PeerBook handlers (merged)
- vacp2p/nim-libp2p#3138 fix(mplex): flaky read/write receiver tests (merged)
- vacp2p/nim-libp2p#3115 fix(interop): build peers before they run (merged)
- vacp2p/nim-libp2p#2071 chore: run cbind examples and a test_all job under AddressSanitizer (merged)
other notes- Listed Q4 commitments.
- arnetheduck/nph#129 fix: chained dot expr formatting (open)
ift-ts:p2p:ift:2026q3-nimlibp2p-log-noise-reduction- vacp2p/nim-libp2p#3141 chore(logs): improve
inforelated logs (merged) - vacp2p/nim-libp2p#3140 chore(logs): tune logs for kademlia & service-discovery (merged)
- vacp2p/nim-libp2p#3132 chore(logs): improve logs for pubsub (merged)
- vacp2p/nim-libp2p#3133 chore(logs): fix noisy switch logs (merged)
- vacp2p/nim-libp2p#3129 chore(logs): add logs message check (merged)
- vacp2p/nim-libp2p#3122 chore(logs): add log summary for batched operation (merged)
- vacp2p/nim-libp2p#3121 chore(logs): improve pubsub.Message shortLog (merged)
- vacp2p/nim-libp2p#3119 chore(logs): standardize topics (merged)
- vacp2p/nim-libp2p#3141 chore(logs): improve
ift-ts:p2p:ift:2026q3-nimlibp2p-dial-ranking-backoffs:dial-racing- vacp2p/nim-libp2p#3110 feat(dialer): rank dials by relay and transport (merged)
ift-ts:p2p:ift:2026q3-nimlibp2p-result-error-handling:result-conversion- vacp2p/nim-libp2p#3144 chore(result): connectivity clients (open)
- vacp2p/nim-libp2p#3142 chore(result): wstransport (open)
- vacp2p/nim-libp2p#3136 chore(result): upgrade managers and dialer return Result (merged)
- vacp2p/nim-libp2p#3143 chore(result): quic transport (open)
- vacp2p/nim-libp2p#3137 chore(result): tcp and tor transports return Result internally (merged)
- vacp2p/nim-libp2p#3123 chore(result): multistream negotiation and PeerInfo.init return Result (merged)
ift-ts:p2p:ift:2026q3-logos-delivery-consulting:service-discovery-kad- vacp2p/nim-libp2p#3125 fix(service-disco): drop registrar service tables when their ads leave the cache (merged)
- vacp2p/nim-libp2p#3124 fix(service-disco): bind stored and fetched XPRs to their key (merged)
- vacp2p/nim-libp2p#3126 fix(service-disco): keep the highest seqNo ad per signer (merged)
- vacp2p/nim-libp2p#3109 refactor(service-disco): apply review follow-ups from #3080 (merged)
- vacp2p/nim-libp2p#3134 fix(kad): non-blocking bootstrap (merged)
- vacp2p/nim-libp2p#3135 fix(kad): stop retrying unreachable peers during bootstrap (open)
ift-ts:p2p:ift:2026q3-logos-messaging-nim-ffi-integration:migration-path- logos-co/logos-storage-module#83 feat: build against the nim-ffi generated libstorage bindings (open)
- logos-storage/logos-storage-nim#1519 feat(library): generate the C bindings with nim-ffi (open)
ift-ts:p2p:ift:2026q3-logos-core:maintenance- logos-co/logos-libp2p-module#109 feat: add dialWithAddrs, bump nim-libp2p and the flake inputs (merged)
ift-ts:qa:
ift-ts:qa:logos:2026q3-logos-basecamp:mcp-tests- fix: Optimize A1–A17 UI tests (merged)
- Manually tested Logos Basecamp v0.3.0_rc2 and shared six comments with developers.
ift-ts:qa:logos:2026q3-lez-sequencing:cucumber-tests- test: Sequencer registration - cucumber - priority changed to medium (open)
- test: Chained-caller and second-mover test prerequisites (open)
- test: Cucumber sequencer registration scenarios - part 2 (open)
ift-ts:qa:logos:2026q4-source-code-level-qa:system-prototype- Security and SPEC compliance source code scan for lez-atomic-swaps
- Manual prompting with AI
- Bork prototype - process + structured data input
- Two round scan with Fable 5.1 and GPT-5.6 Sol
- Manual tests for lez-atomic-swaps - in progress
- Security and SPEC compliance source code scan for lez-atomic-swaps
ift-ts:qa:logos:2026q3-lez-fuzz-testing:framework-maintenanceother notes- OOO: 10 CC days.
ift-ts:qa:status:2026q3-status-qa-desktop:e2e-keycard-mock- status-im/status-app#22475 tests(@e2e): unblock keycard with recovery phrase and PUK scenarios (merged)
- status-im/status-app#22431 tests(@e2e): wrong pin blocks keycard (merged)
- status-im/status-app#22425 tests(@e2e): unblock card with PUK (merged)
- status-im/status-app#22418 tests(@e2e): factory reset keycard (merged)
- status-im/status-app#22370 tests(@e2e): sign message with keycard to wallet connect (merged)
- status-im/status-app#22385 chore: update status keycard qt version (open)
- status-im/keycard-qt#12 fix: keep secure channel and pairing in sync with the applet (open)
ift-ts:qa:status:2026q3-status-qa-desktop:maintenance- status-im/status-app#22467 chore(@e2e): fix asset details view test (merged)
- status-im/status-app#22459 chore(@e2e): fix asset view and send ERC20 tests (merged)
- status-im/status-app#22441 chore(@e2e): fix metrics collection (merged)
ift-ts:qa:status:2026q3-status-qa-desktop:windows-performance-tests- status-im/status-app#22463 tests(@e2e): measure send message timing (open)
ift-ts:qa:status:2026q3-status-qa-desktop:release-testing- status-im/status-app#22458 fix(Settings): remove extra gap under the title on Android (merged)
- status-im/status-app#22447 fix(@communities): missing channel name in permission preview (#14882) (merged)
- status-im/status-app#22448 chore: remove version file (merged)
- status-im/status-app#22444 SIGSEGV on Discover Communities when most curated communities are unknown (including featured) (open)
- status-im/status-app#22414 ci: serialise linux and macos jobs and build from system nim (merged)
ift-ts:qa:status:2026q3-status-qa-desktop:new-tests- status-im/status-app#18214 Add coverage for dApps interactions (closed)
- status-im/status-app#21634 E2E: WalletConnect / dApp signature (closed)
ift-ts:sec:
ift:2026q3-ir-vulma:security-incidentsift:2026q3-ir-vulma:vulnerability-management- Triaged the 16 crawl findings #143–#158 (Highs first); continued the backlog (#120–#126, #136–#142) and the LEZ line with joocho
- Kept up Dependabot, code-scanning, and secret-scanning queues
ift:2026q3-tr-continuity-plan:define-and-test-ir-runbooks- Finalized the outstanding runbook definitions with Jason.
- W0001/W0002 runbook updates from first live secure-multisig-signer signing — done
ift:2026q3-tr-wallet-security:audit-treasury-multisig- master-wallet-index reconciliation finished; outstanding signatory removals confirmed
ift:2026q3-tr-continuty-plan:investment-team-recalibration- Backup-signatory selection with Jason and the investment team — done
ift:2026q3-cicd-security-review:code-review-activities- Post-merge reviews done: WalletConnect pairing stack (status-go #7811, status-app #22367), keycard-defect characterization (status-go #7804, #7758–#7761), post-incident CI changes (status-app #22414, #22349; status-go #7815), browser downloads stack #21849–#21853
- Cleared carried PRs — reviewed; all seven still open upstream per 2026-09-21 crawl, no longer tracked weekly
- Reviewed pending PAT requests; iterated on security checklist and Copilot policy
ift:2026q3-threat-intelligence:supply-chain-attack-research- Continued npm / OAuth / CI-tool supply-chain watch; macOS-miner IOCs fed into fleet detection
ift:2026q3-internal-audit:logos-execution-zone-security-reviewift:2026q3-internal-audit:logos-blockchain-security-review- Started reviewing RFPs
ift-ts:tke:
vac:tke:ift:logos-token:value-accrual- Continued the report on the buyback-and-make model.
vac:tke:blockchain:pow:new-rewards- Addressed feedback.
vac:tke:ift:logos-token:token-sales- Addressed feedback on token sales.
- Reviewed and commented on Danny’s token sale research.
vac:tke:keycard:incentives:snt- Reviewed the current SNT incentives proposal and built a dashboard.
vac:tke:ift:ecodev:node-program- Reviewed the node program and addressed feedback.
vac:tke:ift:ecodev:market-validation- Continued helping EcoDev reach out to projects.
- Worked with Rahul on using the previous EcoDev brief as a case study to identify B2B opportunities in gaps left by Canton.
vac:tke:ift:logos-token:culture-econ- Finished the document on mechanisms connecting culture and economics.
vac:tke:lez:sequencer-econ- Implemented fixes and addressed discussions on sequencer economics.
vac:tke:ift:logos-token- Analyzed liquid staking priorities, wrote a report, and discussed the results.
ift-ts:web:
ift-ts:web:logos:2026q3-logos-website:field-station- Completed the Field Station page and applied the final application links, and accessibility fixes: PR, Page (merged)
- Added the Coalition / Community Partners section, application terms, privacy policy, Dhun partnership and scholarship information: PR (merged)
- Fixed the mobile footer overlap affecting the legal links
ift-ts:web:logos:2026q3-logos-website:prifi- Shipped the PriFi landing page, interactive supply-chain section and site-wide entry points: PR, Page (merged)
- Added the PriFi module to the homepage and linked the homepage banner, Research menu and footer
- Added responsive layouts, metadata and page-level header colour handling
- Used the PriFi hero image for Open Graph and Twitter previews: PR (merged)
- Shipped the PriFi landing page, interactive supply-chain section and site-wide entry points: PR, Page (merged)
ift-ts:web:logos:2026q3-logos-website:past-present-future- Added the Life’s Choices and Mike interactive experiences, analytics events, campaign navigation and sitemap route: PR, Page (merged)
- Added a fallback preventing GitHub API rate limits from breaking static exports
- Fixed the production desktop video and improved Mike choice analytics labels: PR, PR (merged)
- Added the Life’s Choices and Mike interactive experiences, analytics events, campaign navigation and sitemap route: PR, Page (merged)
ift-ts:web:logos:2026q3-logos-media-migration- Updated article, podcast, search, feed, SEO, and build resilience for the native
logos.co/mediamigration: PR, Preview (open)- Added breadcrumbs, live discussion refreshes, archive pagination and per-show podcast feeds
- Connected production and CI builds to the existing Strapi CMS
- Requested the Jenkins CMS credentials, legacy URL redirects and eventual
blog.logos.codecommissioning: Issue (open)
- Updated article, podcast, search, feed, SEO, and build resilience for the native
ift-ts:web:status:2026q3-status-website:performance-checkother notes- Opened the request for a responsive Logos Zine page supporting PDF downloads and future issues: Issue (open)
- WIP with Santi and Ned
- Worked on architecture for an automated AI Docs Sync system to update documentation after code changes.
- Opened the request for a responsive Logos Zine page supporting PDF downloads and future issues: Issue (open)
ift-ts:web:ift:2026q3-demos:biweekly-5-ift-townhall- Prepared presentation material, a script, and a demo: Securing our newsletter unsubscribe links with HMAC
- Presented during the Tuesday town hall.
ift-ts:web:ift:2026q3-maintenancelogos.co- Worked on migrating the funnel form API from the retired
civi-crmproject to a newapiproject inlogos-web: - fix(api): make the origin allowlist the only CORS source (open)
- Worked on migrating the funnel form API from the retired
status.app