Skip to main content
ProductsDesktop toolsTASTECADDrawing reviewTASTEFILESFile managementTASTEFTPFile transferTASTESSHRemote workspaceTASTEZIPCompression and extractionDeveloper toolsTASTECODERust integrated development environmentTASTESTUDIOIntegrated development and test environmentTASTEETLData integration (ETL)ServersTASTEREMOTERemote desktop serverTASTEGEOGeospatial serverTASTEMAILMail workspaceGet startedDownloadsDocumentationBuyAll products
Marketplace
News
TechNewsToday's dev newsDeveloper docsProgramming languagesRustTypeScriptJavaScriptPythonGoC#JavaCC++KotlinDartWeb front-end frameworksNext.jsReactVue.js · NuxtSvelteKitAngularServer frameworksSpring BootDjangoFastAPIASP.NET CoreNestJS · ExpressApp & desktop frameworksTauriFlutterReact NativeElectronAlgorithmsAlgorithm basicsCore algorithmsAdvanced algorithmsPractical algorithms
CommunityProjectsDevelopment logsPromptsAI tool issuesShowcaseCommunity guide
Work with usTech transferWebsite buildDesktop app buildRelease and payment pipelineSales partnerContact
ServicesRemote desktopCustom installer packages
TASTEDEV
Products

Desktop tools

TASTECADComplex drawings, opened with easeTASTEFILESJust the files you need, as fast as possibleTASTEFTPThe tidiest path for your filesTASTESSHA stronger link between you and your serversTASTEZIPPack faster, unpack safer

Developer tools

TASTECODEEdit, build, debug and test Rust apps in one windowTASTESTUDIOFrom editing to remote tests and approved AI fixesTASTEETLMove data while you watch the values

Servers

TASTEREMOTEA remote desktop you run on your own serverTASTEGEORebuilding a GeoServer-compatible geospatial server in RustTASTEMAILTake back control of your email

Get started

DownloadsLatest builds of every productDocsHow to use each productBuySubscriptions and perpetual licencesAll productsEvery product at a glance
All products
MarketplaceNews
Tech

News

Today's dev newsOfficial announcements on languages, frameworks, GitHub and AIDeveloper docsGuides to languages, frameworks and algorithms

Programming languages

RustTypeScriptJavaScriptPythonGoC#JavaCC++KotlinDart

Frameworks

Web front-end frameworksNext.jsReactVue.js · NuxtSvelteKitAngular
Server frameworksSpring BootDjangoFastAPIASP.NET CoreNestJS · Express
App & desktop frameworksTauriFlutterReact NativeElectron

Algorithms

Algorithm basicsComplexity analysis · Sorting · Searching · Basic data structures · Trees and heapsCore algorithmsGraph traversal · Shortest paths & minimum spanning trees · Dynamic programming · Greedy algorithms · Divide and conquer · BacktrackingAdvanced algorithmsString algorithms · Math and number theory · Bit manipulation · Segment trees · Union-findPractical algorithmsCoding interview strategy · LRU cache · Rate limiting · Consistent hashing
All development docs
Community
ProjectsDiscover builders and their workDevelopment logsDecisions and lessons learnedPromptsReusable instructionsAI tool issuesProblems and workarounds for Claude, Codex, GeminiShowcaseFinished resultsCommunity guideHow we build in the open
Work with us
Tech transferNative apps in Rust and eguiWebsite build10 languages, accounts, docs and downloadsDesktop app buildRust and egui, no WebViewRelease and payment pipelineSigning, MSI, deb, rpm, AppImage, hashesSales partnerRecommend us and earn 30%ContactBuilds, partnerships and investment
Services
Remote desktopReach your computer from a browserCustom installer packagesOnly the features you need, settings preloaded
Buy
EN
한국어EnglishDeutschEspañolFrançaisItalianoPortuguês (Brasil)日本語简体中文繁體中文
Log in
Log in
TASTEDEV

From small tools to better development.

[email protected]Support TASTEDEV
ProductsProduct lineupBuyDocsDownloadsMarketplaceSupport
CommunityProjectsDevelopment logsPromptsAI tool issuesShowcase
PoliciesPrivacy policyTerms of serviceSubscription termsRefund policyCommunity guidelines
AccountLog inSign up
Visitors
Today
012345678901234567890123456789012345678901234567890123456789
Yesterday
012345678901234567890123456789012345678901234567890123456789
Total views
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
Company
GXSOFT
Representative
CHOI YOUNG GU
Business registration number
853-44-00368
Address
9F V24, 351 Gyeongin-ro, Michuhol-gu, Incheon, Republic of Korea
Phone
+82-10-4404-1523
Email
[email protected]
Privacy officer
CHOI YOUNG GU

© 2026 TASTEDEVProduct information is based on verified development sources.Released · improving

Ads are not shown to subscribers or licence holders. Browse without ads

TASTEREMOTEguide

For users

Getting startedInstall the host appConnect by IDThe remote session screenAccount and my devicesID connects from other accountsHost app settingsTroubleshooting

For operators

Server architectureServer installationFirst setupAdmin pagesServer licenseTerms and consentSecurity and networkUpdates and troubleshooting

TASTEREMOTE guide

Security and network

What the server blocks

The server blocks repeated requests and password guessing by itself. The values below cannot be changed.

ItemLimit
ID connect requests (per IP)10 per minute
ID connect requests (per host ID)20 per minute. ID connects from other accounts are counted separately.
Connection approvals for other accounts5 per minute per account, 3 per minute per account and host
Device registration (per IP)10 per minute
Concurrent connections16 per IP, 1000 for the whole server
Concurrent sessions per host8 (the host's default viewer limit is 4)
Sign-up, login and password change (per IP)10 per minute
Failed loginsA 15-minute lock after 10 failures in 15 minutes from the same email and IP, or 100 failures in 15 minutes for the same email

IPv6 addresses are counted in /64 blocks.

The host also protects itself. If the device password for unattended access is entered wrong 5 times, it locks for 5 minutes up to 1 hour, and ID connects from other accounts are counted separately from the owner.

Cookies and addresses

  • The login cookie is HttpOnly and SameSite=Lax, and is valid for 30 days. The database keeps only the cookie's SHA-256.
  • Passwords are stored with argon2id.
  • Every /api request that changes state must have an Origin exactly equal to RD_WEB_ORIGIN. If a user opens a different address, "The request was refused" appears.
  • Behind a proxy, set TRUST_PROXY to the number of proxies. If wrong, all users appear as the single proxy IP and hit limits together.

TURN

  • TURN credentials are time-limited values valid only for TURN_TTL_SEC (600 seconds by default).
  • coturn is set to relay UDP only, and not to relay to private, loopback, link-local or metadata addresses.
  • Open the relay ports (UDP 49160–49200) in the firewall.

Where the data is

DataLocation
The database signal.db and the server key server.keyPackages: /var/lib/tastedev-remote, Docker: the signal-data volume
Settings filesPackages: /etc/tastedev-remote, Docker: .env
Server connection historyThe database (kept 90 days, metadata only with no content)
Host connection historysessions.jsonl on each host computer

If server.key is lost, every host must be registered again.

Backup

  1. Stop signal.
  2. Bundle the data folder (or volume) and the settings files (.env or /etc/tastedev-remote).
  3. Start signal again.

The backup contains the server's secret key, so keep it somewhere safe. HTTPS certificates can be issued again, so they need no backup.

PreviousTerms and consentNextUpdates and troubleshooting

On this page

  1. What the server blocks
  2. Cookies and addresses
  3. TURN
  4. Where the data is
  5. Backup
Suggest an edit

Ads are not shown to subscribers or licence holders. Browse without ads