How To Use This FAQ
Use the search box for natural questions, click one of the prompt buttons to autofill a common question, or browse the category accordions below. Search results can jump directly to a question and open it.
Client Overview
What does TruthX do?
TruthX is a quality-first social posting site. It lets users post, reply, repost, and read feeds where AI scoring, source context, and OSINT verification can affect visibility and trust.
What is the short elevator pitch for TruthX?
TruthX is a social feed that rewards careful, sourced, useful writing instead of raw engagement. For current claims, it adds OSINT-style verification and track-record signals.
What is already built?
Core posting, accounts, feeds, profiles, replies, reposts, AI quality scoring, source URL handling, image uploads, OSINT verification records, OSINT track-record metrics, writing guidance, and this wiki/FAQ are built in the current codebase.
What is not finished yet?
The largest unfinished areas are full Stripe checkout/subscriptions/webhooks, complete subscriber access enforcement, confirmed server cron scheduling, broader notification emails, a full trust-score system, and several product-policy decisions around paid writers and moderation.
Is the site ready for a full public launch?
It is closer to a working product prototype or controlled beta than a full launch. The main feature paths exist, but payments, cron confirmation, production monitoring, policy decisions, and signed-in browser testing should be completed before broad public traffic.
How is this different from X, Reddit, or a normal forum?
The product focuses on scoreable writing quality, evidence, source context, and current-claim verification. Popularity signals exist, but the feed is designed to favor quality scores and verification signals over pure engagement.
What should a client demo show first?
A good demo should show the feed, a scored post with the score details panel, the small API metadata dollar sign, an OSINT post with verification details, the writing guide, a repost, and the wiki/FAQ.
Why is the wiki independent in its own folder?
The wiki lives under public/wiki/ as static HTML, CSS, and JavaScript. That makes it easy to delete or replace later without touching the application router, database, or view system.
Accounts And Identity
How do users create an account?
Users register through the public registration route, then sign in with the normal login flow. Password reset and email verification support are present in the auth layer.
Are usernames case sensitive?
The visible username is case-sensitive alphanumeric, such as TomJones33. Profile URL lookup can resolve case-insensitively so users do not have to type the exact capitalization in the address bar.
Are usernames and screen names separate?
No. The project combined those concepts and uses the term username. The visible identity and profile identity are the username.
Does the site support email verification?
Email verification fields and routes exist, and the UI can show verified status. Broader production email verification delivery still needs final SMTP/live-flow confirmation.
What can an admin account do?
Admins can use protected actions such as manual AI rescore and manual OSINT assessment. Admins can also publish OSINT posts.
What is an OSINT publisher account?
An OSINT publisher is a user with permission to mark top-level posts as current OSINT claims. This is controlled by the is_breaking_news_publisher flag or admin status.
What are writer quality tiers?
Writer quality tiers are based on scored posts. New users start at 280 characters. Emerging, Established, and Elite tiers unlock higher character limits and, for higher tiers, essays and paywall eligibility.
Can users delete their accounts?
Self-service account deletion is not a complete documented feature in the current product surface. Post deletion exists for a user's own posts, but account lifecycle policy needs a separate decision.
Posting, Replies, Reposts, And Essays
How does a user create a normal post?
A signed-in user submits the composer. The post service validates text, images, writer privileges, paywall settings, and OSINT eligibility before saving the post and queueing scoring.
What are the post character limits?
New users start at 280 characters. Emerging users can reach 1000, Established users 2500, and Elite users 5000, subject to the configured tier thresholds.
What is essay mode?
Essay mode creates a long-form top-level post. It is available to Established and Elite writers and appears in feeds with a summary and a read link.
How do replies work?
Replies are posts linked to a parent post. Thread pages show the parent chain and replies, and reply quality can be scored like other post types.
What happens when the repost icon is pressed?
Pressing repost records the repost, increments the original post's repost count, and creates a feed-visible repost shell. Pressing it again removes the repost record and soft-deletes that repost shell.
Do reposts get their own score?
Pure reposts are intended to inherit and rank by the original post's score. They should not create a misleading new content-quality score for the person who merely reposted.
Do quote reposts work?
No. Quote reposts are disabled. The button and prompt flow were removed, server-side quote creation is rejected, and quote attachments are not rendered in feeds or threads.
What happens when a post is deleted?
Posts are soft-deleted. In thread context, deleted posts can remain as placeholders so conversations do not collapse or lose reply context.
Can posts include images?
Yes. The media service stores uploads, creates media records, attaches them to posts, and displays image variants in post cards.
What are source URLs in the composer for?
Source URLs give the scoring and OSINT systems external evidence to inspect. For normal scoring, the system fetches and summarizes a capped number of URLs. For OSINT posts, initial source URLs can become manual-source evidence.
Scoring And Ranking
How does the scoring algorithm work?
The primary score uses weighted rubric fields: claim clarity 15%, evidence support 25%, reasoning quality 20%, factual responsibility 15%, discussion value 15%, and tone/conduct 10%. Spam, toxicity, and low confidence can reduce the final number.
What criteria does TruthX use to score posts?
The scoring prompt asks for clarity, evidence, reasoning, factual responsibility, discussion value, tone, spam risk, toxicity risk, and confidence. OSINT posts use a separate publish-time quality rubric.
Which AI models score posts?
The code supports OpenAI, Anthropic, image scorers, and heuristic fallback scoring. When multiple model rows exist, the latest score from each model is averaged for display; public/home ranking then adjusts that score by post age.
What happens if AI scoring fails?
The scoring service has a heuristic fallback. Depending on configuration, regular scoring may require all configured text providers to succeed before saving partial results.
What does the score details panel show?
The visible score panel shows the score, score range when multiple model scores exist, model chips, reasons, and a link to the What We Measure explainer.
What does the small dollar sign show?
The small $ details control is a temporary testing/debug aid. It reveals API metadata such as model, tokens, latency, and estimated cost for scoring and verification calls.
How does scoring affect feed ranking?
Public and home feeds rank by effective score divided by max(days since posted, 1). Reposts use the original post's score for ranking, then apply the repost shell's age.
What is the quality filter?
The quality filter lets viewers choose floors such as Show all, 25+, 50+, 70+, and 85+. The default is currently 50 unless changed by configuration or saved user preference.
How do source links affect scoring?
Source links can improve evidence context when they are fetchable and relevant. The source verifier captures metadata, summaries, and fetch status for the scoring service.
Can a post be rescored?
Admins can trigger manual rescoring from the post card. Normal users do not currently have a public self-service appeal or rescore workflow.
How can users learn to score better?
The How To page gives a brief guide to journalistic writing habits such as sourcing, clarity, proportional claims, and avoiding unsupported certainty.
OSINT And Verification
What is OSINT on TruthX?
OSINT is the fast current-claim workflow. It is for near-current factual claims that can be checked against trusted sources and manual evidence.
Who can post OSINT claims?
Admins and users with the OSINT publisher flag can create OSINT posts. Normal users post through the regular workflow unless granted that permission.
Can older research-style posts go in OSINT?
No. Older research-style items should be posted normally, not in fast OSINT. The service now blocks drafts that look older or non-current from the OSINT path.
When are OSINT claims rechecked?
New OSINT posts enqueue an immediate self-attestation check, then automated corroboration checks at 1 hour, 6 hours, and 24 hours. The code can process due jobs through the OSINT cron worker.
Do OSINT rechecks run automatically?
The application creates persistent database jobs and includes a worker script. A server-level cron schedule still needs to be confirmed on the host for reliable automatic wakeups.
How is the OSINT truth factor calculated?
The truth factor combines a capped self-attestation baseline with corroboration scoring: key claim accuracy 40%, source reputation 30%, corroboration breadth 20%, and verification speed 10%. Dispute signals can cap the score.
What do OSINT statuses mean?
Assessment labels include likely true, developing, uncertain, and disputed. The post-level status is awaiting verification while under 24 hours with score 0, verified when any pathway raises the score above 0, and unverified if it remains 0 after 24 hours.
Can users add manual OSINT sources?
Owners and admins can submit manual verification sources for OSINT posts. Those sources are merged with trusted news search results during assessment and can raise the score later, even after the first-day automated window.
What is the OSINT track record?
The track record summarizes a publisher's resolved OSINT posts, including all-time average, last-50 average, verified count, false-positive/noise rate, and signal quality score.
How is OSINT post quality scored?
OSINT post quality scores discipline 30%, source tier 25%, information density 20%, confidence signaling 15%, and coherence 10%, then applies a redundancy modifier.
What is the OSINT redundancy modifier?
Significant new intelligence keeps a 1.0 modifier. Partial new detail gets 0.8, essentially redundant information gets 0.6, and pure repost/no-new-intelligence gets 0.4.
Paywall And Payments
Can users monetize posts right now?
Only the eligibility logic is present. A complete paid-content product with checkout, subscriber access, webhook handling, and payout policy is not finished.
Who can paywall a post?
Paywall eligibility is limited to Elite writers, top-level posts, and posts at least 1000 characters long. Replies cannot be paywalled.
Are posts under 1000 characters always public?
Yes. The current policy keeps posts under the configured paywall minimum public.
Is Stripe payment fully implemented?
No. Stripe configuration fields exist, but full checkout, saved payment method UI, subscription access, webhooks, refunds, and production payment flows are future work.
What is the low-score payment method gate?
Users below the minimum free writer-quality threshold after the configured number of scored posts can be required to add a payment method before posting more AI-scored content. The logic exists, but the payment UI to satisfy it is not finished.
Does paywalling bypass scoring?
No. Paywall eligibility and content quality scoring are separate. Paid posts should still be subject to quality and policy scoring.
What platform percentage does TruthX take?
The code does not finalize platform percentage, payout handling, or refund policy. Those are product and business decisions still to be made.
Does subscription activity show on profiles?
That behavior is not finalized. Public/private subscription activity, profile display, and privacy rules need a product decision.
Admin, Moderation, And Trust
How can admins rescore a post?
Admin users see a rescore action on post cards. The route is protected by auth, admin middleware, and CSRF middleware.
How can admins manually verify an OSINT post?
Admin users can trigger a manual OSINT assessment. The verification service then records a new assessment and updates the post's verification status fields.
Is the trust score document fully implemented?
No. Adjacent systems exist, such as content quality scores, spam/toxicity flags, email verification, writer limits, and AI cost caps, but the full trust-score event/risk engine is not built.
Does the site detect spam or toxicity?
Spam and toxicity are part of the scoring model and can reduce scores or verdicts. This is not the same as a full moderation queue or enforcement system.
Is there a moderation dashboard?
A full moderation dashboard is not currently built. Admin scoring actions exist, but broader moderation workflow needs separate implementation.
How is manual source abuse prevented?
There is partial protection through duplicate-link checks, fetch checks, source reputation, and self-owned-source warnings. CAPTCHA, throttling, and penalty systems are not complete.
How are AI costs controlled?
The app has an AI cost guard with a monthly spend cap and daily per-user scored-post limit. The visible $ metadata also helps inspect token and cost behavior during testing.
Can users appeal a low score?
There is no public appeal workflow yet. Admins can rescore, but user-facing appeals or moderation review are future work.
Technical Operations
What technology stack does TruthX use?
The app is a PHP/MySQL site with a custom router/controller/service structure, server-rendered views, static assets in public/, and CLI cron workers.
Where do routes live?
Routes are defined in routes/web.php. Public routes, auth routes, post actions, follows, admin actions, and profile routes are all registered there.
Where is business logic implemented?
Controllers live in app/Controllers, service logic lives in app/Services, models and database query helpers live in app/Models, and templates live in views.
How are database migrations handled?
SQL migration files live in database/migrations and are applied with database/migrate.php. The server database is tested with temporary PHP scripts when local DB access is unavailable.
How is the site deployed?
Runtime files are uploaded over SFTP using the project's local SFTP configuration. Credentials should remain private and should not be copied into docs or committed.
Where are API keys configured?
OpenAI, Anthropic, Stripe, SMTP, app URL, release stamp, and feature flags are read through configuration and environment values. Secrets should not be committed.
How does email work?
The mailer supports SMTP-backed sending. Password reset uses email paths, and low-score warning emails are wired in the writer quality service when notifications are enabled.
Where is the version stamp shown?
The main app layout reads release version and timestamp from app configuration and shows them in the footer.
How can the wiki be removed later?
Delete public/wiki/ and remove the Wiki/FAQs links from the main navigation templates. No database or router cleanup is required for the static wiki itself.
Testing, Deployment Checks, And Known Gaps
How is the code tested?
Local checks include PHP syntax checks and PHPUnit. Remote behavior is smoke-tested with HTTP requests and, when database behavior matters, temporary PHP test scripts on the server.
Why is database testing done on the remote server?
There is not a local database available for this project. Database-dependent tests need to run against the remote server, and temporary test files should be deleted after success.
Which pages should be smoke-tested after deployment?
Smoke tests should check the home page, OSINT page, What We Measure, How To Write Well, the technical wiki, the FAQ page, static assets, and any changed JavaScript.
What needs signed-in manual testing?
Signed-in tests should cover posting, replying, reposting and unreposting, profile display, OSINT source submission, admin rescore, and any paywall eligibility UI.
What happened to Bubble U?
Bubble U game/nonprofit integration is intentionally not part of this current pass. The site now includes a How To writing section instead of a Bubble U route.
How should this FAQ be updated?
Update public/wiki/faq.html for question content, public/wiki/index.html for technical reference sections, and public/wiki/wiki.js only if search behavior changes.
What happens if JavaScript is disabled on the wiki?
The static wiki and FAQ content still render and the accordion details elements still work in modern browsers. Search, autocomplete, and prompt buttons require JavaScript.
What should be verified before a broader launch?
Confirm server cron, SMTP, payment flows, production API keys, cost caps, database migrations, signed-in UI paths, admin paths, backup strategy, monitoring, and the final moderation/payment policies.