Replace invented contact details and endorsements with real ones - #343
Merged
Conversation
The site advertised hello@scrollcraft.app and enterprise@scrollcraft.app. That domain is not ours: it serves an unrelated product, a comic-to-webtoon converter, and it has live Cloudflare mail routing, so account deletion requests, billing questions and enterprise enquiries were being delivered to a stranger. An earlier change made this worse rather than better, moving the addresses off scrollcraft.xyz, which at least did not resolve, onto a domain that silently accepts the mail. Everything user-facing now comes from lib/links.ts, using the real address and the real accounts: - hs1663531@gmail.com replaces both invented addresses, on the legal pages, the pricing page and the contact page. - The canonical fallback URL, the social card, and the README inside every exported ZIP pointed at scrollcraft.app too. All now point at the deployment that actually serves this product. - GitHub, LinkedIn and singhharsh.in are linked from the contact page, the about page and the footer. Removed things the product cannot back up: - Five testimonials on the homepage and three more on /launch, attributed to named people in named countries who do not exist. - A live chat channel with staffed hours that does not exist. - A promise to reply within a few hours, and a Twitter account nobody owns. - A Product Hunt featured badge built from post_id=scrollcraft. That widget takes a numeric id, so the slug returns a generic badge whether or not a listing exists. - /launch, which announced a live Product Hunt campaign and 30% off plans that no longer exist. It was linked from nowhere; it now redirects to /templates so any inbound link still lands somewhere real. The about page listed a two-person team, one of whom was the template library with a job title. It now describes the one person who actually builds this. The phone number from the resume is deliberately not published: a mobile on a public page is scraped within days and is far easier to add later than to withdraw.
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You asked for every detail to be legit. Auditing against your resume turned up something worse than stale copy.
The serious one
The site advertised hello@scrollcraft.app and enterprise@scrollcraft.app.
scrollcraft.appis not yours. It serves an unrelated product — "ScrollCraft — Comic to Webtoon Converter" — and it has live Cloudflare mail routing (route1/route3.mx.cloudflare.net). So account-deletion requests, billing questions and enterprise enquiries were being delivered to a stranger's mailbox.Worse: I made this happen. Earlier in this session I "fixed"
hello@scrollcraft.xyz→.appbecause.appappeared elsewhere in the codebase..xyzdoesn't resolve, so that mail bounced harmlessly..appaccepts it silently. I moved a dead address onto someone else's live one and called it a fix.The same domain was also the canonical URL fallback, the text on the social card, and the URL in the README inside every exported ZIP — so every customer's export pointed at a stranger's product.
Real details, from your resume
All centralised in
lib/links.ts:hs1663531@gmail.com,github.com/singhharsh1708,linkedin.com/in/singhharsh1708,singhharsh.in. Linked from the contact page, about page and footer.Fabricated claims removed
/launch— attributed to named people in named countries ("Isabella R., Italy, E-commerce founder") who do not exist.scrollcraft, which returns a generic badge whether or not a listing exists. If you do have a real listing, restoring it is one line with the numeric id./launch— announced a live Product Hunt campaign and 30% off plans that no longer exist. Linked from nowhere. Now redirects to/templatesso inbound links still land somewhere real.The about page listed a "two-person team", one of whom was the template library given a job title. It now describes the one person who builds this.
Deliberately not published
Your phone number. A mobile on a public page is scraped within days and is far easier to add than to withdraw. Say the word and it goes on the contact card.
Verified
tsc,eslint,next buildclean; suite 497 → 508.contactDetailssuite pins all of it: the real email, no@scrollcraft.appaddress anywhere, no link to that domain, the canonical fallback, every profile URL, and guards against live-chat / SLA / testimonial / Product Hunt claims returning./launchtestimonials only surfaced in a screenshot and a test sweep respectively.